使用 kubectl 管理 kubeconfig 配置文件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用 kubectl 管理 kubeconfig 配置文件相关的知识,希望对你有一定的参考价值。
参考技术A Kubernetes 集群在服务器搭建部署成功之后,通常我们都会通过 kubectl 命令行工具与集群互动、发送操作指令来管理集群。 kubectl 主要依赖于集群配置文件 kubeconfig 与集群进行通讯,这个文件通常在 Kubernetes 集群的 master 节点服务器的 $HOME/.kube/config 目录下。开发者可以从服务器获取改配置文件到开发者本地电脑上的相同目录位置上即可。本篇文章主要介绍一下我们如何管理这个配置文件。如果熟悉 kubeconfig 文件的结构,读者当然可以使用文本编辑器自行修改,不过手工修改难免会有错误和不便。所以这里介绍一下如何利用 kubectl 工具来帮助我们管理和调整配置文件。
kubeconfig 是一个 Kubernetes 中的一个资源对象,叫做 Config , 内容格式是 YAML 。这个文件中主要包含了集群(clusters)、上下文(contexts)和用户(users)信息,他们的层次结构和关系如下图所示:
如图所示,上下文 context 是建立集群、用户和命名空间之间关系的桥梁和纽带,我们在本地切换所谓的“环境”其实就是将一个指定的上下文为当前激活的上下文(current-context)。再通俗点讲,这个上下文指的就是你当前是以什么身份(user) 在连接哪个集群(cluster),连接后自动切换到哪一个命名空间(namespace)下。
kubectl 中的 config 子命令可以帮助我们维护存储在本地的配置文件,我们先来看下它的帮助说明:
这里简要说明一下config下几个主要的子命令:
接下来我们列举一些常见的任务场景。
首先我们使用以下命令来看下集群 kubernetes 的 server 属性的值:
接下来我们是用 set-cluster 子命令来修改服务器的地址:
kubectl config 未直接提供的删除用户的子命令,所以我们找不到类似于 delete-user 之类的选项。不过我们可以使用 unset 子命令来完成这个任务:
建议大家使用 kubectl config 的方式来配置 kubeconfig 文件,避免了手工修改的麻烦和误配置之外,对于自动化管理也可以更加规范和统一。
6、二进制安装K8s之部署kubectl
参考技术A 我们把k8s-master 也设置成node,所以先master上面部署node,在其他机器上部署node也适用,更换名称即可。配置参数文件
• –hostname-override:显示名称,集群中唯一
• –network-plugin:启用CNI
• –kubeconfig:空路径,会自动生成,后面用于连接apiserver
• –bootstrap-kubeconfig:首次启动向apiserver申请证书
• –config:配置参数文件
• –cert-dir:kubelet证书生成目录
• –pod-infra-container-image:管理Pod网络容器的镜像
以上是关于使用 kubectl 管理 kubeconfig 配置文件的主要内容,如果未能解决你的问题,请参考以下文章
第七章 kubernetes 集群命令行工具 kubectl