Node and Cluster

查看节点

#查看节点清单
root@master30~ 16:28:24# kubectl get nodes
NAME                 STATUS   ROLES           AGE    VERSION
master30.hgq.cloud   Ready    control-plane   158m   v1.30.2
worker31.hgq.cloud   Ready    <none>          156m   v1.30.2
worker32.hgq.cloud   Ready    <none>          156m   v1.30.2

#查看特定节点的详细信息
root@master30~ 16:49:00# kubectl describe node master30.hgq.cloud
......

删除节点

以worker31节点为例

# 设置节点为维护模式
root@master30~ 16:50:09# kubectl drain worker31.hgq.cloud --ignore-daemonsets
node/worker31.hgq.cloud cordoned
Warning: ignoring DaemonSet-managed Pods: kube-system/calico-node-48jmh, kube-system/kube-proxy-w62wv
node/worker31.hgq.cloud drained

#查看节点情况,可知worker31变为SchedulingDisabled
root@master30~ 16:51:53# kubectl get nodes
NAME                 STATUS                     ROLES           AGE    VERSION
master30.hgq.cloud   Ready                      control-plane   162m   v1.30.2
worker31.hgq.cloud   Ready,SchedulingDisabled   <none>          160m   v1.30.2
worker32.hgq.cloud   Ready                      <none>          160m   v1.30.2

#删除worker31节点
root@master30~ 16:52:41# kubectl delete node worker31.hgq.cloud
node "worker31.hgq.cloud" deleted
root@master30~ 16:53:24# kubectl get nodes
NAME                 STATUS   ROLES           AGE    VERSION
master30.hgq.cloud   Ready    control-plane   163m   v1.30.2
worker32.hgq.cloud   Ready    <none>          161m   v1.30.2

删除集群

删除集群流程:

  1. 删除所有的node
  2. 删除所有的master
#删除所有的node
root@master30~ 16:53:32# kubectl drain worker32.hgq.cloud --ignore-daemonsets
root@master30~ 16:55:44# kubectl delete node worker32.hgq.cloud
root@master30~ 16:55:59# kubectl get nodes
NAME                 STATUS   ROLES           AGE    VERSION
master30.hgq.cloud   Ready    control-plane   165m   v1.30.2

#删除master
# 删除集群前可先获取集群配置
root@master30~ 16:57:30# kubectl get cm kubeadm-config -n kube-system -o yaml > kubeadm.yml
# 修改kubeadm.yml内容如下:
root@master30~ 16:58:42# vim kubeadm.yml
# 删除1-3和22-28行,效果如下
apiServer:
  timeoutForControlPlane: 4m0s
apiVersion: kubeadm.k8s.io/v1beta3
certificatesDir: /etc/kubernetes/pki
clusterName: kubernetes
controllerManager: {}
dns: {}
etcd:
  local:
    dataDir: /var/lib/etcd
imageRepository: registry.k8s.io
kind: ClusterConfiguration
kubernetesVersion: v1.30.2
networking:
  dnsDomain: cluster.local
  podSubnet: 10.224.0.0/16
  serviceSubnet: 10.96.0.0/12
scheduler: {}
root@master30~ 16:59:05# kubectl delete node master30.hgq.cloud
root@master30~ 16:59:24# rm -rf .kube/

重建集群

#先对节点reset一遍
root@master30~ 16:59:55# kubeadm reset -f
root@worker31~ 14:19:31# kubeadm reset -f
root@worker32~ 14:12:21# kubeadm reset -f

#可指定config.yaml文件进行初始化集群
root@master30~ 17:03:50# kubeadm init --config kubeadm.yaml

#配置凭据,即给当前用户授予集群管理员访问凭证
root@master30~ 17:05:08# mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

#配置网络
root@master30~ 17:08:19# kubectl apply -f calico.yaml

