准备工作

请注意开始前工作确定各个软件版本情况,本文章要想阅读比较舒服请还得有些Go开发经验

  • CentOS 7.9
  • KubeKey v1.21
  • KubeSphere v3.2.1

Docker 和 Kubernetes 根据支持进行选择: 获取支持可以通过如下命令:

./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 (我测试选择的版本)
v1.22.1

开始前必须准备

请认真阅读对应官方的几个文档说明 Documentation (kubesphere.com.cn) 根据自己的安装选择进行阅读,注意准备干净的机器环境

在开始进行安装前可以不安装Docker kk 都会帮解决

依赖说明,在刚安装好的 CentOS机器上会提示:socat、conntrack 必须条件要安装

 yum -y install socat conntrack-tools

关闭防火墙

systemctl stop firewalld systemctl disable firewalld

单机安装

https://kubesphere.com.cn/docs/quick-start/all-in-one-on-linux/

单机安装一般没有什么坑,一般比较顺畅。

./kk create cluster  --with-kubesphere v3.2.1

多机安装

多节点安装 (kubesphere.com.cn)

./kk create cluster -f sample.yaml --with-kubesphere v3.2.1

遇到的坑

不部署 KubeSphere ,只是部署 Kubernetes

1.根据文档进行如下命令进行部署,多次发现 KubeSphere 一直没有部署成功。Docker ps 中进程也少

./kk create cluster -f sample.yaml 

部署中提示到 Congratulations! Installation is successful. 进行技术

经过源码查证后发下如下: 1. 查看 Congratulations! Installation is successful. 出现位置

mgr.Logger.Infoln("Congratulations! Installation is successful.")

网上看发现

if mgr.KsEnable && !noNetworkPlugin  
``
执行 else 才会进行打印

2.确认网络是否启动 noNetworkPlugin  

golang noNetworkPlugin := mgr.Cluster.Network.Plugin == “” || mgr.Cluster.Network.Plugin == “none”

查看代码发现和网络插件有关,已经配置啦

yaml network: plugin: calico kubePodsCIDR: 10.233.64.0/18 kubeServiceCIDR: 10.233.0.0/18


3.推出只有 mgr.KsEnable ,然后,本地进行代码调试发现。执行结果确实是 false 是不是有些坑,因此开始寻找 KsEnable 如何赋值

golang // 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)

} // 找到出现位置啦 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

// 找到啦,结果知道如果执行啦 // cmd clusterCmd.Flags().BoolVarP(&opt.Kubesphere, “with-kubesphere”, “”, false, “Deploy a specific version of kubesphere (default v3.2.0)”)


最终执行命令行为

shell ./kk create cluster -f sample.yaml –with-kubesphere v3.2.1


成功后容器运行情况,案例:

shell

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 ```

相关地址

备注

如果文章中的地址失效欢迎随时反馈