ubuntu 24.04.4 + kubekey v4.0.5在线安装k8s v1.34 + kubesphere v4.2.1

集群规划(3 节点),使用kubekey v4.0.5部署k8s。

master节点,主机名:k8s-master-01,ip:172.29.128.1

工作节点01:主机名:k8s-worker-01,ip:172.29.132.68 

工作节点02:主机名: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

 

二,参考kubekey官方安装文档 

在线安装 Kubernetes 和 KubeSphere:https://docs.kubesphere.com.cn/v4.2.1/03-installation-and-upgrade/02-install-kubesphere/01-online-install-kubernetes-and-kubesphere/

离线安装 Kubernetes 和 KubeSphere:https://docs.kubesphere.com.cn/v4.2.1/03-installation-and-upgrade/02-install-kubesphere/02-offline-install-kubernetes-and-kubesphere/

在线升级到4.2.1:https://docs.kubesphere.com.cn/v4.2.1/03-installation-and-upgrade/03-upgrade-kubesphere/03-online-upgrade-kubephere-from-4.1.x/

离线升级到4.2.1:https://docs.kubesphere.com.cn/v4.2.1/03-installation-and-upgrade/03-upgrade-kubesphere/04-offline-upgrade-kubephere-from-4.1.x/

 

三,安装kubekey 

执行以下命令下载最新版kubekey:

export KKZONE=cn
curl -sfL https://get-kk.kubesphere.io | SKIP_WEB_INSTALLER=true SKIP_PACKAGE=true sh -

查看kubekey版本:

./kk version

 

四,安装k8s v1.34.3

1. 创建节点配置文件(在master节点执行)

执行以下命令创建节点配置文件 inventory.yaml

./kk create inventory -o .

inventory.yaml 主要设置集群中各节点的连接信息。命令执行完毕后,将生成节点配置文件,示例如下:

apiVersion: kubekey.kubesphere.io/v1
kind: Inventory
metadata:
  name: default
spec:
  hosts: # your can set all nodes here. or set nodes on special groups.
    # localhost:
    #   connector:
    #     password: 123456
    # node1:
    #   connector:
    #     type: ssh
    #     host: node1
    #     port: 22
    #     user: root
    #     password: 123456
    #   internal_ipv4: 1.1.1.1
  groups:
    # all kubernetes nodes.
    k8s_cluster:
      groups:
        - kube_control_plane
        - kube_worker
    # control_plane nodes
    kube_control_plane:
      hosts:
        - localhost
    # worker nodes
    kube_worker:
      hosts:
        - localhost
    # etcd nodes when etcd_deployment_type is external
    etcd:
      hosts:
        - localhost
#    image_registry:
#      hosts:
#        - localhost
    # nfs nodes for registry storage. and kubernetes nfs storage
#    nfs:
#      hosts:
#        - localhost

 

完整inventory.yaml配置:

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

 

2 创建安装配置文件

执行以下命令创建安装配置文件 config.yaml

./kk create config --with-kubernetes v1.34.3 -o .

命令执行完毕后将生成安装配置文件 config-v1.34.3.yaml

 

3. 安装 Kubernetes

执行以下命令安装 Kubernetes:

./kk create cluster -i inventory.yaml -c config-v1.34.3.yaml

 

4,查看集群状态

kubectl get nodes
kubectl get pod -A
kubectl get svc

 

五,安装kubesphere

执行以下命令安装 KubeSphere:

chart=oci://hub.kubesphere.com.cn/kse/ks-core
version=1.2.4
helm upgrade --install -n kubesphere-system --create-namespace ks-core $chart \
  --debug --wait --version $version --reset-values --take-ownership \
  --set global.imageRegistry=hub.kubesphere.com.cn,extension.imageRegistry=hub.kubesphere.com.cn \
  --set kseExtensionRepository.image.tag=v11.2.0

 

注意: Helm 版本需要 >= 3.17.0。

如果显示如下信息,则表示 KubeSphere 安装成功:

NOTES:
Thank you for choosing KubeSphere Helm Chart.

Please be patient and wait for several seconds for the KubeSphere deployment to complete.

1. Wait for Deployment Completion

    Confirm that all KubeSphere components are running by executing the following command:

    kubectl get pods -n kubesphere-system

2. Access the KubeSphere Console

    Once the deployment is complete, you can access the KubeSphere console using the following URL:

    http://192.168.6.10:30880

3. Login to KubeSphere Console

    Use the following credentials to log in:

    Account: admin
    Password: P@88w0rd

NOTE: It is highly recommended to change the default password immediately after the first login.

 

 

posted @ 2026-07-29 10:18  民工黑猫  阅读(18)  评论(0)    收藏  举报