Skip to content

集中管理集群

概述

  部署 Kubernetes 之后,后续其余各个服务器节点的 CPU 、内存资源等基本就交给 Kubernetes 进行集中管理了,后续集群管理员只需要操作主节点,即可将应用轻松部署到集群中。

  但是在实际生产环境的管理过程中,集群由于是离线管理的,因此部署时,需要将 Docker 镜像、Helm 包复制到集群并上传到 Docker Registry 和 Helm 私库,再操作 Kubernetes 部署到集群中。由于 Docker Registry 和 Helm 私库都部署在 svc.cluster.k8s 节点中,因此可以让 svc.cluster.k8s 作为整个集群的管理节点,这样每次运维时,就可以只需要登录一个服务器节点就可以完成所有操作了。

操作过程

  根据我另一篇文档[链接],让 svc.cluster.k8s 可以远程控制 Kubernetes 集群。

bash
# 在 svc.cluster.k8s 节点中,创建以下目录
$ mkdir /etc/kubernetes

# 将 master1.cluster.k8s 节点的配置文件下拉
$ scp root@master1.cluster.k8s:/etc/kubernetes/admin.conf /etc/kubernetes/admin.conf

# 本地安装 kubectl 客户端
$ yum install kubectl

# 编辑 ~/.bash_profile,添加环境变量,该文件最后添加下面两行配置
$ vi ~/.bash_profile

export KUBECONFIG=/etc/kubernetes/admin.conf
export KUBE_EDITOR=nano

# 保存后让变量生效
$ source ~/.bash_profile

# 获取 Kubernetes 集群信息
$ kubectl cluster-info
Kubernetes control plane is running at https://master.cluster.k8s:16443
CoreDNS is running at https://master.cluster.k8s:16443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy

To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.

  同时,在 svc.cluster.k8s 节点上,安装 helm 客户端,就可以在本地通过 helm 管理 Kubernetes 集群了。

bash
# 将 helm 下载并安装到指定目录
$ curl -o /usr/local/bin/helm http://mirror.cluster.k8s/repository/raw/helm-linux-amd64-v3.12.2

# 添加可执行权限
$ chmod +x /usr/local/bin/helm

# 查看是否正常
$ helm version
version.BuildInfo{Version:"v3.12.2", GitCommit:"1e210a2c8cc5117d1055bfaa5d40f51bbc2e345e", GitTreeState:"clean", GoVersion:"go1.20.5"}

# 查看是否能连接到集群
$ helm list -n kube-system
NAME               	NAMESPACE  	REVISION	UPDATED                                	STATUS  	CHART                    	APP VERSION
kube-dashboard     	kube-system	1       	2023-07-27 04:49:18.64526989 +0800 CST 	deployed	kube-dashboard-2.7.0     	2.7.0      
kube-flannel       	kube-system	1       	2023-07-27 04:20:53.353204291 +0800 CST	deployed	kube-flannel-v0.22.0     	v0.22.0    
kube-metrics-server	kube-system	1       	2023-07-27 04:47:23.939085564 +0800 CST	deployed	kube-metrics-server-0.6.3	0.6.3      
nfs-permanent      	kube-system	1       	2023-07-27 04:39:13.846105718 +0800 CST	deployed	nfs-permanent-4.0.18     	4.0.2      
nfs-temporary      	kube-system	1       	2023-07-27 04:39:36.230024145 +0800 CST	deployed	nfs-temporary-4.0.18     	4.0.2      

# 添加 helm 仓库
$ helm repo add mirror http://mirror.cluster.k8s/repository/helm/
"mirror" has been added to your repositories

Released under the MIT license.