前言:Kubectl客户端使我们可以在多个K8s集群之间进行配置和轻松切换。

kubectl的配置文件位置
kubectl配置文件的主要位置是$ HOME / .kube,默认情况下,我们有一个名为config的配置文件:

[node1 ~]$ cd $HOME/.kube[node1 .kube]$ ls -lahtotal 4.0Kdrwxr-xr-x 1 root root   37 Mar 12 20:48 .dr-xr-x--- 1 root root   19 Nov 29 11:46 ..drwxr-x--- 3 root root   23 Mar 12 20:48 cachelrwxrwxrwx 1 root root   26 Nov 29 11:46 config -> /etc/kubernetes/admin.confdrwxr-x--- 3 root root 4.0K Mar 12 20:48 http-cache

多个配置文件和KUBECONFIG变量
通过设置适当的KUBECONFIG shell变量,我们可以拥有多个配置文件。
例如:

[node1 ~]$ kubectl config viewapiVersion: v1clusters: []contexts: []current-context: ""kind: Configpreferences: {}users: []

从kubectl检查配置
我们可以检查当前的配置(由于我的Additional_config文件中没有任何内容,因此将为空-我们稍后将添加一些内容-这只是我的KUBECONFIG变量中的文件):

[node1 ~]$ kubectl config --kubeconfig=.kube/config viewapiVersion: v1clusters:- cluster:    certificate-authority-data: DATA+OMITTED    server: https://192.168.0.38:6443  name: kubernetescontexts:- context:    cluster: kubernetes    user: kubernetes-admin  name: kubernetes-admin@kubernetescurrent-context: kubernetes-admin@kuberneteskind: Configpreferences: {}users:- name: kubernetes-admin  user:    client-certificate-data: REDACTED    client-key-data: REDACTED

或来自特定文件-让我们看看默认文件:

[node1 ~]$ kubectl config --kubeconfig=.kube/config viewapiVersion: v1clusters:- cluster:    certificate-authority-data: DATA+OMITTED    server: https://192.168.0.38:6443  name: kubernetescontexts:- context:    cluster: kubernetes    user: kubernetes-admin  name: kubernetes-admin@kubernetescurrent-context: kubernetes-admin@kuberneteskind: Configpreferences: {}users:- name: kubernetes-admin  user:    client-certificate-data: REDACTED    client-key-data: REDACTED

如果您未设置KUBECONFIG变量,则所有配置都将从$ HOME / .kube / config中获取kubectl配置中的对象
kubectl在其配置文件中具有以下对象类型

集群-有关K8s集群的信息-包含群集名称和连接参数

users-有关您要连接到K8s集群的用户的信息
上下文-集群/用户/命名空间的三倍从kubectl修改配置
添加集群

[node1 ~]$ kubectl config --kubeconfig=.kube/additional_config set-cluster dev --server=https://192.168.1.100 --certificate-authority=fake-caCluster "dev" set.[node1 ~]$ kubectl config --kubeconfig=.kube/additional_config set-cluster prod --server=https://10.1.1.100 --certificate-authority=fake-caCluster "prod" set.

新增使用者

[node1 ~]$ kubectl config --kubeconfig=.kube/additional_config set-credentials developer --client-certificate=fake-cert-file --client-key=fake-key-seefileUser "developer" set.[node1 ~]$ kubectl config --kubeconfig=.kube/additional_config set-credentials prod_admin --client-certificate=fake-cert-file --client-key=fake-key-seefileUser "prod_admin" set.

添加上下文

[node1 ~]$ kubectl config --kubeconfig=.kube/additional_config set-context simple_app_development --cluster=dev --namespace=simple_app_dev --user=developerContext "simple_app_development" created.[node1 ~]$ kubectl config --kubeconfig=.kube/additional_config set-context simple_app_production --cluster=prod --namespace=simple_app_prod --user=prod_adminContext "simple_app_production" created.

从配置中删除集群/用户/上下文

kubectl --kubeconfig=.kube/additional_config config unset users.<name>kubectl --kubeconfig=.kube/additional_config config unset clusters.<name>kubectl --kubeconfig=.kube/additional_config config unset contexts.<name>

样本配置

[node1 ~]$ kubectl config --kubeconfig=.kube/additional_config viewapiVersion: v1clusters:- cluster:    certificate-authority: /root/fake-ca    server: https://192.168.1.100  name: dev- cluster:    certificate-authority: /root/fake-ca    server: https://10.1.1.100  name: prodcontexts:- context:    cluster: dev    namespace: simple_app_dev    user: developer  name: simple_app_development- context:    cluster: prod    namespace: simple_app_prod    user: prod_admin  name: simple_app_productioncurrent-context: ""kind: Configpreferences: {}users:- name: developer  user:    client-certificate: /root/fake-cert-file    client-key: /root/fake-key-seefile- name: prod_admin  user:    client-certificate: /root/fake-cert-file    client-key: /root/fake-key-seefile

改变环境
要获取上下文列表(不需要--kubeconfig,因为我们已将extra_config添加到KUBECONFIG变量中):

[node1 ~]$ kubectl config get-contextsCURRENT   NAME                     CLUSTER   AUTHINFO     NAMESPACE          simple_app_development   dev       developer    simple_app_dev          simple_app_production    prod      prod_admin   simple_app_prod