#令worker节点加入集群
root@worker31~ 17:03:59# kubeadm join 10.1.8.30:6443 --token lr7rw7.ckf0zy9s56rm1gkq \
        --discovery-token-ca-cert-hash sha256:fe9c8ec695bfb6aff54fbd226ab0d5d68efb12843b5ad38be8b068dac7a4d522
        root@worker32~ 17:04:02# kubeadm join 10.1.8.30:6443 --token lr7rw7.ckf0zy9s56rm1gkq \
        --discovery-token-ca-cert-hash sha256:fe9c8ec695bfb6aff54fbd226ab0d5d68efb12843b5ad38be8b068dac7a4d522
        
#查看集群节点情况
root@master30~ 17:08:35# kubectl get nodes
NAME                 STATUS   ROLES           AGE     VERSION
master30.hgq.cloud   Ready    control-plane   4m57s   v1.30.2
worker31.hgq.cloud   Ready    <none>          44s     v1.30.2
worker32.hgq.cloud   Ready    <none>          42s     v1.30.2

Namespace and Contexts

什么是Namespace

Namespace**,简写ns,也称之为 project,代表资源集合,用于分组集群资源。Kubernetes 使用 Namespace 可以将一个物理的 Cluster 逻辑上划分成多个资源集合, 每个集合就是一个Namespace。 不同Namespace 里的资源是完全隔离的。

Kubernetes 默认创建以下Namespace:

  • default: 创建资源时如果不指定Namespace, 将被放到这个Namespace中。
  • kube-system: Kubernetes 自己创建的系统资源将放到这个Namespace中。
  • kube-public:该命名空间中所有对象可以被所有用户(包括未验证身份的用户)读取。
  • kube-node-lease:该命名空间含有与每个节点关联的Lease对象。节点租用允许kubelet发送heartbeat(心跳),以便控制平面能检测节点故障。

Namespace管理

#查看Namespace清单
root@master30~ 17:10:16# kubectl get ns
NAME              STATUS   AGE
default           Active   95m
kube-node-lease   Active   95m
kube-public       Active   95m
kube-system       Active   95m

#获取Namespace资源yaml格式定义文件
root@master30~ 18:40:25# kubectl get ns default -o yaml
apiVersion: v1
kind: Namespace
metadata:
  creationTimestamp: "2026-06-23T09:05:04Z"
  labels:
    kubernetes.io/metadata.name: default
  name: default
  resourceVersion: "37"
  uid: f4a26a2a-1905-4d31-a2e1-e92062cd734d
spec:
  finalizers:
  - kubernetes
status:
  phase: Active

#创建Namespace
root@master30~ 18:40:54# kubectl create ns webapp
namespace/webapp created

#直接编辑Namespace
root@master30~ 18:41:28# kubectl edit ns webapp

#查看Namespace的详细信息
root@master30~ 18:41:57# kubectl describe ns webapp
Name:         webapp
Labels:       kubernetes.io/metadata.name=webapp
Annotations:  <none>
Status:       Active

No resource quota.

No LimitRange resource.

#删除Namespace
root@master30~ 18:42:40# kubectl delete ns webapp
namespace "webapp" deleted
# 注意:
# 删除一个namespace会自动删除该namespace中所有资源。
# default和kube-system命名空间不可删除。

除了使用命令创建Namespace之外,还可以使用yaml文件来创建

# webapp.yaml
apiVersion: v1
kind: Namespace
metadata:
  name: webapp
root@master30~ 18:44:25# kubectl apply -f webapp.yaml
namespace/webapp created

操作特定ns中特定对象,需要使用选项-n指定ns,例如:

root@master30~ 18:48:02# kubectl run web --image nginx -n webapp
pod/web created

root@master30~ 18:50:25# kubectl get pods -n webapp -o wide
NAME   READY   STATUS    RESTARTS   AGE     IP              NODE                 NOMINATED NODE   READINESS GATES
web    1/1     Running   0          2m24s   10.224.96.193   worker32.hgq.cloud   <none>           <none>
root@master30~ 18:50:47# curl 10.224.96.193
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
html { color-scheme: light dark; }
body { width: 35em; margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif; }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, nginx is successfully installed and working.
Further configuration is required for the web server, reverse proxy,
API gateway, load balancer, content cache, or other features.</p>

