kubeconfig 文件解释

总结:kubectl之kubeconfig配置 一、介绍 我们一般使用kubectl去操作K8S集群,如部署Pod,获取node信息,获取pod信息,获取svc信息,删除某个svc等。 那我们就需要有个目标,具体是操作哪个K8S集群,操作权限等。 kubectl默认会从$HOME/.kube目录下查找文件名为config的文件,也能通过设置环境变量KUBECONFIG或者通过设置去指定其它 kubeconfig 文件。kubeconfig就是为访问集群所作的配置。 比如我们131服务器的配置文件:执行命令:cat ~/.kube/con... 阅读详情

在这里插入图片描述

文件模版

kubeconfig文件是使用kubectl连接k8s集群的配置文件,经典的kubeconfig文件如下

apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: {BASE64 STRING}
    server: https://172.16.16.15:6443
  name: kubernetes
contexts:
- context:
    cluster: kubernetes
    namespace: ingress-nginx
    user: kubernetes-admin
  name: kubernetes-admin@kubernetes
current-context: kubernetes-admin@kubernetes
kind: Config
preferences: {}
users:
- name: kubernetes-admin
  user:
    client-certificate-data: {BASE64 STRING}
    client-key-data: {BASE64 STRING}

文件的主要部分为:clusters、contexts、users 字段

加密

先了解一下非对称加密的基础知识

  • 这里客户端表示为 kubeclt、client-go sdk 等,服务端表示为 apiserver
  • 证书可以理解为签发方信息、拥有者信息、公钥以及签名(由签发方私钥签名,因此签发者背书)的集合
  • 消息发送方使用证书里面的公钥对消息加密,消息接受方使用自己的私钥解密
    单向验证过程如下,双向验证即是指客户端和服务端同时作为消息发送方和接收方,利用对方的证书加密消息

在这里插入图片描述

字段解析

以 kubectl 作为客户端时为例

Cluster字段

name :集群名称
certificate-authority-data: 表示服务端的 CA 证书,base64 编码,用于验证服务端证书 apiserver.crt 的正确性:

  • 当 kubectl 发送消息给 apiserver 时,apiserver 先返回 master 节点上的 /etc/kubernetes/pki/apiserver.crt 服务端证书给 kubectl
  • kubectl 校验 apiserver.crt 的正确性,会获取 apiserver.crt 中的 Issuer CA,发现 CA 的 CN 是 Kubernetes
  • certificate-authority-data 证书的 CN 也是 Kubernetes,利用 certificate-authority-data 对 apiserver.crt 验证通过
  • kubectl 通过 apiserver.crt 对发送给 apiserver 的消息加密发送,apiserver 收到消息通过 /etc/kubernetes/pki/apiserver.key 解密消息

certificate-authority-data 字段表示的证书其实和 /etc/kubernetes/pki/ca.crt 内容都是一样的,这个证书是整个集群的 rootCA,其他证书都是由其签发,也就用它来验证有效性

当 kubectl 开启 --insecure-skip-tls-verify=true 时,表示不校验服务端证书,所以这个时候 certificate-authority-data 即使证书是错误的,也可以和集群通信

User 字段

name :用户名称

client-certificate-data: 表示客户端证书,base64 编码,会发送给 apiserver,用于加密 apiserver 发送给 kubectl 的消息

client-key-data :表示客户端私钥,用于解密 apiserver 通过 client-certificate-data 加密过的内容

整个加解密过程和上述服务端验证过程类似,各证书作用总结如下:
在这里插入图片描述

Context 字段

cluster 和 user 可以配置多个,context 用于组合 cluster 和 user,并通过 current-context 指定当前要使用的 context

原文参考

kubeconfig配置文件结构 kubeconfig文件是 Kubernetes 的配置文件,kubectl使用它来连接和与 Kubernetes 集群交互。它通常位于路径下,包含多个上下文、集群、用户的配置信息,用于定义kubectl如何与不同的集群进行通信。kubeconfig。 阅读详情

相关推荐

