Kubeconfig基本结构并管理多集群

Kubeconfig基本结构并管理多集群


前提通过rbac授权role或者clusterrole,再进行如下配置。

通过Kubectl设置kubeconfig

ca证书获取方式,下面用到的是base64解密之后的:

kubectl get secret <secretname> -o jsonpath='{.data.ca\.crt}' | base64 -d > ca.crt

token获取方式(需要base64解密):

kubectl get secret <secretname> -o jsonpath='{.data.token}' | base64 --decode > token
  1. 设置cluster
kubectl config set-cluster cluster_name \
    --embed-certs=true \
    --server=https://ip:6443 \
    --certificate-authority=./ca.crt

这里的ca.crt是base64解密之后的,形如

-----BEGIN CERTIFICATE-----

-----END CERTIFICATE-----

  1. 设置token认证
kubectl config set-credentials lab2-user --token=<token>
  1. 设置上下文
kubectl config set-context lab2 --cluster=lab2 --user=lab2-user

验证:

image-20200709142332144

修改kubeconfig的NAME 、CLUSTER、AUTHIINFO

修改kubectl时候注意三大位置,clusters,contexts,users,对应位置的名称对应。

image-20200709141358025

通过ServiceAccount的token,创建kubeconfig文件

关于sa的一些知识,请在文档内搜索rbac。

apiVersion: v1
kind: Config

clusters:
- name: ${cluster_name}
  cluster:
    certificate-authority-data: ${ca}
    server: ${server}
    
contexts:
- name: ${context_name}
  context:
    cluster: ${cluster_name}
    namespace: default
    user: ${sa_name}
    
current-context: ${context_name}

users:
- name: ${sa_name}
  user:
    token: ${token}
  • ca证书获取方式(这里需要的是base64加密之后的):
ca=$(kubectl get secret <secretname> -o jsonpath='{.data.ca\.crt}')
  • token获取方式(需要base64解密):
token=$(kubectl get secret <secretname> -o jsonpath='{.data.token}' | base64 --decode)
  • Server: 需要是https://ip:6443,一般是6443
  • sa_name: 并不一定是Servicename,只要与users.name对应即可。
  • cluster_name 和 context_name可以自己指定,也可以修改,会稍微麻烦,建议一次性修改准确,因为这个和控制多集群又关系。

需要的这几个值设置好之后就可以进行下一步:

echo "
apiVersion: v1
kind: Config

clusters:
- name: ${cluster_name}
  cluster:
    certificate-authority-data: ${ca}
    server: ${server}
    
contexts:
- name: ${context_name}
  context:
    cluster: ${cluster_name}
    namespace: default
    user: ${sa_name}
    
current-context: ${context_name}

users:
- name: ${sa_name}
  user:
    token: ${token}
" > sa-kubeconfig

验证:

image-20200708121637987

image-20200708121737504

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值