<p>For online documentation and support please refer to
<a href="https://nginx.org/">nginx.org</a>.<br/>
To engage with the community please visit
<a href="https://community.nginx.org/">community.nginx.org</a>.<br/>
For enterprise grade support, professional services, additional
security features and capabilities please refer to
<a href="https://f5.com/nginx">f5.com/nginx</a>.</p>

<p><em>Thank you for using nginx.</em></p>
</body>
</html>

Namespace切换

查看当前所在的ns

root@master30~ 18:51:06# kubectl config get-contexts
CURRENT   NAME                          CLUSTER      AUTHINFO           NAMESPACE
*         kubernetes-admin@kubernetes   kubernetes   kubernetes-admin

此时NAMESPACE列对应的属性为空,不属于任何NAMESPACE。

设置默认ns

root@master30~ 18:52:17# kubectl config set-context --current --namespace webapp
Context "kubernetes-admin@kubernetes" modified.
root@master30~ 18:53:43# kubectl config get-contexts
CURRENT   NAME                          CLUSTER      AUTHINFO           NAMESPACE
*         kubernetes-admin@kubernetes   kubernetes   kubernetes-admin   webapp

可见,此时NAMESPACE的值为webapp。

Cluster切换

~/.kube/config 详解

单集群配置

获取凭据文件内容(不显示敏感信息):

root@master30~ 18:53:59# kubectl config view
apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: DATA+OMITTED
    server: https://10.1.8.30:6443
  name: kubernetes
contexts:
- context:
    cluster: kubernetes
    namespace: webapp
    user: kubernetes-admin
  name: kubernetes-admin@kubernetes
current-context: kubernetes-admin@kubernetes
kind: Config
preferences: {}
users:
- name: kubernetes-admin
  user:
    client-certificate-data: DATA+OMITTED
    client-key-data: DATA+OMITTED

配置文件示例:

root@master30~ 18:56:46# cat .kube/config
apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURCVENDQWUyZ0F3SUJBZ0lJUUFzVDlnOElmTTR3RFFZSktvWklodmNOQVFFTEJRQXdGVEVUTUJFR0ExVUUKQXhNS2EzVmlaWEp1WlhSbGN6QWVGdzB5TmpBMk1qTXdPRFU1TlRaYUZ3MHpOakEyTWpBd09UQTBOVFphTUJVeApFekFSQmdOVkJBTVRDbXQxWW1WeWJtVjBaWE13Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLCkFvSUJBUURIOEZOM1RDbVlleG1yZjNqeCs2RzNjWmhmVVlMZlpna08xK0M4aFlXNVdRYnJRWUlqTWtjSVM1MVcKdEpjdFNSNEFYdkFUMWExR0I5ZUswRlUwZWlPbHZlYWVYZHVMZ2lXSzNCcVcvb213RXpLVEVxUEdMcWNUeGEyZApHRVFESWlWWng5aEtYblpFQnV1Ly9SaUhYVTIrQWZxYXpSMko4b29ITjc0T1A4aXFxN0ppM1ljRzB6WWdWSjBjCjZhN0VYVHcvRkNOazFqdUFKUXJXck1xaWtHVFM1NVVjZ0l1UERVclBSbDhCVVR4bU53eXFNRzVCdDZjd0RaRTIKU0ovMTNrcjRzdjdwTytpNmhqWnI0L09ZeWhPZ2kzQ1RjcTVoTzV6QVo1Z1VJRE5oN04rcSswcS9Za0pOWS9kZwo3UGNZS2pPUmwwZVhNL1hPZWR1R0Y3d0pldGhkQWdNQkFBR2pXVEJYTUE0R0ExVWREd0VCL3dRRUF3SUNwREFQCkJnTlZIUk1CQWY4RUJUQURBUUgvTUIwR0ExVWREZ1FXQkJURm1GU0R0b1R6RzBZYlBSZGw2N0dkMnEwZU9UQVYKQmdOVkhSRUVEakFNZ2dwcmRXSmxjbTVsZEdWek1BMEdDU3FHU0liM0RRRUJDd1VBQTRJQkFRQys5REllYVB3SQpObnl5ZGlSenpHcEFPdUhjeE1WckhFcERxNWkvNzJVTUQxNFAyTWpDY2RKQzNWTWhXZ0YvTlg5UlBPUWRvbzIrClBKRUVDNlVpb2pveEtWTDlBVEVxajFrZ1ZhbUdZblNLck9FL1FVVkR4MUo3M1IrRmdVZUQreWRKZmtQR2x4NWwKOVkwRjRuSFJybkZNUS9LczYrTG5XeXFGNXNYU2JobHJFeVJ2TGxJT1MxS0hRU3ZhM3NLRHJKeXpNSW9NMmF5bwovRHZUSlR2dUhuMjRKV25aWjFqZ2ZWdFdncXdEMXlEc0IwaW03RE1wbVBjdURicDZtalJSWjg0ZGlsL2pRR2VYCk1GV3JwRWJwWXRiRW5ma3MwMXVacHJYMktCN3NTUUlkOTg3b2RmdlU3aU0yc0FJeERQKzFDcFBlSE81bUdJWGgKR2xVRUFoc0FYYTZFCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K                          #certificate-authority-data 指定CA证书,通过base64编码。
    server: https://10.1.8.30:6443
  name: kubernetes
