手动配置 kubectl 连接 kubernetes 集群

拿到集群 api server 地址

$ kubectl cluster-info
Kubernetes control plane is running at https://k8s-api:6443

拿到集群 ca 证书

kubectl get secret \
    $(kubectl get secrets | grep default-token | awk '{print $1}') \
    -o jsonpath="{['data']['ca\.crt']}" | base64 --decode

创建具有集群管理权限的 ServiceAccount 并拿到其 token,比如这里用户名是 k8s-admin

kubectl create serviceaccount k8s-admin -n kube-system
kubectl create clusterrolebinding k8s-admin-binding --clusterrole=cluster-admin --serviceaccount=kube-system:k8s-admin -n kube-system
kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep k8s-admin | awk '{print $1}')

设置之前拿到的 api server 地址与 ca 证书(先将证书保存到ca.crt文件)

kubectl config set-cluster k8s --server=https://k8s-api:6443 --certificate-authority=ca.crt --embed-certs=true

设置连接集群的 ServiceAccount 的 token

kubectl config set-credentials k8s-admin --token=***

设置 context

kubectl config set-context k8s --cluster k8s --user k8s-admin

设置默认 context

kubectl config use-context k8s

用配置好的 kubectl 开船

kubectl get pods -n kube-system

Original: https://www.cnblogs.com/dudu/p/14488594.html
Author: dudu
Title: 手动配置 kubectl 连接 kubernetes 集群

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/547067/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球