準(zhǔn)備工作
請(qǐng)注意開(kāi)始前工作確定各個(gè)軟件版本情況,本文章要想閱讀比較舒服請(qǐng)還得有些Go開(kāi)發(fā)經(jīng)驗(yàn)
- CentOS 7.9
- KubeKey v1.21
- KubeSphere v3.2.1
Docker 和 Kubernetes 根據(jù)支持進(jìn)行選擇:
獲取支持可以通過(guò)如下命令:
./kk version --show-supported-k8s
v1.15.12
v1.16.8
v1.16.10
v1.16.12
v1.16.13
v1.17.0
v1.17.4
v1.17.5
v1.17.6
v1.17.7
v1.17.8
v1.17.9
v1.18.3
v1.18.5
v1.18.6
v1.18.8
v1.19.0
v1.19.8
v1.19.9
v1.20.4
v1.20.6
v1.20.10
v1.21.4
v1.21.5 (我測(cè)試選擇的版本)
v1.22.1
開(kāi)始前必須準(zhǔn)備
請(qǐng)認(rèn)真閱讀對(duì)應(yīng)官方的幾個(gè)文檔說(shuō)明
Documentation (kubesphere.com.cn)
根據(jù)自己的安裝選擇進(jìn)行閱讀,注意準(zhǔn)備干凈的機(jī)器環(huán)境
在開(kāi)始進(jìn)行安裝前可以不安裝Docker kk 都會(huì)幫解決
依賴說(shuō)明,在剛安裝好的 CentOS機(jī)器上會(huì)提示:socat付呕、conntrack 必須條件要安裝
yum -y install socat conntrack-tools
關(guān)閉防火墻
systemctl stop firewalld
systemctl disable firewalld
單機(jī)安裝
https://kubesphere.com.cn/docs/quick-start/all-in-one-on-linux/
單機(jī)安裝一般沒(méi)有什么坑稚字,一般比較順暢。
./kk create cluster --with-kubesphere v3.2.1
多機(jī)安裝
多節(jié)點(diǎn)安裝 (kubesphere.com.cn)
./kk create cluster -f sample.yaml --with-kubesphere v3.2.1
遇到的坑
不部署 KubeSphere 胡桨,只是部署 Kubernetes
1.根據(jù)文檔進(jìn)行如下命令進(jìn)行部署扣孟,多次發(fā)現(xiàn) KubeSphere 一直沒(méi)有部署成功烫堤。Docker ps 中進(jìn)程也少
./kk create cluster -f sample.yaml
部署中提示到 Congratulations! Installation is successful. 進(jìn)行技術(shù)
經(jīng)過(guò)源碼查證后發(fā)下如下:
- 查看 Congratulations! Installation is successful. 出現(xiàn)位置
mgr.Logger.Infoln("Congratulations! Installation is successful.")
網(wǎng)上看發(fā)現(xiàn)
if mgr.KsEnable && !noNetworkPlugin
``
執(zhí)行 else 才會(huì)進(jìn)行打印
2.確認(rèn)網(wǎng)絡(luò)是否啟動(dòng) noNetworkPlugin
```golang
noNetworkPlugin := mgr.Cluster.Network.Plugin == "" || mgr.Cluster.Network.Plugin == "none"
查看代碼發(fā)現(xiàn)和網(wǎng)絡(luò)插件有關(guān),已經(jīng)配置啦
network:
plugin: calico
kubePodsCIDR: 10.233.64.0/18
kubeServiceCIDR: 10.233.0.0/18
3.推出只有 mgr.KsEnable 凤价,然后鸽斟,本地進(jìn)行代碼調(diào)試發(fā)現(xiàn)。執(zhí)行結(jié)果確實(shí)是 false 是不是有些坑利诺,因此開(kāi)始尋找 KsEnable 如何賦值
// pkg\util\executor\executor.go
mgr.KsEnable = executor.Cluster.KubeSphere.Enabled
// pkg\cluster\install\install.go
// Execute executes the tasks based on the parameters in the Manager.
func Execute(executor *executor.Executor) error {
mgr, err := executor.CreateManager()
if err != nil {
return err
}
return ExecTasks(mgr)
}
// 找到出現(xiàn)位置啦 ksEnabled
// CreateCluster is used to create cluster based on the given parameters or configuration file.
func CreateCluster(clusterCfgFile, k8sVersion, ksVersion string, logger *log.Logger, ksEnabled, verbose, skipCheck, skipPullImages, inCluster, deployLocalStorage bool, downloadCmd, containerManager string) error
// 找到啦富蓄,結(jié)果知道如果執(zhí)行啦
// cmd
clusterCmd.Flags().BoolVarP(&opt.Kubesphere, "with-kubesphere", "", false, "Deploy a specific version of kubesphere (default v3.2.0)")
最終執(zhí)行命令行為
./kk create cluster -f sample.yaml --with-kubesphere v3.2.1
成功后容器運(yùn)行情況
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
baf675187bf3 kubesphere/ks-controller-manager "controller-manager …" 22 minutes ago Up 22 minutes k8s_ks-controller-manager_ks-controller-manager-ffcb75d47-94m4m_kubesphere-system_02958091-2450-409d-9886-499c4e0cac51_0
67d7d965f9ae kubesphere/ks-apiserver "ks-apiserver --logt…" 22 minutes ago Up 22 minutes k8s_ks-apiserver_ks-apiserver-585c646769-t2svn_kubesphere-system_09069fe7-7935-4db9-ab91-64458a8ca171_0
761eaf9a302e kubesphere/pause:3.4.1 "/pause" 23 minutes ago Up 23 minutes k8s_POD_ks-controller-manager-ffcb75d47-94m4m_kubesphere-system_02958091-2450-409d-9886-499c4e0cac51_0
c6b32a2a73a4 kubesphere/pause:3.4.1 "/pause" 23 minutes ago Up 23 minutes k8s_POD_ks-apiserver-585c646769-t2svn_kubesphere-system_09069fe7-7935-4db9-ab91-64458a8ca171_0
fdd577140de5 ad393d6a4d1b "/usr/local/bin/kube…" 24 minutes ago Up 24 minutes k8s_kube-rbac-proxy_node-exporter-87cjh_kubesphere-monitoring-system_b696d02a-67c2-4f66-ae23-611584effb9c_0
30d0cde82925 e5a616e4b9cf "/bin/node_exporter …" 24 minutes ago Up 24 minutes k8s_node-exporter_node-exporter-87cjh_kubesphere-monitoring-system_b696d02a-67c2-4f66-ae23-611584effb9c_0
14ebf2a30d75 kubesphere/pause:3.4.1 "/pause" 24 minutes ago Up 24 minutes k8s_POD_node-exporter-87cjh_kubesphere-monitoring-system_b696d02a-67c2-4f66-ae23-611584effb9c_0
d8b95cd6fd08 kubesphere/ks-console "docker-entrypoint.s…" 25 minutes ago Up 25 minutes k8s_ks-console_ks-console-65f4d44d88-zjwff_kubesphere-system_480ca96d-a59d-4e8e-9b09-a8102055fe35_0
b12287629525 kubesphere/pause:3.4.1 "/pause" 25 minutes ago Up 25 minutes k8s_POD_ks-console-65f4d44d88-zjwff_kubesphere-system_480ca96d-a59d-4e8e-9b09-a8102055fe35_0
eeeb128cb4cc 296a6d5035e2 "/coredns -conf /etc…" 28 minutes ago Up 28 minutes k8s_coredns_coredns-b5648d655-r6jrp_kube-system_ea0a3f0d-00a9-41eb-a7ad-1ea17f7b06fd_0
a1b34a125478 296a6d5035e2 "/coredns -conf /etc…" 28 minutes ago Up 28 minutes k8s_coredns_coredns-b5648d655-x4vkb_kube-system_d58c2fd9-ea8c-4bcd-8e2c-a653c30a8085_0
bb1786f3a87b 76ba70f4748f "/usr/bin/kube-contr…" 28 minutes ago Up 28 minutes k8s_calico-kube-controllers_calico-kube-controllers-846b5f484d-8wkh2_kube-system_1bdc6739-1f3d-4c67-8250-e623368699eb_0
4b944ea67453 kubesphere/pause:3.4.1 "/pause" 28 minutes ago Up 28 minutes k8s_POD_coredns-b5648d655-r6jrp_kube-system_ea0a3f0d-00a9-41eb-a7ad-1ea17f7b06fd_0
10db2405e267 kubesphere/pause:3.4.1 "/pause" 28 minutes ago Up 28 minutes k8s_POD_coredns-b5648d655-x4vkb_kube-system_d58c2fd9-ea8c-4bcd-8e2c-a653c30a8085_0
7fac1afa011f kubesphere/pause:3.4.1 "/pause" 28 minutes ago Up 28 minutes k8s_POD_calico-kube-controllers-846b5f484d-8wkh2_kube-system_1bdc6739-1f3d-4c67-8250-e623368699eb_0
48672cdbfb5c 5ef66b403f4f "start_runit" 28 minutes ago Up 28 minutes k8s_calico-node_calico-node-hdpzh_kube-system_051df14a-34ae-499f-bbdd-07366619696d_0
1eb462971ffc kubesphere/pause:3.4.1 "/pause" 28 minutes ago Up 28 minutes k8s_POD_calico-node-hdpzh_kube-system_051df14a-34ae-499f-bbdd-07366619696d_0
ab2ce9c4b7ed 5340ba194ec9 "/node-cache -locali…" 29 minutes ago Up 29 minutes k8s_node-cache_nodelocaldns-rg59j_kube-system_d086aca8-96e8-499a-9909-0ccf45d5226e_0
13313efe560b kubesphere/pause:3.4.1 "/pause" 29 minutes ago Up 29 minutes k8s_POD_nodelocaldns-rg59j_kube-system_d086aca8-96e8-499a-9909-0ccf45d5226e_0
9a572541e8f5 e08abd2be730 "/usr/local/bin/kube…" 29 minutes ago Up 29 minutes k8s_kube-proxy_kube-proxy-mpnfm_kube-system_23816492-bc8f-4088-84c1-5d9efe5539b3_0
2e64c44a287d kubesphere/pause:3.4.1 "/pause" 29 minutes ago Up 29 minutes k8s_POD_kube-proxy-mpnfm_kube-system_23816492-bc8f-4088-84c1-5d9efe5539b3_0
21f49f777c1e 184ef4d127b4 "kube-controller-man…" 29 minutes ago Up 29 minutes k8s_kube-controller-manager_kube-controller-manager-k8sm2_kube-system_d271ef4c070d96ebc6df16d3216d96d1_0
0369423e8d55 8e60ea3644d6 "kube-scheduler --au…" 29 minutes ago Up 29 minutes k8s_kube-scheduler_kube-scheduler-k8sm2_kube-system_20b205cc89e8b92cd9c547d63399b9d1_0
eb0989c8c259 7b2ac941d4c3 "kube-apiserver --ad…" 29 minutes ago Up 29 minutes k8s_kube-apiserver_kube-apiserver-k8sm2_kube-system_9a017f31440765b21daa62c26353fd94_0
af2dbfea5a02 kubesphere/pause:3.4.1 "/pause" 30 minutes ago Up 29 minutes k8s_POD_kube-scheduler-k8sm2_kube-system_20b205cc89e8b92cd9c547d63399b9d1_0
84dbee62b4d7 kubesphere/pause:3.4.1 "/pause" 30 minutes ago Up 29 minutes k8s_POD_kube-controller-manager-k8sm2_kube-system_d271ef4c070d96ebc6df16d3216d96d1_0
33c4423aafad kubesphere/pause:3.4.1 "/pause" 30 minutes ago Up 29 minutes k8s_POD_kube-apiserver-k8sm2_kube-system_9a017f31440765b21daa62c26353fd94_0
相關(guān)地址
備注
如果文章中的地址失效歡迎隨時(shí)反饋
`