contexts:
- context:
    cluster: kubernetes
    namespace: webapp
    user: kubernetes-admin
  name: kubernetes-admin@kubernetes
current-context: kubernetes-admin@kubernetes
kind: Config
preferences: {}
users:
- name: kubernetes-admin
  user:
    client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURLVENDQWhHZ0F3SUJBZ0lJWGZvbFJJdkF6RGN3RFFZSktvWklodmNOQVFFTEJRQXdGVEVUTUJFR0ExVUUKQXhNS2EzVmlaWEp1WlhSbGN6QWVGdzB5TmpBMk1qTXdPRFU1TlRaYUZ3MHlOekEyTWpNd09UQTBOVGxhTUR3eApIekFkQmdOVkJBb1RGbXQxWW1WaFpHMDZZMngxYzNSbGNpMWhaRzFwYm5NeEdUQVhCZ05WQkFNVEVHdDFZbVZ5CmJtVjBaWE10WVdSdGFXNHdnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUtBb0lCQVFEYmg5VzkKZ29BeURya0ZWLzd2KzgzOWNtczFFOERQQnNWaEpreUkvd1NuWlpuU1IyRFdhTHYvUXlOTGtrQ3BVWWt5NlFxWApZMktmM2x5ZlZNSEZLTVU0ZmFQQTk3bThjNU5wWld3ZHZMeklBYTlQRTZKWHA3WlN6MXM2VzE3VEM2S3ZzeXNmCmtRY3RpNkhGQ0Q5R01ndjJUcm0ySnc3enZ5NTZncTg1elhldGRsTldkUm1OTTFnSlJYWStWWnZ4ZDY2WThVQVoKUkpOcnhZRGJ3NGh3RjVtWHc4TGxpQnZ6OEoxQ3RiTml0U2xFblZqYWFnbzRGMGFNakoxWG9UZDNJcmRtY3lmRgpubVNrWjd0V0k1YkYxdFdUQ2FMcC9nYmdHZUk4Mkd2OHIwelZER1k3K29WUTl0Rk5SZTZyMUxkQjlETkFVN0lZCnV0cWRCUk52L2RoRUszbVZBZ01CQUFHalZqQlVNQTRHQTFVZER3RUIvd1FFQXdJRm9EQVRCZ05WSFNVRUREQUsKQmdnckJnRUZCUWNEQWpBTUJnTlZIUk1CQWY4RUFqQUFNQjhHQTFVZEl3UVlNQmFBRk1XWVZJTzJoUE1iUmhzOQpGMlhyc1ozYXJSNDVNQTBHQ1NxR1NJYjNEUUVCQ3dVQUE0SUJBUUFyb2dkRUwxbys4bmlpNVhRd0pydCtUaDFVCjRZSFpEQjJOOFZaTWMrbDJnVGpiNEdRMjhHVmpVRlVIcTNaN0w3ZkIycmY3a2FCTnkxN3VFTUx4dDVnZm14emoKUmJtbkNkeExFZllhcytsTlZCdGFVdjc4am9iNjUzcnhHRmV5RFBmUC9UaUt1aUg5anlqS2xpSFpBMmMxMUt5RwpKNVZtWVJzTGRyWW9NSDhBVW1PMFFsR1NkMTMwTmViT3VoSXYyMzJuVEd5ZUY3WjJqVDMzVlFuQUtzaE5FYXNCCm5DZCsrQmcrTUtrbWxHTUhBZEl2dWhVQ3M4U1dTYWczOGFYc3ErRy8yUkV0NEpKaHB3dTY3UzRjVUVhVWN6SnIKMThMUTROS3BaUHd1ejgzZXYxSVFNcmRSNWJyUkJWaG9KYWdsakpQN2l3cEI2cFR6SDBGUEI0YzNMcnFkCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K        #client-certificate-data 指定用户证书,同样是 base64 编码。
    client-key-data: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFb3dJQkFBS0NBUUVBMjRmVnZZS0FNZzY1QlZmKzcvdk4vWEpyTlJQQXp3YkZZU1pNaVA4RXAyV1owa2RnCjFtaTcvME1qUzVKQXFWR0pNdWtLbDJOaW45NWNuMVRCeFNqRk9IMmp3UGU1dkhPVGFXVnNIYnk4eUFHdlR4T2kKVjZlMlVzOWJPbHRlMHd1aXI3TXJINUVITFl1aHhRZy9SaklMOWs2NXRpY084Nzh1ZW9Ldk9jMTNyWFpUVm5VWgpqVE5ZQ1VWMlBsV2I4WGV1bVBGQUdVU1RhOFdBMjhPSWNCZVpsOFBDNVlnYjgvQ2RRcld6WXJVcFJKMVkybW9LCk9CZEdqSXlkVjZFM2R5SzNabk1ueFo1a3BHZTdWaU9XeGRiVmt3bWk2ZjRHNEJuaVBOaHIvSzlNMVF4bU8vcUYKVVBiUlRVWHVxOVMzUWZRelFGT3lHTHJhblFVVGIvM1lSQ3Q1bFFJREFRQUJBb0lCQUh4NDVVa0JnSHhoZXFpNwoveEhGSFVQU0oxVTk4UG14WmlLeVczemwwNWF5ZGVnVGpxV2pWc3ppSFZZUkE5YTlJMlNaVytjQWRBQWZUVGNPCkVKd2doTXFGK2w1RVY2eXhmMmlvR0FnNFpuV2s5dWlJUW1rZTc3SytYWVNXSUFyYnN3K2FNQjVDMWVZT0lOZ2QKMS9xT0Q5aEZST2t4OWpsZ01oTkdtK0hUVFVNdElhVmJjV2Y3R3pJSVd5Mm9zRldmcVAzUFRwekNiZWRXTDIwNwpaU1BDRjlrOHAzYXQ0dFlidjZOV0h6ZVpZelYzbWJ6TFc4b2crNy8wbE0xRGFlTHpDZ1dPcHUwWVZmbmxva0NSCmppMll4K05kM0p6cSs0U0dwS0duVHVRWEFYK0tYVnA1bUljWFFYUy80Q2tyMzNYM0hwZGdEUEJZenBHWU1kb0gKQmpqa2RNRUNnWUVBM2hCOEQ5cnh3Tlh5d05TUTREdXB3Vk5jak5ObEF0QUphOFJUcDhaazVMU3prV2ZRL1BwUwpra05QZnJpNVhPeFRCK2d6OTFjQ3BFYWFoUmh5WUkya3NDQThzdjlYZWlDUTZHREMveUNPaUNqL3Bxd0VFRVZFCnRHQTZqd0p3TXllQlhpRjNOV0YrL3dFdjRKVUpMMTIrcWROVVNiSjZMZ1labTVrem9vMDd1UVVDZ1lFQS9SUTUKZGlOWS85SVZZT2JmV01HK1hkVkRKOHhmZ2pZVzByc1dSY3BCWDRvMVZDdHB4V2c2WjVHYkhLRU5CZGdXbjgveApjRG5mSTZKZ21CWUN6VTVOMjhqcGdZNVIrUklORWNtamJXWTVqbEZDaHF1cnZURlNZS2VYQzhEVEpBV2FiaFNOCjFRdkhHWlMyQk1SNWNuc0dwclYyUXBUTWNESHVWTHlIVnlZbFkxRUNnWUJrQ1FNS1ZYUkFqV0RjOHlVTWpuUUwKYmhVc0wzSzZrS01kMUFSbmVSMHNWaWJxWXQwbmlWQzNLUEZmd2JGbkplTEZsaG9LMnp5S2FtL2pjejdiTmhPeApiK1JJTW5UaXhGYmpCK3Z2NkdlcytPTXAzeVc1ZXFyWG90M2VYSmZVdzRBb3VtU3NQRzVzUzhtWW55clRGcVQwCmRnbnJaU1piSTA1WDVPejQxaXpJVFFLQmdRQ1RNSVFLOVp2NWpWSHB2ZDBBWGc0OXZKOEdNcE1KeERPWjlEMkwKOFluNzZ3SUJKZzZxUldoU2ZCamVtYnhkUGNSS3hrSUJwMmJqN3JpSE82WDlpaUUyUnErb0xnSDIva3lqbjhaeApCaGRMY205aXE4MkNoNEVGdmZMWFh4cHR4T1NBU1d3RUVJbUhrem9abzd1T25ZYk14cFUxUEIxNjAwOXQ4UWcxCjQzV3pRUUtCZ0MrN3M4b3FvK1Y3Uld3Q1dMZ2t4NmNFZ1BXd0FpR3MzMkRvYWZrWjVNeHl1SlMvYjAvTDNLODEKRHhnZ0drZVcwaGZtNmZVR1ZWcEtGSDl4b2ZqcjNVLzVBSjV1eFQ1b1lTVHM2bW9DTkRYZ0hERmZ2SG1FM29CYQo1d2h6TmR3YXZ4dXB5VDNxeXVoTmtFLzA0VzJ3ZU8vNU1MZXNkUVVZb3puQVlldktmY0JSCi0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg==        #client-key-data 指定用户私钥,同样是 base64 编码。
