kubernetes集群安装指南:客户端安装及各组件认证文件创建
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,大多情况,证书用于服务安全访问(即https访问)所需要,在kubernetes集群中,如果关闭了匿名访问,开启了集群HTTPS访问以及TLS双向认证;如:worker节点组件HTTPS访问apise
千家信息网最后更新 2026年11月03日kubernetes集群安装指南:客户端安装及各组件认证文件创建
大多情况,证书用于服务安全访问(即https访问)所需要,在kubernetes集群中,如果关闭了匿名访问,开启了集群HTTPS访问以及TLS双向认证;如:worker节点组件HTTPS访问apiserver服务时,Apiserver还需要验证客户端是否合法,此时就需要为worker节点上的组件生成kubeconfig认证文件用于连接apiserver。
1. 基本设置
1.1 变量设置
PACKAGE=kubernetes-server-v1.12.0-linux-amd64.tar.gzK8S_DOWNLOAD_URL=https://github.com/devops-apps/download/raw/master/kubernetes/$PACKAGEK8S_CONF_PATH=/etc/k8s/kubernetesK8S_KUBECONFIG_PATH=/etc/k8s/kubeconfigKUBE_APISERVER=https://dev-kube-api.mo9.comBOOTSTRAP_TOKEN=$(head -c 16 /dev/urandom | od -An -t x | tr -d ' ')1.2 kubectl、kubens工具集安装
sudo wget $K8S_DOWNLOAD_URL -P /root/softwarecd $SOFTWARE tar -xzfkubernetes-server-v1.12.0-linux-amd64.tar.gz -C ./cp -fp kubernetes/server/bin/{kubectl,kubens} /usr/local/sbin1.3 创建认证文件存放目录
if [ ! -d "$K8S_CONF_PATH" ]; then mkdir -p $K8S_CONF_PATHfiif [ ! -d "$K8S_KUBECONFIG_PATH" ]; then mkdir -p $K8S_KUBECONFIG_PATHfi2. 创建 TLS Bootstrapping Token
cat > ${K8S_CONF_PATH}/token.csv <- bootstrapping token文件主要用于为apiserver开启tocken认证而创建,如果没有开启apiserver token认证可以不用创建此文件;
3 kubeconfig文件创建
3.1 创建kube-controller-manager kubeconfig文件
kubectl config set-cluster kubernetes \ --certificate-authority=${CA_DIR}/ca.pem \ --embed-certs=true \ --server=${KUBE_APISERVER} \ --kubeconfig=${K8S_KUBECONFIG_PATH}/kube-controller-manager.kubeconfigkubectl config set-credentials system:kube-controller-manager \ --client-certificate=${CA_DIR}/kube-controller-manager.pem \ --client-key=${CA_DIR}/kube-controller-manager-key.pem \ --embed-certs=true \ --kubeconfig=${K8S_KUBECONFIG_PATH}/kube-controller-manager.kubeconfigkubectl config set-context system:kube-controller-manager \ --cluster=kubernetes \ --user=system:kube-controller-manager \ --kubeconfig=${K8S_KUBECONFIG_PATH}/kube-controller-manager.kubeconfigkubectl config use-context system:kube-controller-manager \ --kubeconfig=${K8S_KUBECONFIG_PATH}/kube-controller-manager.kubeconfig3.2 创建kube-shceduler kubeconfig文件
kubectl config set-cluster kubernetes \ --certificate-authority=${CA_DIR}/ca.pem \ --embed-certs=true \ --server=${KUBE_APISERVER} \ --kubeconfig=${K8S_KUBECONFIG_PATH}/kube-scheduler.kubeconfigkubectl config set-credentials system:kube-scheduler \ --client-certificate=${CA_DIR}/kube-scheduler.pem \ --client-key=${CA_DIR}/kube-scheduler-key.pem \ --embed-certs=true \ --kubeconfig=${K8S_KUBECONFIG_PATH}/kube-scheduler.kubeconfigkubectl config set-context system:kube-scheduler \ --cluster=kubernetes \ --user=system:kube-scheduler \ --kubeconfig=${K8S_KUBECONFIG_PATH}/kube-scheduler.kubeconfigkubectl config use-context system:kube-scheduler \ --kubeconfig=${K8S_KUBECONFIG_PATH}/kube-scheduler.kubeconfig3.3 创建kubelet bootstrapping kubeconfig文件
kubectl config set-cluster kubernetes \ --certificate-authority=${CA_DIR}/ca.pem \ --embed-certs=true \ --server=${KUBE_APISERVER} \ --kubeconfig=${K8S_KUBECONFIG_PATH}/bootstrap.kubeconfigkubectl config set-credentials kubelet-bootstrap \ --token=${BOOTSTRAP_TOKEN} \ --kubeconfig=${K8S_KUBECONFIG_PATH}/bootstrap.kubeconfigkubectl config set-context default \ --cluster=kubernetes \ --user=kubelet-bootstrap \ --kubeconfig=${K8S_KUBECONFIG_PATH}/bootstrap.kubeconfigkubectl config use-context default \ --kubeconfig=${K8S_KUBECONFIG_PATH}/bootstrap.kubeconfig- bootstrapping文件主要用于apiserver给kubelet证书做自动轮转,使用该文件,apiserver会自动给kubelet颁发服务端证书以及证书密钥,从而不必为kubelet证书
3.4 创建kube-proxy kubeconfig文件
kubectl config set-cluster kubernetes \ --certificate-authority=${CA_DIR}/ca.pem \ --embed-certs=true \ --server=${KUBE_APISERVER} \ --kubeconfig=${K8S_KUBECONFIG_PATH}/kube-proxy.kubeconfigkubectl config set-credentials kube-proxy \ --client-certificate=${CA_DIR}/kube-proxy.pem \ --client-key=${CA_DIR}/kube-proxy-key.pem \ --embed-certs=true \ --kubeconfig=${K8S_KUBECONFIG_PATH}/kube-proxy.kubeconfigkubectl config set-context default \ --cluster=kubernetes \ --user=kube-proxy \ --kubeconfig=${K8S_KUBECONFIG_PATH}/kube-proxy.kubeconfigkubectl config use-context default \ --kubeconfig=${K8S_KUBECONFIG_PATH}/kube-proxy.kubeconfig3.5 创建kubectl kubeconfig文件
kubectl config set-cluster kubernetes \ --certificate-authority=${CA_DIR}/ca.pem \ --embed-certs=true \ --server=${KUBE_APISERVER} \ --kubeconfig=${K8S_KUBECONFIG_PATH}/kubectl.kubeconfigkubectl config set-credentials admin \ --client-certificate=${CA_DIR}/admin.pem \ --client-key=${CA_DIR}/admin-key.pem \ --embed-certs=true \ --kubeconfig=${K8S_KUBECONFIG_PATH}/kubectl.kubeconfigkubectl config set-context kubernetes \ --cluster=kubernetes \ --user=admin \ --kubeconfig=${K8S_KUBECONFIG_PATH}/kubectl.kubeconfigkubectl config use-context kubernetes \ --kubeconfig=${K8S_KUBECONFIG_PATH}/kubectl.kubeconfig- --certificate-authority:验证 kube-apiserver 证书的根证书;
- --client-certificate、--client-key:刚生成的 admin 证书和私钥,连接 kube-apiserver 时使用;
- --embed-certs=true:将 ca.pem 和 admin.pem 证书内容嵌入到生成的 kubectl.kubeconfig 文件中(不加时,写入的是证书文件路径);
备注:kubeconfig文件是用于安全连接apiserver服务的认证文件。
4 同步token文件及kubeconfig文件到相应的节点
master节点:
cd $K8S_KUBECONFIG_PATHansible master_k8s_vgs -m copy -a \"src=kube-controller-manager.kubeconfig dest=$K8S_KUBECONFIG_PATH/ " -bansible master_k8s_vgs -m copy -a \"src=kube-scheduler.kubeconfig dest=$K8S_KUBECONFIG_PATH/ " -b- worker节点
cd $K8S_KUBECONFIG_PATHansible worker_k8s_vgs -m copy -a \"src=bootstrap.kubeconfig dest=$K8S_KUBECONFIG_PATH/ " -bansible worker_k8s_vgs -m copy -a \"src=kube-proxy.kubeconfig dest=$K8S_KUBECONFIG_PATH/ " -b - kubeconfig文件主要用于各组件在通过https访问apiserver时所需要的认证的文件,该文件包括对应组件的服务端证书、证书私钥、ca根证书以及apiserver的访问地址
创建完kubernetes集群组件相关认证文件后,接下来正式部署kubernetes集群相关组件etcd集群,请参考:kubernetes集群安装指南:etcd集群部署
文件
证书
认证
集群
组件
节点
服务
生成
安全
验证
客户
客户端
指南
合法
接下来
不用
内容
双向
变量
地址
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
科技互联网
哈尔滨大商圈互联网科技有限公司
朗新科技与工业互联网
互联网金融 金融科技
平安科技 互联网
为想互联网科技
唐信互联网科技 大连
互联网科技公司介绍
互联网科技创新企业排名
北京华百购互联网科技有限公司
互联网为啥属于高科技
互联网科技与大数据专业
恒生互联网科技指数跳水
翼展科技 首家互联网医院
明优互联网科技有限公司
区块链结合互联网科技
山东有哪些互联网科技公司
互联网时代高科技布局
深圳互联网科技园地址
华人运通互联网科技公司
上海卓越科技互联网
中国互联网科技发展
碳银互联网科技
互联网高科技股票
深圳市运趣互联网科技有限公司
互联网5g黑科技有哪些
互联网科技和信息
广西互联网科技孵化中心
湖北辰鑫科技互联网
高科技和互联网的现代国家