ubantu24使用kubekey v4.0.5 安装 k8s v1.34.9 + kubesphere v4.2.3
集群规划(3 节点),使用kubekey v4.0.5部署k8s。
master节点,主机名:k8s-master-01,ip:172.29.128.1
工作节点1:主机名:k8s-worker-01,ip:172.29.132.68
工作节点2:主机名:k8s-worker-02,ip:172.29.132.69
| 机器名 | 内网 ip |
| k8s-master-01 | 172.29.128.1 |
| k8s-worker-01 | 172.29.132.68 |
| k8s-worker-02 | 172.29.132.69 |
一、所有节点前置初始化(3 台机器全部执行)
1. 关闭防火墙、swap、配置主机名、hosts
# 1. 设置主机名(分别对应三台机器执行) # master节点执行 hostnamectl set-hostname k8s-master-01 # worker01执行 hostnamectl set-hostname k8s-worker-01 # worker02执行 hostnamectl set-hostname k8s-worker-02 # 2. 写入hosts(三台机器统一执行) cat >> /etc/hosts << EOF 172.29.128.1 k8s-master-01 172.29.132.68 k8s-worker-01 172.29.132.69 k8s-worker-02 EOF # 3. 永久关闭swap swapoff -a sed -i '/swap/s/^/#/' /etc/fstab # 4. 关闭ufw防火墙 systemctl stop ufw systemctl disable ufw # 5. 内核模块加载、sysctl容器网络配置 modprobe overlay modprobe br_netfilter cat >> /etc/sysctl.conf << EOF net.bridge.bridge-nf-call-iptables = 1 net.bridge.bridge-nf-call-ip6tables = 1 net.ipv4.ip_forward = 1 EOF sysctl -p # 6. 安装基础依赖
apt install -y curl wget openssl openssh-server ca-certificates sshpass tar unzip ipset ipvsadm socat conntrack
2. 配置免密 ssh(仅 master 节点操作,打通所有节点)
# master节点生成密钥,一路回车 ssh-keygen # 分发密钥到三台机器 ssh-copy-id root@172.29.128.1 ssh-copy-id root@172.29.132.68 ssh-copy-id root@172.29.132.69 # 验证免密连通 ssh root@172.29.128.1 hostname ssh root@172.29.132.68 hostname ssh root@172.29.132.69 hostname
3. 时区统一(所有节点)
timedatectl set-timezone Asia/Shanghai
二、Master 节点安装 KubeKey v4.0.5
1. 下载 kk 二进制
# 国内加速 export KKZONE=cn curl -sfL https://get-kk.kubesphere.io | VERSION=v4.0.5 sh - # 赋予权限 chmod +x kk mv kk /usr/local/bin/ kk version
2. 生成k8s v1.34.9集群配置文件(不包含kubesphere的配置 )
kk create config --with-kubernetes v1.32.6 --output k8s-v1.32.6.yaml
注意:kubekey v4.x不能一条命令生成k8s + kubesphere配置的文件了,没有 --with-kubesphere 参数。
3. 如果需要同步安装kubesphere,在 k8s-v1.34.9.yaml文件的spec节点内追加kubesphere配置(可选,可以后面安装kubesphere),
spec: addons: ks: version: v4.2.3 config: apiVersion: installer.kubesphere.io/v1alpha1 kind: ClusterConfiguration metadata: name: ks-installer namespace: kubesphere-system spec: persistence: storageClass: "" common: core: console: enableMultiLogin: true port: 30880 type: NodePort devops: enabled: true logging: enabled: true monitoring: enabled: true alerting: enabled: true auditing: enabled: false servicemesh: enabled: false
4. 清加master节点与工作节点配置清单文件
kk create inventory --output inventory.yaml
编辑 vim inventory.yaml, 添加master节点与工作节点配置:
apiVersion: kubekey.kubesphere.io/v1 kind: Inventory metadata: name: default spec: hosts: # your can set all nodes here. or set nodes on special groups. k8s-master-01: connector: type: ssh host: 172.29.128.1 port: 22 user: root password: "你的root密码" internal_ipv4: 172.29.128.1 k8s-worker-01: connector: type: ssh host: 172.29.132.68 port: 22 user: root password: "你的root密码" internal_ipv4: 172.29.132.68 k8s-worker-02: connector: type: ssh host: 172.29.132.69 port: 22 user: root password: "你的root密码" internal_ipv4: 172.29.132.69 groups: # all kubernetes nodes. k8s_cluster: groups: - kube_control_plane - kube_worker # control_plane nodes kube_control_plane: hosts: - k8s-master-01 # worker nodes kube_worker: hosts: - k8s-worker-01 - k8s-worker-02 # etcd nodes when etcd_deployment_type is external etcd: hosts: - k8s-master-01 # image_registry: # hosts: # - localhost # nfs nodes for registry storage. and kubernetes nfs storage # nfs: # hosts: # - localhost
5.单独安装k8s,kubesphere需要之后单独安装。
kk create cluster k8s-v1.32.6.yaml inventory.yaml
6.单独安装kubesphere
kk addons install ks --version v4.2.3
安装的时候遇到下载etcd v3.6.5下载失败的情况,解决方案,在本地手动下载etcd v3.6.5
https://github.com/etcd-io/etcd/releases/download/v3.6.5/etcd-v3.6.5-linux-amd64.tar.gz

浙公网安备 33010602011771号