当前位置: 首页 > news >正文

K8s手工创建kubeconfig

我们通过 kubectl 命令行连接 k8s apiserver 时需要依赖 kubeconfig 文件。
kubeconfig 文件通常包含了 context(上下文)列表,每个 context 又会引用 clusteruser,最后通过 current-context 指定当前 kubeconfig 使用哪个 context。

kubeconfig 文件的默认存放位置为 ~/.kube/config,文件结构示例如下:

apiVersion: v1
kind: Config
clusters:
- name: "k8s-180"cluster:# 忽略证书insecure-skip-tls-verify: trueserver: https://192.168.1.180:6443#certificate-authority-data: "LS0tLS1CRUdJ......ZJQ0FURS0tLS"users:
- name: "k8s-admin"user:client-certificate-data: "LS0tLS1CRUdJTi......VEUtLS0tLQo="client-key-data: "LS0tLS1CRUdJTi......qTVAKdWRiQXZmM1JiajRuSmxZ\b3V3NEJ5YkppNVFLRj......IUXpSb0pvaTNFMC9oc2x\QUxnPT0KLS0tLS1......SVElGSUNBVEUtLS0tLQo="#token: "kubeconfig-user-rmz6q.c-97hgz:29z89ns8whhgq8......gl57cfvwlv"contexts:
- name: "k8s-180"context:user: "k8s-admin"cluster: "k8s-180"current-context: "k8s-180"

1、其中 client-certificate-data 的内容为文件 kube-node.pemnode-node1.pem 的内容,获取文件内容的方法可以使用命令 base64 /etc/kubernetes/ssl/kube-node.pemcat /etc/kubernetes/ssl/node-node1.pem | base64 -w 0,内容可以单行或者使用\进行换行。

2、其中 client-key-data 的内容为文件 kube-node-key.pemnode-node1-key.pem 的内容,获取文件内容的方法可以使用命令 base64 /etc/kubernetes/ssl/kube-node-key.pemcat /etc/kubernetes/ssl/node-node1-key.pem | base64 -w 0,内容可以单行或者使用\进行换行。

3、另外,如果 user 中使用 token,则可以不配置 client-certificate-dataclient-key-data

4、以上配置文件中的证书通过字符串的方式配置在 config 文件中,如果不想写具体的字符串,本地有证书文件,则可以通过 client-certificateclient-key 来设置证书路径的方式使用,如下某集群示例所示:

apiVersion: v1
kind: Config
clusters:
- cluster:api-version: v1certificate-authority: /etc/kubernetes/ssl/kube-ca.pemserver: "https://127.0.0.1:6443"name: "local"
contexts:
- context:cluster: "local"user: "kube-controller-manager-local"name: "local"
current-context: "local"
users:
- name: "kube-controller-manager-local"user:client-certificate: /etc/kubernetes/ssl/kube-controller-manager.pemclient-key: /etc/kubernetes/ssl/kube-controller-manager-key.pem

该示例文件为 RKE 创建的 K8s 集群的 config 配置文件 /etc/kubernetes/ssl/kubecfg-kube-controller-manager.yaml 的内容

最后实操 kubectl 命令验证配置:

[root@k8s-node1 ~]# kubectl config current-context
k8s-180
[root@k8s-node1 ~]# kubectl get nodes
NAME            STATUS   ROLES                      AGE    VERSION
k8s-node1   Ready    controlplane,etcd,worker   448d   v1.21.5
k8s-node2   Ready    controlplane,etcd,worker   448d   v1.21.5
k8s-node3   Ready    controlplane,etcd,worker   448d   v1.21.5
k8s-node4   Ready    worker                     413d   v1.21.5
k8s-node5   Ready    worker                     413d   v1.21.5
k8s-node6   Ready    worker                     413d   v1.21.5

(END)

http://www.lryc.cn/news/6983.html

相关文章:

  • 【SQL开发实战技巧】系列(十七):时间类型操作(下):确定两个日期之间的工作天数、计算—年中周内各日期出现次数、确定当前记录和下一条记录之间相差的天数
  • 代码随想录算法训练营第二十八天 | 491.递增子序列,46.全排列,47.全排列 II
  • 使用 Three.js 后处理的粗略铅笔画效果
  • 推荐一些不常见的搜索引擎
  • RabbitMQ工作模式
  • 机器学习在预测脊髓型颈椎病中的应用:一项28名参与者的事后初步研究
  • 【智能计算数学】微积分
  • win10+RTX4070ti+libtorch部署
  • 【Python百日进阶-Web开发-Vue3】Day518 - Vue+ts后台项目5:用户列表
  • Linux内核转储---kdump原理梳理
  • 【C++】从0到1入门C++编程学习笔记 - 实战篇:演讲比赛流程管理系统
  • 04 OpenCV位平面分解
  • Onvif协议如何判断摄像机支持 —— 筑梦之路
  • 情人节new一个对象给你
  • linux篇【15】:应用层-网络https协议
  • 索引-性能分析-explain
  • mbedtls加密组件使用示例
  • 如何量测太阳光模拟器的光谱致合度?
  • 网络安全领域中CISP证书八大类都有什么
  • 17- 梯度提升回归树GBRT (集成算法) (算法)
  • 05 OpenCV色彩空间处理
  • 【CS224图机器学习】task1 图机器学习导论
  • Powershell Install SQL Server 2022
  • Jetson NX2 装机过程
  • 初始C++(四):内联函数
  • 九、初识卷积
  • 【Linux】【编译】编译调试过程中如何打印出实际的编译命令
  • linux安装jdk
  • 迅为iTOP-3A5000龙芯开发板安装UOS操作系统
  • Firefox 110, Chrome 110, Chromium 110 官网离线下载 (macOS, Linux, Windows)