
手动创建二进制部署k8s集群的kubeconfig配置
下载需积分: 5 | 10KB |
更新于2024-08-03
| 36 浏览量 | 举报
收藏
"这篇内容主要讲述了如何在二进制部署的Kubernetes(k8s)集群环境下,手动创建kubeconfig配置文件。kubeconfig文件对于Kubernetes集群的管理和操作至关重要,它包含了连接到集群所需的认证信息、集群地址以及上下文设置等。在kubeadmin部署的集群中,kubeconfig文件会自动生成并默认存放在用户的~/.kube/config目录下。但对于二进制部署的集群,我们需要手动创建这个文件。"
在二进制部署的Kubernetes集群中,我们通常需要自己生成kubeconfig文件来连接到集群。这个过程涉及以下几个关键步骤:
1. 寻找相关文件:
- 首先,我们需要找到Kubernetes集群的CA(Certificate Authority)证书文件,它验证了API服务器的身份。在示例中,CA证书文件位于`/opt/kubernetes/ssl/ca.pem`。
- 同时,我们还需要管理员用户的证书文件(如`admin.pem`)和私钥文件(如`admin-key.pem`)。在这个例子中,它们被存储在`/root/ansible-install-k8s/roles/master/files/k8s_cert/`目录下。
2. 编写kubeconfig文件:
- 创建一个脚本来生成kubeconfig文件,例如`/root/config.conf`。在脚本中,我们需要设置环境变量`KUBE_APISERVER`为API服务器的地址(例如`https://192.16.1.10:6443`)。
- 使用`kubectl config set-cluster`命令设置集群参数。这里,我们指定`--certificate-authority`为CA证书文件的路径,并设置`--embed-certs=true`以便将证书内容嵌入到kubeconfig文件中。同时,`--server`参数指定了API服务器的地址,最后`--kubeconfig`指定生成的文件路径。
3. 设置客户端认证:
- 接下来,我们需要设置客户端的认证信息。这通常涉及到`kubectl config set-credentials`命令,将管理员用户的证书和私钥关联到kubeconfig文件中。例如:
```
kubectl config set-credentials admin --client-certificate=/root/ansible-install-k8s/roles/master/files/k8s_cert/admin.pem --client-key=/root/ansible-install-k8s/roles/master/files/k8s_cert/admin-key.pem --kubeconfig=/root/config.conf
```
4. 设置上下文:
- 使用`kubectl config set-context`命令创建一个新的上下文,关联之前设置的集群和用户。例如:
```
kubectl config set-context default --cluster=kubernetes --user=admin --kubeconfig=/root/config.conf
```
5. 选择默认上下文:
- 最后,我们可以使用`kubectl config use-context`命令设置默认的上下文:
```
kubectl config use-context default --kubeconfig=/root/config.conf
```
完成以上步骤后,我们就成功地创建了一个kubeconfig文件,可以通过`kubectl`命令行工具连接到Kubernetes集群进行管理和操作。这个手动创建的过程确保了我们能够安全地访问集群,特别是在没有自动配置文件生成的情况下。在实际运维过程中,根据具体的集群部署情况,可能需要调整这些步骤中的文件路径和IP地址。
相关推荐





















运维实战课程
- 粉丝: 1723
最新资源
- 网站专属leet编码转换器的实现
- 布里斯班实时公交跟踪系统:Translink GTFS-实时API应用
- RIPE Commons JavaScript:共享JS基础结构项目概览
- 解决Kattas挑战的Code Wars代码集合
- Leaflet.js工作坊:JavaScript地图制作教程
- almavelez.github.io: 探索JavaScript的无限可能
- 研究生实习计划:完成数据科学与业务分析任务清单
- 自动化网络设备配置获取:get-config脚本使用说明
- Git与Github课程资料库:Ola-Mundo的实践教程
- MERN全栈护照认证模板开发指南
- 扩展lostruct包功能:优化数组数据处理流程
- GitHub上的正义联盟超级英雄项目解析
- GPU稀疏邻域方法基准:Semiring基元实现和工件
- Dockerfile与Docker-Compose示例:轻松启动C*, Stargate, Zeppelin等服务
- Maxportfolio HTML模板介绍与应用
- 后端开发测试指南:环境搭建与数据库重置
- 使用Minishift在OpenShift的存储库示例
- GatsbyJS打造的开发者博客平台
- 区块链后端服务:Provenance Explorer前端API开发
- 基于项目的GitHub Pull Request学习活动
- node.js实现的动态聊天室简易服务器教程
- HTML基础教程:掌握yiqunl2-1863642.github.io的要点
- Vue组件开发与打包:TestStoryBook2第二次实践
- shaonianruntu:图像样式转换与自我监督学习研究