跳到主要内容

[toc]

k8s设置通过kubeconfig登陆dashboard

k8s设置通过kubeconfig登陆dashboard官方文档

k8s 官方的dashboard每次登陆都需要输入token,而这个token一会特么就过期了,我就是本机实验,每次都得手动粘贴一大串命令获取token然后再登陆,非常麻烦

使用如下命令获取登陆dashboard的token

kubectl get secret `kubectl get secret -n kube-system|grep admin-token|awk '{print $1}'` -o jsonpath={.data.token} -n kube-system |base64 -d && echo

查看secrets

$ kubectl get secrets 
NAME TYPE DATA AGE
default-token-jlz9f kubernetes.io/service-account-token 3 45h

1.定义集群、用户和上下问

cat > dashboard-config.yaml << EOF
apiVersion: v1
kind: Config
preferences: {}

clusters:
- cluster:
name: ctyun

users:
- name: ctyun

contexts:
- context:
name: ctyun
EOF

2.将集群详细信息添加到配置文件中

kubectl config --kubeconfig=dashboard-config.yaml set-cluster ctyun --server=https://192.168.1.96 --insecure-skip-tls-verify

3.将用户详细信息添加到配置文件中

:::caution注意

将密码保存到 Kubernetes 客户端配置中有风险。 一个较好的替代方式是使用凭据插件并单独保存这些凭据。 参阅 client-go 凭据插件

:::

:::tip说明

  • 要删除用户,可以运行 kubectl --kubeconfig=config-demo config unset users.<name>
  • 要删除集群,可以运行 kubectl --kubeconfig=config-demo config unset clusters.<name>
  • 要删除上下文,可以运行 kubectl --kubeconfig=config-demo config unset contexts.<name>

:::

kubectl config --kubeconfig=dashboard-config.yaml set-credentials experimenter --username=admin --password=admin

4.将上下文详细信息添加到配置文件中

kubectl config --kubeconfig=dashboard-config.yaml set-context ctyun --cluster=ctyun --namespace=kubernetes-dashboard --user=admin
kubectl config --kubeconfig=dashboard-config.yaml view

1.创建cluster

kubectl config set-cluster kubernetes --certificate-authority=/etc/kubernetes/pki/ca.crt --server=10.0.0.130:6443 --kubeconfig=/root/dashbord-admin.conf

2.获取token

DASH_TOCKEN=$(kubectl get secret -n kube-system `kubectl get secret -n kube-system |grep dashboard |awk '{print $1}'` -o jsonpath={.data.token}|base64 -d)

3.创建credentials

kubectl config set-credentials dashboard-admin --token=$DASH_TOCKEN --kubeconfig=/root/dashbord-admin.conf

4.创建context

kubectl config set-context dashboard-admin@kubernetes --cluster=kubernetes --user=dashboard-admin --kubeconfig=/root/dashbord-admin.conf

5.切换context的current-context是dashboard-admin@kubernetes

kubectl config use-context dashboard-admin@kubernetes --kubeconfig=/root/dashbord-admin.conf
提示

下载 dashboard-admin.conf 然后登陆的时候选择这个文件即可