k8s学习:kubeconfig文件详解

1.什么是kubeconfig文件 用于配置集群访问的文件称为kubeconfig文件,这是引用配置文件的常用方法,但并不是说有一个名为kubeconfig的文件。 使用kubeconfig文件来组织有关集群、用户、命名空间和身份认证机制的信息。kubectl命令行根据使用kubeconfig文件来查找选择集群所需的信息,并与集群的API服务进行通信。 默认情况下,kubectl在$HOME/.kube目录下查找名为config的文件...

天启的博客 6744

k8s学习: kubeconfig文件详解

kubeconfig的一个示例如下:该示例为2个集群 apiVersion 和 kind 标识客户端解析器的版本和模式,不应手动编辑。preferences 指定当前可选(和当前未使用)的 kubectl 首选项cluster中包含k8s集群的端点数据,包括集群的证书颁发机构以及完整的URL。可以使用Kubectl config set-cluster添加或修改cluster条目。 可以使用 kubectl config set-cluster 添加或修改 cluster 条目,多个集群的话直接在后

Jerry00713的博客 1万+

【Kubernetes】k8s多集群切换【含上下文作用详解】【含6443端口不可达处理方法】

以上是字节二面的一些问题,面完之后其实挺后悔的,没有提前把各个知识点都复习到位。现在重新好好复习手上的。

2401_83703951的博客 1110

Kubernetes kubectl config 对集群做配置

在开启了 TLS 的集群中,每当与集群交互的时候少不了的是身份认证,使用 kubeconfig(即证书) 和 token 两种认证方式是最简单也最通用的认证方式。 以kubectl为例介绍kubeconfig的配置。kubectl只是个go编写的可执行程序,只要为kubectl配置合适的kubeconfig,就可以在集群中的任意节点使用。kubectl默认会从$HOME/.kube目录下查找文件名为config的文件,也可以通过设置环境变量KUBECONFIG或者通过设置--kubeconfig...

小楼一夜听春雨,深巷明朝卖杏花 1430

使用 kubeconfig 文件进行集群访问编程

使用 kubeconfig 文件进行集群访问编程Kubernetes 是一个开源的容器编排平台,它允许用户轻松管理和编排容器化应用程序。在 Kubernetes 中,使用 kubeconfig 文件来组织和配置集群访问信息。kubeconfig 文件包含了与 Kubernetes 集群通信所需的认证、授权和集群信息。本文将介绍如何使用 kubeconfig 文件进行集群访问编程,并提供相应的源代码示例。

PixelDyno的博客 280

告别CMake依赖!在Visual Studio 2022中直接配置VTK 9.4开发环境(附完整项目示例)

本文详细介绍了如何在Visual Studio 2022中直接配置VTK 9.4开发环境,无需依赖CMake。通过图文教程和完整项目示例,帮助C++开发者快速集成VTK库,简化开发流程,提升工作效率。特别适合科学可视化任务的开发者。

weixin_26804345的博客 416

linux+/etc/susconfig,如何将 Kubeconfig 中的证书文件转为证书数据

