01. 连接到集群
上下文配置
通过
# 创建cluster
kubectl config set-cluster set-cluster scratch --server=https://5.6.7.8 --insecure-skip-tls-verify
# 创建user
kubectl config set-credentials experimenter --username=exp --password=some-password
# 创建context
kubectl config set-context exp-scratch --cluster=scratch --namespace=default --user=experimenter
# 指定当前使用的context
kubectl config use-context exp-scratch
我们也可以指明如下的配置文件,通过 export KUBECONFIG=/path/to/config.yml
的方式来指明当前的上下文:
apiVersion: v1
kind: Config
preferences: {}
# Define the cluster
clusters:
- cluster:
certificate-authority-data: xx
server: "https:/xx:6443"
name: "xx"
# Define the user
users:
- name: "xx"
user:
as-user-extra: {}
client-key-data: "xx"
token: "xx"
# Define the context: linking a user to a cluster
contexts:
- context:
cluster: "0"
namespace: "xx"
user: "xx"
name: "xx"
# Define current context
current-context: "xx"
上下文切换
在
mkdir $HOME/.kube
scp root@<master-public-ip>:/etc/kubernetes/kube.conf $HOME/.kube/config
然后可以来查看当前的上下文
$ unset KUBECONFIG
$ kubectl config current-context # 查看当前载入的上下文
$ kubectl config get-contexts # 浏览可用的上下文
$ kubectl config use-context context-name # 切换到指定上下文
在操作kubectl get pods -n test
。默认情况下,如果不提供名称空间标记,将使用默认的
这个默认值可以在
$ kubectl config set contexts.my-context.namespace my-namespace
上述命令会更改
$ kubens
default
docker
kube-node-lease
kube-public
kube-system
为所选上下文设置默认名称空间,这也是一种快速简单的操作:
$ kubens default
Context "docker-desktop" modified.
Active namespace is "default".