kubectl use-context配置多集群访问

简介: 今天在rancher平台上进行日常维护。在多个集群切换时,鼠标一顿点点点还是有点不够顺畅。于是在"瑞斯拜"的chrome里面找到了k8s有关多集群访问配置的桥段,下面根据实践过程做简单描述

今天在rancher平台上进行日常维护。在多个集群切换时,鼠标一顿点点点还是有点不够顺畅。于是在"瑞斯拜"的chrome里面找到了k8s有关多集群访问配置的桥段,下面根据实践过程做简单描述

使用 kubeconfig 文件组织集群访问

通过 kubectl 连接k8s集群时,默认情况下,kubectl 会在 $HOME/.kube 目录下查找名为 config 的文件,我直接root用户登录的、我的 config配置文件路径为 ~/.kube/config下面贴上具体的配置和简要注释

apiVersion: v1
kind: Config
clusters:
- name: "fralychen"  # 集群名称、下面的contexts里面的cluster:value值对应
  cluster:
    server: "https://rancher.fralychen.com/k8s/clusters/a-99abr"

users:
- name: "fralychen"  # 用户名称、下面的contexts里面的user:value值对应
  user:
    token: "****"

contexts:
- name: "fralychen"  # 上下文名称、在命令行中做集群切换时会用到
  context:
    user: "fralychen"
    cluster: "fralychen"

current-context: "fralychen"  # 当前正在使用的上下文名称、表示kubectl连接的集群为fralychen

配置对多集群的访问

     在将集群、用户和上下文定义在一个或多个配置文件中之后,用户可以使用 kubectl config use-context 命令快速地在集群之间进行切换。rancher针对每个集群都有对应的kubeconfig文件,文件中连接的用户(user)名、集群(cluster)名、上下文(contexts)都是对应的,我这边根据字段一一添加到~/.kube/config文件中即可

apiVersion: v1
kind: Config
clusters:
- name: "fralychen" 
  cluster:
    server: "https://rancher.fralychen.com/k8s/clusters/a-99abr"
- name: "fralychen1"   # 这是新加的
  cluster:
    server: "https://rancher.fralychen.com/k8s/clusters/c-t8nci"

users:
- name: "fralychen" 
  user:
    token: "****"
- name: "fralychen1"   # 这是新加的
  user:
    token: "***"

contexts:
- name: "fralychen"  
  context:
    user: "fralychen"
    cluster: "fralychen"
- name: "fralychen1"   # 这是新加的
  context:
    user: "fralychen1"
    cluster: "fralychen1"


current-context: "fralychen" 

集群切换

kubectl config view #查看config配置信息

.... # 省略输出

kubectl config user-context fralychen1 #切换集群

Switched to context "fralychen1". # 表示切换成功

F&Q

如果不是rancher平台怎么配置多集群访问

配置一致,但需要注意用户验证这一块、rancher这边是使用计算好的tokeen值对k8s集群进行连接的,如果通过原生kubectl连接的话需要配置连接的用户信息(username、password),下面是官方的命令行配置参考
kubectl config --kubeconfig=config-demo set-credentials experimenter --username=exp --password=some-password

可以直接通过kubectl管理多集群的连接信息么

可以的

  1. 要删除用户,可以运行 kubectl --kubeconfig=config-demo config unset users.
  2. 要删除集群,可以运行 kubectl --kubeconfig=config-demo config unset clusters.
  3. 要删除上下文,可以运行 kubectl --kubeconfig=config-demo config unset contexts.

有问题可留言,欢迎各种跨白

参考连接

配置多集群访问/kubernetes

400-200.png

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
目录
相关文章
|
存储 Kubernetes 负载均衡
【Kubernetes系统原理、核心资源、Pod原理与创建及生命周期管理、Job、Cronjob、Statefulset、Service负载均衡Ingress】
【Kubernetes系统原理、核心资源、Pod原理与创建及生命周期管理、Job、Cronjob、Statefulset、Service负载均衡Ingress】
397 2
|
1月前
|
Kubernetes Nacos 微服务
探讨了在Kubernetes中使用Nacos v2.2.3时,强制删除Pod后Pod仍存在的常见问题
本文深入探讨了在Kubernetes中使用Nacos v2.2.3时,强制删除Pod后Pod仍存在的常见问题。通过检查Pod状态、事件、配置,调整Nacos和Kubernetes设置,以及手动干预等步骤,帮助开发者快速定位并解决问题,确保服务稳定运行。
64 2
|
4月前
|
运维 Prometheus 监控
今天在集群中创建yaml,使用create就创建成功,apply就创建失败原因分析。
今天在集群中创建yaml,使用create就创建成功,apply就创建失败原因分析。
|
7月前
|
Kubernetes Ubuntu Linux
玩转Kubernetes—尝试以不同方式初始化集群
玩转Kubernetes—尝试以不同方式初始化集群
91 0
|
7月前
|
Kubernetes 容器
Kubernetes高可用集群二进制部署(四)部署kubectl和kube-controller-manager、kube-scheduler
Kubernetes高可用集群二进制部署(四)部署kubectl和kube-controller-manager、kube-scheduler
|
Kubernetes Docker 容器
Kubernetes集群部署中安装Pods网络插件一直显示Pending状态解决
Kubernetes集群部署中安装Pods网络插件一直显示Pending状态解决
323 0
|
Kubernetes 负载均衡 网络协议
K8S 集群核心概念 Service_通过资源清单文件创建 Service_ClusterIP | 学习笔记
快速学习 K8S 集群核心概念 Service_通过资源清单文件创建 Service_ClusterIP
177 0
K8S 集群核心概念 Service_通过资源清单文件创建 Service_ClusterIP | 学习笔记
|
Kubernetes 容器 数据安全/隐私保护
配置kubectl客户端通过token方式访问kube-apiserver
使用的变量 本文档用到的变量定义如下: $ export MASTER_IP=XX.XX.XX.XX # 替换为 kubernetes master VIP $ export KUBE_APISERVER="https://${MASTER_IP}:6443" $ 创建 kubectl confi.
2887 0
|
存储 Kubernetes 前端开发
Kubernetes config 配置访问多集群
Kubernetes config 配置访问多集群
|
Kubernetes 负载均衡 应用服务中间件
使用kubectl创建部署
使用kubectl创建部署有以下几个方法。
391 0
使用kubectl创建部署

相关实验场景

更多