设置上下文:

[node1 ~]$ kubectl config use-context simple_app_developmentSwitched to context "simple_app_development".

获取当前上下文:

[node1 ~]$ kubectl config current-contextsimple_app_development

配置kubeconfig_多Kubernetes集群如何切换?基于Kubectl客户端配置的实操分享相关推荐

  1. kubernetes集群命令行工具kubectl

    文章目录 1 kubectl 概述 2 kubernetes命令 2.1 kubectl 命令的语法 2.2 常用命令 1 kubectl 概述 kubectl是Kubernetes集群的命令行工具, ...

  2. 运维必备_ganglia集群监控服务端及客户端配置实战

    0x01.前言 Ganglia是UC Berkeley发起的一个开源集群监视项目,设计用于测量数以千计的节点.Ganglia的核心包含gmond.gmetad以及一个Web前端.主要是用来监控系统性能 ...

  3. 运维必备:ganglia集群监控服务端及客户端配置实战

    0x01.前言 Ganglia是UC Berkeley发起的一个开源集群监视项目,设计用于测量数以千计的节点.Ganglia的核心包含gmond.gmetad以及一个Web前端.主要是用来监控系统性能 ...

  4. 阿里云上Kubernetes集群联邦

    摘要: kubernetes集群让您能够方便的部署管理运维容器化的应用.但是实际情况中经常遇到的一些问题,就是单个集群通常无法跨单个云厂商的多个Region,更不用说支持跨跨域不同的云厂商.这样会给企 ...

  5. 阿里云上Kubernetes集群联邦 1

    摘要: kubernetes集群让您能够方便的部署管理运维容器化的应用.但是实际情况中经常遇到的一些问题,就是单个集群通常无法跨单个云厂商的多个Region,更不用说支持跨跨域不同的云厂商.这样会给企 ...

  6. 龙芯电脑平台kubernetes集群编译及部署方案

    http://ask.loongnix.org/?/article/105  一.环境 操作系统: loongnix 内核: 3.10.84 go版本: go1.9.2 linux/mips64le ...

  7. 蚂蚁大规模 Kubernetes 集群无损升级实践指南【探索篇】

    文|王连平(花名:烨川 ) 蚂蚁集团高级开发工程师 负责蚂蚁 Kubernetes 集群容器交付 专注于集群交付能力.交付性能及交付 Trace 等相关领域 本文 12623 字 阅读 20 分钟 - ...

  8. Kubernetes 集群 DNS 服务发现原理

    简介:本文介绍 Kubernetes 集群中 DNS 服务发现原理. 本文介绍 Kubernetes 集群中 DNS 服务发现原理. 前提需要 拥有一个 Kubernetes 集群(可以通过 ACK ...

  9. 快速入门容器服务,创建Kubernetes集群

    使用须知 创建集群过程中,容器服务会进行如下操作: 创建 ECS,配置管理节点到其他节点的 SSH 的公钥登录,通过 CloudInit 安装配置 Kubernetes 集群. 创建安全组,该安全组允 ...

最新文章

  1. pytorch kl散度学习笔记
  2. python培训深圳-深圳哪家python培训班比较靠谱
  3. EBS   常见的AD命令
  4. n^n的末位数字(快速幂)
  5. Linux uniq命令
  6. Android 第四课 活动的启动模式
  7. 2016美国计算机研究生,2016美国留学:美国大学研究生计算机工程专业排名
  8. 深度学习弯道超车,领先行业不止一点点
  9. mysql datetime 后面带了很多0_面试官:MySQL 表设计要注意什么?
  10. Spring依赖查找中的常见异常
  11. 阶段1 语言基础+高级_1-3-Java语言高级_08-JDK8新特性_第1节 常用函数接口_6_函数式接口作为方法的返回值类...
  12. typedef struct
  13. 【采集读写】基于matlab语音采集与读写【含Matlab源码 538期】
  14. php 源代码 即时通讯,php开源免费即时通讯源码-目前有哪些完全的开源的PHP,商城代码...
  15. 各个排序算法(^_^)
  16. 台式计算机运行慢怎么样能提高速度,电脑配置低怎么办 如何让电脑运行速度加快...
  17. 2021年网络安全省赛--web隐藏信息探索解析(中职组)
  18. Leet Code OJ 刷题顺序参考
  19. js算法判断是否为素数
  20. promise.all的使用

热门文章

  1. 近几年主要智慧城市、大数据、数字营销类型项目的参与经历
  2. 背景大小比率css,css – 如何计算背景大小百分比?
  3. c++ 非空指针 写入访问权限冲突_初识C语言指针
  4. go 调用c 编译器找不到方法_深度解密Go语言之关于 interface 的10个问题
  5. python psutil模块_python之psutil模块(获取系统性能数据)
  6. 数据分析师的必读书单,菜鸟程序员请查收!
  7. 中国联通研报:走出反腐漩涡 与电信抱团取暖
  8. 【精彩回顾】迪拜BSV全球区块链大会Day3
  9. 【网络编程套接字(一)】
  10. DA14580外设篇之GPIO