1 部署kubekey
下载 kk rpm 安装包
https://github.com/kubesphere/kubekey/releases
[root@master ~]# rpm -ivh kubekey-v2.1.1-linux-64bit.rpm
Preparing... ################################# [100%]
Updating / installing...
1:kubekey-0:2.1.1-1 ################################# [100%]
[root@master ~]# kk version
version.BuildInfo{Version:"2.1.1", GitCommit:"b19724c7", GitTreeState:"", GoVersion:"go1.17.10"}
[root@master ~]#
声明环境变量
export KKZONE=cn
2 创建集群配置文件
[root@master ~]# kk create config
[root@master ~]# ls -l
total 9769020
-rw-------. 1 root root 1405 Jul 8 2021 anaconda-ks.cfg
-rw-r--r--. 1 root root 1036 Jun 6 10:59 config-sample.yaml
-rw-r--r--. 1 root root 17716475 Jun 6 10:50 kubekey-v2.1.1-linux-64bit.rpm
-rw-r--r--. 1 root root 9985745698 Dec 17 15:46 kubesphere-all-v3.1.0-offline-linux-amd64.tar.gz
[root@master ~]# cat config-sample.yaml
apiVersion: kubekey.kubesphere.io/v1alpha2
kind: Cluster
metadata:
name: sample
spec:
hosts:
- {name: node1, address: 172.16.0.2, internalAddress: 172.16.0.2, user: ubuntu, password: "Qcloud@123"}
- {name: node2, address: 172.16.0.3, internalAddress: 172.16.0.3, user: ubuntu, password: "Qcloud@123"}
roleGroups:
etcd:
- node1
control-plane:
- node1
worker:
- node1
- node2
controlPlaneEndpoint:
## Internal loadbalancer for apiservers
# internalLoadbalancer: haproxy
domain: lb.kubesphere.local
address: ""
port: 6443
kubernetes:
version: v1.21.5
clusterName: cluster.local
autoRenewCerts: true
etcd:
type: kubekey
network:
plugin: calico
kubePodsCIDR: 10.233.64.0/18
kubeServiceCIDR: 10.233.0.0/18
## multus support. https://github.com/k8snetworkplumbingwg/multus-cni
multusCNI:
enabled: false
registry:
privateRegistry: ""
namespaceOverride: ""
registryMirrors: []
insecureRegistries: []
addons: []
[root@master ~]#
集群配置文件
apiVersion: kubekey.kubesphere.io/v1alpha2
kind: Cluster
metadata:
name: riyimei
spec:
hosts:
- {name: master, address: 192.168.31.130, internalAddress: 192.168.31.130, user:root, password: "!Q2w3e4r"}
- {name: node1, address: 192.168.31.131, internalAddress: 192.168.31.131, user:root, password: "!Q2w3e4r"}
- {name: node2, address: 192.168.31.132, internalAddress: 192.168.31.132, user: root, password: "!Q2w3e4r"}
roleGroups:
etcd:
- master
control-plane:
- master
worker:
- node1
- node2
controlPlaneEndpoint:
## Internal loadbalancer for apiservers
# internalLoadbalancer: haproxy
domain: lb.kubesphere.local
address: ""
port: 6443
kubernetes:
version: v1.21.5
imageRepo: kubesphere
masqueradeAll: false
maxPods: 180
nodeCidrMaskSize: 24
proxyMode: ipvs
clusterName: cluster.local
autoRenewCerts: true
etcd:
type: kubekey
network:
plugin: calico
kubePodsCIDR: 10.233.64.0/18
kubeServiceCIDR: 10.233.0.0/18
## multus support. https://github.com/k8snetworkplumbingwg/multus-cni
multusCNI:
enabled: false
registry:
privateRegistry: ""
namespaceOverride: ""
registryMirrors: []
insecureRegistries: []
addons: []