环境

  • 硬件架构**:鲲鹏920(ARM64)
  • 操作系统:openEuler 24.03 SP2
  • 节点信息
    • 192.168.16.50(master节点)
    • 192.168.16.51(worker节点)
    • 192.168.16.52(worker节点)
  • 安装方式:使用 KubeKey 同时部署 Kubernetes 和 KubeSphere

配置环境

# 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld

# 关闭 Selinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
setenforce 0

# 关闭 swap(提升性能)
swapoff -a
sed -i '/swap/s/^/#/' /etc/fstab

# 安装依赖组件
sudo dnf install -y \
  socat conntrack-tools ebtables ipset ipvsadm \
  curl openssl openssl-devel curl socat conntrack openssl ipset ipvsadm containerd etcd tar ipvsadm

# 加载内核模块
sudo modprobe ip_vs
sudo modprobe ip_vs_rr
sudo modprobe ip_vs_wrr
sudo modprobe ip_vs_sh
sudo modprobe nf_conntrack

# 设置开机自动加载
cat > /etc/modules-load.d/ipvs.conf << EOF
ip_vs
ip_vs_rr
ip_vs_wrr
ip_vs_sh
nf_conntrack
EOF

# 设置时区
timedatectl set-timezone Asia/Shanghai

# 启用 NTP 同步
systemctl enable chronyd
systemctl start chronyd

# 设置主机名(分别在对应节点执行)
hostnamectl set-hostname master-50
hostnamectl set-hostname worker-51
hostnamectl set-hostname worker-52

# 修改 hosts 文件(所有节点)
cat >> /etc/hosts << EOF
192.168.16.50 master-50
192.168.16.51 worker-51
192.168.16.52 worker-52
EOF

下载 KubeKey

master-54 节点上执行:

# 下载 KubeKey v3.1.10(适配 ARM64 架构)
export KKZONE=cn
curl -sfL https://get-kk.kubesphere.io | sh -

# 赋予执行权限
chmod +x kk

查看支持的k8s版本

./kk version --show-supported-k8s

建议选择稳定点的,如:v1.30.13

创建集群配置文件

# 生成配置文件模板
./kk create config --with-kubernetes v1.30.13 --with-kubesphere v3.4.1

# 编辑配置文件
vi config-sample.yaml

配置文件内容(请根据实际情况修改 IP 和密码):


apiVersion: kubekey.kubesphere.io/v1alpha2
kind: Cluster
metadata:
  name: sample
spec:
  hosts:
  - { name: master-50, address: 192.168.16.50, internalAddress: 192.168.16.50, user: root, password: "123456" , arch: arm64}
  - { name: worker-51, address: 192.168.16.51, internalAddress: 192.168.16.51, user: root, password: "123456", arch: arm64 }
  - { name: worker-52, address: 192.168.16.52, internalAddress: 192.168.16.52, user: root, password: "123456" , arch: arm64}
  roleGroups:
    etcd:
    - master-50
    control-plane:
    - master-50
    worker:
    - master-50
    - worker-51
    - worker-52
  controlPlaneEndpoint:
    ## Internal loadbalancer for apiservers
    # internalLoadbalancer: haproxy

    domain: lb.kubesphere.local
    address: ""
    port: 6443
  

# 创建集群
./kk create cluster -f config-sample.yaml

# 等待安装完成后,查看节点状态
kubectl get nodes

# 查看所有 Pod 状态
kubectl get pods -A

  • 地址**:http://192.168.16.50:30880
  • 账号admin
  • 密码:`P@88w0rd

有问题时:

清理安装残留并重装

在 master-50 节点上

cd /root
./kk delete cluster -f config-sample.yaml

cd /root
./kk create cluster -f config-sample.yaml --debug

新添加节点:./kk add nodes -f config-sample.yaml

Logo

鲲鹏昇腾开发者社区是面向全社会开放的“联接全球计算开发者,聚合华为+生态”的社区,内容涵盖鲲鹏、昇腾资源,帮助开发者快速获取所需的知识、经验、软件、工具、算力,支撑开发者易学、好用、成功,成为核心开发者。

更多推荐