如何将 Kubeconfig 中的证书文件转为证书数据在添加 Kubenetes 云账号时,可以选择 Kubeconfig 或 Service Account 两种认证方式:如果拿到了 Kubeconfig 指定证书文件认证(以如下的 Kubeconfig 为例: certificate-authority、client-certificate和client-key都指的是某个具体文件,并且文件中...

weixin_28688791的博客 2005

算法面经手撕系列(2)--手撕BatchNormlization

手动实现/手撕BatchNormlization

罟霖同学的站点 868

kubernetes配置kubeconfig访问集群

使用kubeconfig文件来组织关于集群,用户,名称空间和身份验证机制的信息。 kubectl命令行工具使用kubeconfig文件来查找选择群集并与群集的API服务器进行通信所需的信息。 默认情况下 kubectl使用的配置文件名称是在$HOME/.kube目录下 config文件,可以通过设置环境变量KUBECONFIG或者--kubeconfig指定其他的配置文件 详细配置内容信息请参...

纵横四海的博客 1万+

SAP采购申请详述;以及采购计划协议/交货计划行

SAP采购申请详述;以及采购计划协议/交货计划行

saplakes的博客 4344

SolidWorks2020详细步骤安装教程

1、在安装软件前请断开网络连接,需要安装.NETFramework3.5和4.0,最后还要确保把之前安装的旧版本完全卸载,以管理员身份运行SolidWorks_Flexnet_Server\server_remove.bat,然后等到服务“SolidWorksFlexnet服务器”将被删除。12、先不要运行软件,找到_SolidSQUAD_文件夹,将文件夹“ProgramFiles\SOLIDWORKSCorp”中的所有破解文件复制替到“ProgramFiles\SOLIDWORKSCorp”目录下;

qq_53545309的博客 1万+

通过ServiceAccount创建eks集群的kubeconfig文件来绕过IAM鉴权

至此,我们通过创建 SA 的方式生成了包含其 Secret TOKEN的 kubeconfig 的文件,并且通过该文件访问 kube- APIserver 能够有效避开 IAM 鉴权,能够加强我们敲 kuebctl命令的体验,并且通过这种方式,也能够根据不同的 clusterrole & role 去生成不同的 kubeconfig 文件做权限的分发。建立 Amazon EKS 的 kubeconfig管理服务账号通过将多个 kubeconfig 文件合并为一个来进行K8S多集群统一管理。

kingu_crimson的博客 2379

YOLOv11改进策略【卷积层】| arXiv 2025 YOLO-Master中的稀疏混合专家ES-MoE 动态路由提适配 + 稀疏激活降延迟,突破精度-效率权衡

ES-MoE(Efficient Sparse Mixture-of-Experts)是为解决传统YOLO类实时目标检测器的静态计算冗余问题而提出的稀疏混合专家模块。现有YOLO架构对所有输入场景采用统一的密集计算模式,导致简单场景资源浪费、复杂场景(如密集小目标、遮挡场景)计算不足,难以平衡检测精度与推理速度。ES-MoE引入实例条件自适应计算,通过动态路由机制为不同复杂度的输入分配差异化计算资源,突破传统静态架构的精度-效率权衡限制,同时适配实时检测的轻量化需求。

Limiiiing的博客 465

kubeconfig的用法

在开启了 TLS 的集群中,每当与集群交互的时候少不了的是身份认证,使用 kubeconfig(即证书) 和 token 两种认证方式是最简单也最通用的认证方式。 以kubectl为例介绍kubeconfig的配置。kubectl只是个go编写的可执行程序,只要为kubectl配置合适的kubeconfig,就可以在集群中的任意节点使用。kubectl默认会从$HOME/.kube目录下查找文件名为 config 的文件,也可以通过设置环境变量 KUBECONFIG 或者通过设置 --kubeconfig

砚墨 1859

【算法】克里金kriging参数值预测模型

模型中特征值2个,目标值1个,data数据集如图所示。搭建kriging参数值预测模型。

weixin_48618536的博客 5060

Apache Flink连载(一):Apache Flink是什么?

Apache Flink 是一个框架和分布式处理引擎,用于在。

qq_32020645的博客 1217

Kubernetes之Kubeconfig实现多集群、多用户接入的组织、管理

概述 kubectl命令访问集群时,默认情况下在$HOME/.kube目录下寻找名为config的配置文件,配置文件中包含集群ip地址、端口号、用户名、密码、证书、名称空间等信息,kubectl据此建构访问集群的上下文。也可以通过KUBECONFIG环境变量或者--kubeconfig覆盖默认配置文件。在实际应用中,往往需要同时使用多套环境如开发、测试、显示、生产等。一个kubectl客户端需要...

山不转的博客 5999

MIPI CPHY学习笔记01:TX物理层一致性测试项解析(LP信令模式)

在手机、平板、智能手表等移动设备中,MIPI C-PHY是负责图像、数据传输的核心接口,它就像设备内部的“高速数据线”,而低功耗(LP)信令模式,是这条“数据线”的“省电模式”,专门用于设备待机、低负载等场景,既要保证信号稳定,又要最大限度降低功耗。物理层一致性测试,就是给这个“省电模式”做的“全面体检”,确保不同厂商的设备能兼容互通。今天,我们就聚焦MIPI C-PHY TX(发射端)的Group 1 LP信令测试,用通俗的语言拆解8个核心测试项,看懂“省电信号”的合格标准。

一只豌豆象的博客 304

Kubernetes 配置基本指南:关键集群设置_kubelet文件(1)

识点,真正体系化!**

2401_84253251的博客 2806

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

config kubectl_Kubernetes(k8s)中文文档 kubectl config_Kubernetes中文社区

译者:hurf修改kubeconfig配置文件。摘要使用config的子命令修改kubeconfig配置文件,如“kubectl config set current-context my-context”。配置文件的读取遵循如下规则:The loading order follows these rules:1. 如果指定了--kubeconfig选项,那么只有指定的文件被加载。此选项只能被设置...

weixin_39664998的博客 121

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

2020-09-22 kubernetes dashboard 的登录

登录kubernetes dashboard 如图1-1所示,kubernetes dashboard提供了两种登录方式: kubeconfig 令牌 下面将对这两种登录方式进行介绍。 令牌登录 令牌登录就是使用serviceAccount账户的token值登录,在kubernetes中,每个serviceAccount(简称sa)账户都对应一个token值,我们就可以使用该值进行登录。需要注意的是,使用token登录只具有view权限,不能在dashboard中删除或创建pod。 #########

Pancras的博客 2256

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

kubectl 多集群访问配置

配置 KUBECONFIG 环境变量,是 kubectl 工具支持的变量,变量内容是冒号分隔的 kubernetes config 认证文件路径。假如我们有两个集群:A 和 B,A 集群的 config 文件为:$HOME/.kube/config,B 集群的 config 文件为:$HOME/.kube/config-local。要配置 kubectl 随时在两个集群间切换,只需要设置 KUBE...

qhh0205 2448

kubernetes视频教程笔记 (30)-安全-鉴权Authorization

一、Authentication 1. HTTP Token 认证: 通过一个 Token 来识别合法用户 HTTP Token 的认证是用一个很长的特殊编码方式的并且难以被模仿的字符串 - Token 来表达客户的一种方式。 Token 是一个很长的很复杂的字符串,每一个 Token 对应一个用户名存储在 API Server 能访问的文件中。 当客户端发起 API 调用请求时,需要在 HTTP Header 里放入 Token 2. HTTP Base 认证: 通过 用户名+密码 的.

软件工程小施同学 的专栏 704

kubernetes中kubeconfig文件和context的使用

1.kubeconfig文件 使用 kubeconfig 文件来组织有关集群、用户、命名空间和身份认证机制的信息。kubectl 命令行工具使用 kubeconfig 文件来查找选择集群所需的信息,并与集群的 API 服务器进行通信。 注:用于配置集群访问的文件称为 kubeconfig 文件。这是引用配置文件的通用方法。这并不意味着有一个名为 kubeconfig 的文件 默认情况下,kubectl 在 $HOME/.kube 目录下查找名为 config 的文件。 您可以通过设置 KUBECONFI

认知 行动 坚持 5288

Kubernetes kubeconfig配置文件详细解读

kubeconfig配置文件 在node节点上可以执行kubectl命令吗? [root@k8s-node1 ~]# kubectl get node The connection to the server localhost:8080 was refused - did you specify the right host or port? localhost:8080这个端口是k8s api(kube-apiserver非安全端口)的端口,在master上面可以执行成功其...

小楼一夜听春雨,深巷明朝卖杏花 2万+
上一篇: Conductor 项目的编译启动
下一篇: okhttp3 报错java.lang.IllegalStateException: closed
五之
博客等级 码龄15年 257粉丝 28原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

五之

真实案例以及商业项目技术

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值