多集群配置

示例:

apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: DATA+OMITTED
    server: https://10.1.8.30:6443
  name: cluster1
- cluster:
    certificate-authority-data: DATA+OMITTED
    server: https://10.1.8.150:6443
  name: cluster2
contexts:
- context:
    cluster: cluster1
    namespace: default
    user: cluster1-admin
  name: cluster1-context
- context:
    cluster: cluster2
    namespace: default
    user: cluster2-admin
  name: cluster2-context
current-context: cluster1-context
kind: Config
preferences: {}
users:
- name: cluster1-admin
  user:
    client-certificate-data: DATA+OMITTED
    client-key-data: DATA+OMITTED
- name: cluster2-admin
  user:
    client-certificate-data: DATA+OMITTED
    client-key-data: DATA+OMITTED

配置文件定义了以下资源:

  • clusters:集群信息,包括集群名、authority、地址和端口。
  • users:用户信息,包括用户名、certificate和key。
  • contexts:上下文信息,包括上下文名称、集群名、用户名和namespace。

多集群切换

kubernetes 自带工具

环境准备:

root@master30~ 19:10:00# cp .kube/config .kube/config.bak
root@master30~ 19:10:32# vim .kube/config  #使用上面的多集群配置实例覆盖原内容

# *代表的是当前使用的上下文
root@master30~ 19:11:30# kubectl config get-contexts
CURRENT   NAME               CLUSTER    AUTHINFO         NAMESPACE
*         cluster1-context   cluster1   cluster1-admin   default
          cluster2-context   cluster2   cluster2-admin   default
          
#查看集群清单
root@master30~ 19:11:39# kubectl config get-clusters
NAME
cluster2
cluster1

#切换上下文
root@master30~ 19:11:48# kubectl config use-context cluster2-context
Switched to context "cluster2-context".
root@master30~ 19:13:14# kubectl config get-contexts
CURRENT   NAME               CLUSTER    AUTHINFO         NAMESPACE
          cluster1-context   cluster1   cluster1-admin   default
*         cluster2-context   cluster2   cluster2-admin   default

更多推荐