安装说明
测试环境
该文档测试了[CentOS7.9,Rocky8.x,Rocky9.x]均可安装
集群信息
| IP |
hostname |
节点类型 |
| 10.0.3.0 |
master1 |
master |
| 10.0.3.1 |
master2 |
master |
| 10.0.3.2 |
master2 |
master |
| 10.0.3.3 |
node1 |
node |
| 10.0.3.4 |
node2 |
node |
| 10.0.3.5 |
node3 |
node |
| 10.0.3.6 |
nfs-server |
file-server |
参考文档
kubekey: https://github.com/kubesphere/kubekey
安装
前置环境
yum install -y tar socat conntrack ebtables ipset ipvsadm
dnf install -y tar socat conntrack ebtables ipset ipvsadm
自定义存储插件(可选)
NFS
安装NFS服务
参考[NFS安装(CentOS,Rocky)]
离线搭建(推荐)
https://github.com/kubesphere/helm-charts
vi nfs-client-provisioner/values.yaml
image:
repository: registry.cn-beijing.aliyuncs.com/kubesphereio/nfs-subdir-external-provisioner
tag: v4.0.2
pullPolicy: IfNotPresent
nfs:
server: "10.0.3.6"
path: "/data1/nfs/data"
mountOptions:
storageClass:
defaultClass: true
addons:
- name: nfs-client
namespace: kube-system
sources:
chart:
name: nfs-client-provisioner
path: /data0
在线搭建
默认配置即可
下载KubeKey
export KKZONE=cn
curl -sfL https://get-kk.kubesphere.io | sh -
curl -sfL https://get-kk.kubesphere.io | VERSION=v3.1.11 sh -
https://github.com/kubesphere/kubekey/releases
chmod +x kk
创建配置文件
./kk version --show-supported-k8s
./kk create config --with-kubernetes v1.33.4
修改配置文件
kk_v3.1.11 + k8s_v1.33.4
apiVersion: kubekey.kubesphere.io/v1alpha2
kind: Cluster
metadata:
name: sample
spec:
hosts:
- {name: master1, address: 10.0.3.0, internalAddress: 10.0.3.0, user: root, password: "root"}
- {name: master2, address: 10.0.3.1, internalAddress: 10.0.3.1, user: root, password: "root"}
- {name: master3, address: 10.0.3.2, internalAddress: 10.0.3.2, user: root, password: "root"}
- {name: node1, address: 10.0.3.3, internalAddress: 10.0.3.3, user: root, password: "root"}
- {name: node2, address: 10.0.3.4, internalAddress: 10.0.3.4, user: root, password: "root"}
- {name: node3, address: 10.0.3.5, internalAddress: 10.0.3.5, user: root, password: "root"}
roleGroups:
etcd:
- master1
- master2
- master3
control-plane:
- master1
- master2
- master3
worker:
- node1
- node2
- node3
controlPlaneEndpoint:
internalLoadbalancer: haproxy
domain: lb.kubesphere.local
address: ""
port: 6443
kubernetes:
version: v1.33.4
clusterName: cluster.local
autoRenewCerts: true
containerManager: containerd
etcd:
type: kubekey
network:
plugin: calico
kubePodsCIDR: 10.233.64.0/18
kubeServiceCIDR: 10.233.0.0/18
multusCNI:
enabled: false
registry:
privateRegistry: "registry.cn-beijing.aliyuncs.com"
namespaceOverride: "kubesphereio"
registryMirrors: []
insecureRegistries: []
addons:
- name: nfs-client
namespace: kube-system
sources:
chart:
name: nfs-client-provisioner
path: /data0
执行安装
./kk create cluster -f config-sample.yaml
Pipeline[CreateclusterPipeline] execute successfully
watch -n 1 kubectl get pod -A