如何手动创建 k8s kubeconfig 文件以实现多环境切换
这篇文件简单介绍一下集群环境中如何配置kubectl,以及如何制作 kubeconfig 文件,以使用 kubectl config 来实现切换多种k8s环境,官方有相应的文档,这里简要介绍一下如何手动生成这个 config 文件。1、集群环境中如何配置kubectl (有集群登录权限)要实现 kubectl get no 这种以很少命令参数的方式获取到 k8s 集群信息,下面介绍一种...
这篇文件简单介绍一下集群环境中如何配置kubectl,以及如何制作 kubeconfig 文件,以使用 kubectl config 来实现切换多种k8s环境,官方有相应的文档,这里简要介绍一下如何手动生成这个 config 文件。
1、集群环境中如何配置kubectl (有集群登录权限)
要实现 kubectl get no 这种以很少命令参数的方式获取到 k8s 集群信息,下面介绍一种方法,这种方法一般是面向运维人员,有集群登录权限。还可以实施到部署k8s集群时,方便每个节点上执行访问。
1、首先创建 k8s_env.sh
文件,填写如下相关环境配置变量,并放到 /etc/profile.d
目录下,source 后,使其生效。
为什么要放到这个目录下?因为在执行命令时, bash 会默认检查这个目录,根据这个目录下的配置去访问系统。
-[appuser@k8s-master-1 ~]$ cat /etc/profile.d/k8s_env.sh
# for kubectl
export KUBERNETES_MASTER='10.130.14.155:443'
export KUBECONFIG='/etc/kubernetes/kubeconfig'
2、编写kubeconfig文件
这个 kubeconfig 文件定义了集群和客户端信息,包括https认证等,当然也可以采用 insecure-skip-tls-verify: true
来替换 certificate-authority: /etc/kubernetes/ssl/ca.crt
以跳过集群验证。
一般参考如下:
-[appuser@k8s-master-1 ~]$ cat /etc/kubernetes/kubeconfig
apiVersion: v1
kind: Config
clusters:
- name: shjq-dev01-chenqiang-cluster
cluster:
server: https://10.130.14.155:443
certificate-authority: /etc/kubernetes/ssl/ca.crt
users:
- name: shjq-dev01-chenqiang-user
user:
client-certificate: /etc/kubernetes/ssl/cs_client.crt
client-key: /etc/kubernetes/ssl/cs_client.key
contexts:
- context:
cluster: shjq-dev01-chenqiang-cluster
user: shjq-dev01-chenqiang-user
name: shjq-dev01-chenqiang
3、生成 kubeconfig 中指定的那些配置文件
当里集群设置了 https 访问时,请按照k8s官网手册,生成如下证书,并放入到 /etc/kubernetes/ssl/
下。
-[appuser@k8s-master-1 ~]$ ll /etc/kubernetes/ssl/
total 60
-rw-r--r-- 1 root root 2009 May 22 15:20 ca.crt
-rw-r--r-- 1 root root 3268 May 22 15:20 ca.key
-rw-r--r-- 1 root root 17 May 22 15:20 ca.srl
-rwxr-xr-x 1 root root 702 May 22 15:20 create-master-crt
-rw-r--r-- 1 root root 1452 May 22 15:20 cs_client.crt
-rw-r--r-- 1 root root 907 May 22 15:20 cs_client.csr
-rw-r--r-- 1 root root 1679 May 22 15:20 cs_client.key
-rw-r--r-- 1 root root 9450 May 22 15:20 master_ssl.cnf
-rw-r--r-- 1 root root 2029 May 22 15:20 server.crt
-rw-r--r-- 1 root root 1846 May 22 15:20 server.csr
-rw-r--r-- 1 root root 3268 May 22 15:20 server.key
-rw-r--r-- 1 root root 5297 May 22 15:20 server.pem
之后,进入到 k8s 节点中,不需要指定 kubeconfig file,也不需要用 -s
指定 apiserver ,直接使用 kubectl 就可以拿到集群的信息了
-[appuser@k8s-master-1 ~]$ kubectl get no
NAME STATUS ROLES AGE VERSION
10.130.14.67 Ready <none> 15d v1.9.3
10.130.14.68 Ready <none> 70d v1.9.3
10.130.14.73 Ready <none> 70d v1.9.3
2、将指定文件目录的方式转成单kube config文件方式访问
第一种配置方法,需要创建存放证书的目录,并将证书 cp 到该目录下,这种方式不适合移植和通用化,很多时候,kubectl 客户端其实只需要一个配置文件即可。这里说一个场景,比如公司某个成员想使用 k8s 环境,但我们又不希望给他 密码以登录到集群中来使用,我们只需要让他在自己的电脑上下载 kubectl 这个 client, 并给他一个配置文件 即可,那么如何制作这样一个配置文件?又如何使用呢?
1、下载kubectl
kubectl 的版本有很多,也有各种操作系统版本的 kubectl,只需要到官网下载和我们 k8s 集群私适配的版本即可。
2、修改config文件的文段
如下这个配置文件源于方法一
-[appuser@k8s-master-1 ~]$ cat /etc/kubernetes/kubeconfig
apiVersion: v1
kind: Config
clusters:
- name: shjq-dev01-chenqiang-cluster
cluster:
server: https://10.130.14.155:443
certificate-authority: /etc/kubernetes/ssl/ca.crt
users:
- name: shjq-dev01-chenqiang-user
user:
client-certificate: /etc/kubernetes/ssl/cs_client.crt
client-key: /etc/kubernetes/ssl/cs_client.key
contexts:
- context:
cluster: shjq-dev01-chenqiang-cluster
user: shjq-dev01-chenqiang-user
name: shjq-dev01-chenqiang
我们要配置成单个 kubeconfig 配置文件,我们需要做如下操作:
- 修改 certificate-authority
成 certificate-authority-data
- 修改 client-certificate
成 client-certificate-data
- 修改 client-key
成 client-key-data
- 对 /etc/kubernetes/ssl/ca.crt, cs_client.crt, cs_client.key
进行 base64
编码,分别执行 /etc/kubernetes/ssl/ca.crt|base64
等。
经过上述步骤,我们得到类似如下文件:
apiVersion: v1
clusters:
- cluster:
certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZuVENDQTRXZ0F3SUJBZ0lKQVBuVlJIdW9zZXpqTUEwR0NTcUdTSWIzRFFFQkN3VUFNR1V4Q3pBSkJnTlYKQkFZVEFrTk9NUkV3RHdZRFZRUUlEQWhUYUdGdVoyaGhhVEVQTUEwR0ExVUVCd3dHVUhWa2IyNW5NUll3RkFZRApWUVFLREExellXbGpiVzkwYjNJdVkyOXRNUXd3Q2dZRFZRUUxEQU5yT0hNeEREQUtCZ05WQkFNTUEyczRjekFlCkZ3MHhPREF6TURnd05qSTJORE5hRncweE9UQXpNRGd3TmpJMk5ETmFNR1V4Q3pBSkJnTlZCQVlUQWtOT01SRXcKRHdZRFZRUUlEQWhUYUdGdVoyaGhhVEVQTUEwR0ExVUVCd3dHVUhWa2IyNW5NUll3RkFZRFZRUUtEQTF6WVdsagpiVzkwYjNJdVkyOXRNUXd3Q2dZRFZRUUxEQU5yT0hNeEREQUtCZ05WQkFNTUEyczRjekNDQWlJd0RRWUpLb1pJCmh2Y05BUUVCQlFBRGdnSVBBRENDQWdvQ2dnSUJBSy9lNG11QTR6VXRCRzdXdFhDN0o0NmpkQXhabVltaDZXL2oKelRwemlyOHlLY3ZvY3gvRUxQWjZxVmRTWFpKUGI1SUtDMVJBSnoveE0ycHZVNW9BemdSYzhpbnh6M0FGSEJaTQoxb0hWb0lxNXBWRzBYVkJ0Nm8xTjE2bXlySGFDZ3dQTG55dFE1bGhKRDA5c2FmbUlHU1NoVGt0QjZKZGhBLzd5CjFvbDhOTHJGbnpCSDQvOG9Od0NDaHkrcUdYVE9hNTY2UzhjNW5vQ2c2TlovTGxZVjFLUHlJdjFMblRmd3VselUKenpSTGUwVkRjZXpwUmY0RnJ4TVJLSzgzVkVJSnZScW5UeEUzaFlBSDRBeXZTaHBRc2VJSEV0QTRzSnlSSzY5SApsV0UrRkUyb3pZM2pocFZmdGwzekpqLzdTMm9IeEJaUXRCU2l6SU9tb2o3a1RtMGN4UzF6cWpkejZrL05BaENXCmRVd1FPbUVXL04yc3haLzlBM0t0R3hnRVJKc20xRUZIY1ZDM29xY1ZlbW50MDhUSXBDaGJ2SjlucGhEVXdnRU4KaWt4b2Q4VzgwMTJDdmlyNzFBR2N3ZnNRc2EyTnBkcUJ1UDhtMEFaTjBIWDBSZmxOc1RNeVVoUDZ6NzJ1MUNydwp4Zm9oeW93aDBMTzNoZUw5L2FId3dHVEQ4aE4wbjZkYmpQTkUvWU1Ed0VGaU81ZHF0UWpoMmhlZXJIRnI2b1BQCmZhY0hCTmM3WUppMy9BTkpNclZ6VHM1RWFkWDZYWStJTlJXTk5UbEtML2xrendvZ3R2TFgwVjQwUmZJU1dreUsKQ1JjcksvYnFqRkhLWVRxSVdPdlB2dFk3TGhUL0swdGpUTVYxZEFMc0o1OXlMSVQyOHZYL1l0bWNhZGhGbHQ2UApMZE13eUV3ckFnTUJBQUdqVURCT01CMEdBMVVkRGdRV0JCVFNHMmRjSHBnWEpIVE9OVGdlUXRRV2FyZ2c0VEFmCkJnTlZIU01FR0RBV2dCVFNHMmRjSHBnWEpIVE9OVGdlUXRRV2FyZ2c0VEFNQmdOVkhSTUVCVEFEQVFIL01BMEcKQ1NxR1NJYjNEUUVCQ3dVQUE0SUNBUUFvVXZ2MWNYMGNQVnpXaDZxMWdKR2QyQU5EN3c2V2ZYTmJ1bWR4aTNQUgpNaWFUdnZFNTlVZDdoU0o1TUxVY1NJNTZIUytoZGZGOFUxLzkxOUU1STJtMUxoY2JxVThoRnRuNlpHSnIrUDV6CjRpQ3lYcHZndkplWHFhdXFndk9abEJsYzFYbTZZaHlPeUM5OGJrOWZKdGlUZVBJVk96djNlZFdtWklCbnUvTVQKVmJPYnFJa3pJcGFIQ2paaDd3Zm5oVTN1THp1akZ0NG9aTlFjSVFzT1lhTGcxUUhXL3JGdkttMDFzb2c3b2RvLwpaRWh6NzFZa2h0TWJsbWtZN0xvVVI5cWw2TGF4dVlnbFRpcyt6Y3pKZEI0eHBSLzI5V1RrVlZKMjlFVG54UzU1ClFNTm5aSnNBdGZ1YmM5QjUxeDByL0xXelNIOGlCbWxucGppWTJTeUpFdldxSmo4ckpDQUZmZ1hESnQzN3JmZnoKQnhMbDl4Rm9yNG1hV0xZN3pwR3UvN3NNejBDWWRZeVRlUXZJc3M5L0NocVRTRXFRbXRjZGFLTmRKaXlyZEJoRgpaUVhoUjIxWUhkeHJzb3JySUM0cWJxN2VXbkNqcHp6QkNFSHBxTCtGd0d3YnZYZE1OWk5KVG8xUmFLT01YZGZBClhYcWNZcVpXbHRyc2VyREthc3haMzBPWU1hSDJSd05qdlpBcVFSVmF1bGlpRjhmZUpsSHQ5SlpIVDQ1ZFBDYU8KQmM5NzNyYlVKL3haWXhVcE9OYUNsOXZWNVpEb0Q0eTJUU3g1QzFpTS9VMWFOS2Q1Rld3dytFN0dacExpQ0Z4NApIQVI1Ujg0Y0JqYkdMRzlxTFdhK1RUTFFlWnJIdXExTlRtYkRDdHRpSlZ3Rk03YmlpNWVUUHNKQWF1UkZTNzQ0CjdRPT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
server: https://10.130.14.155:443
name: shjq-dev01-chenqiang-cluster
contexts:
- context:
cluster: shjq-dev01-chenqiang-cluster
user: shjq-dev01-chenqiang-user
name: shjq-dev01-chenqiang
current-context: shjq-dev01-chenqiang
kind: Config
preferences: {}
users:
- name: shjq-dev01-chenqiang-user
user:
client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUVBakNDQWVvQ0NRQ0NhYWdFUnFmNExEQU5CZ2txaGtpRzl3MEJBUXNGQURCbE1Rc3dDUVlEVlFRR0V3SkQKVGpFUk1BOEdBMVVFQ0F3SVUyaGhibWRvWVdreER6QU5CZ05WQkFjTUJsQjFaRzl1WnpFV01CUUdBMVVFQ2d3TgpjMkZwWTIxdmRHOXlMbU52YlRFTU1Bb0dBMVVFQ3d3RGF6aHpNUXd3Q2dZRFZRUUREQU5yT0hNd0hoY05NVGd3Ck5USXlNRGN5TURVNVdoY05Nekl3TVRJNU1EY3lNRFU1V2pBaE1SOHdIUVlEVlFRRERCWnJPSE10YldGemRHVnkKTFRFdWJtOTJZV3h2WTJGc01JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBeUI4dgozeWI5akZsUVNMdy9RWGlVMnBXRnJOYzYwdG5qdWVYeTd4LzU2TnFzaTlIcDdlSzZaSG5LL1JabDcxZUltS0tPCjY4a1ZvWklGbEZsdlEyTFprSTJFa2F6Z3Rza3Z6b0N5eGhIUEp3SFdNbEZaQ1dndDFXVHdkTm93emI1ZEtpSngKRmxxb1pSbWdwQTBiSWE3Q2hBV0tPQ1Q1Uy9pdkpSNXpOd0x4c290WkpONlpweXJCc0YrL2lhQVBiZGRyK2NXSwo3UG9vdXlRZHhWZGplcEgvTmcyVC9zL1FLRVdvcUFnY1hvZ1BNSnNFaXNUMWloazN6UWNwcStTeC9OWFhCRzNTCk0xUWVnTlN4TnVkSjNIT0ZLaHFXKzZDcHFOU1JMb1BEUmw3Z2lQZ1JBMWpzdmVnbkJNMHFrbk1tUUEwLzdHUTIKdXN4ZGhHVFNXTERBYVVWMGNRSURBUUFCTUEwR0NTcUdTSWIzRFFFQkN3VUFBNElDQVFCVkFFVklFd0UwQUZNRgpVR1JlUTNDbGNjSC9oOXJ5c25rbWRFWVNpOGlJRkRsNVVhU0theDMrRHlOcjk1WWFlZjRsci9ZM2dqQ0JVU2w3ClpVZDg4YklWTVdHK05mRnZlRE9XUmU4dmgzaVRMOFVnMmMzenV4Q0x1bzlnS3RlRUpuTlJKOWd4K2lyRDhFVmQKYi9PTGJlWGM3alkvNHZpbUZXUHBSNU81QzJKRVpRdGdTVHhDUGREZFpCVzRpK1lERFlhQXVQTFptcFdHZ2lzSgpNaWluR01mREozTmt6N2pIRjR1V3ZsVzBSN0MyRE13cFVMeUpJVHpDVGIxMGNqTGF0ejV5eGs4Vk5za2pyRjlWCndteFJML05VR1dJdis0N3o3WTVDUlBJaTVRSHVUZVUwL1gwUlJtMm9aekoyRUJmSnVscDhBeEpiZTliSU5jRHUKd2wwNkR2Y01jOGhUbGpmY3hjbEh3S0VBcW1SSXlONGNGNUlkZTd6Q1V1VGZLckZTRlB4TXhUMzh4cmxRQXJMSgpTcUN0TmJMb2I4d0Y3V1JxWStGT05rZnNUWkVnc3Bxdm1BRjhVcjgvTGNGRXZVUnA3L3d4WnJvN25vK2F3M0pNCnAyMGZNdURQdjhkVXZaZlVmSkVLdG5PYUdYeEpSREI4eUVUVTBNRWdNaTFITUZiZTZ5bjNtbGxNYmlOektYRUIKREc1Zml5REszRHB4ZWJWREpLVVl5T01xbmtoVlYvZ3B6RDFBdURQb2NnclJzQk5LK2hzMXcwUzBmNnZCWXIzegpNZklLZk5ZTE5RczZDOXEwT0RSRTM5d2JGUEhjbS9MczRJNGIrV0FHOGJOM3ladXZQMnNBVHVhRXhsN01pK3N4CnlzbzBmbDFaVEtGV216by9iQmozaXNkUnJkUi9pZz09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
client-key-data: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBeUI4djN5YjlqRmxRU0x3L1FYaVUycFdGck5jNjB0bmp1ZVh5N3gvNTZOcXNpOUhwCjdlSzZaSG5LL1JabDcxZUltS0tPNjhrVm9aSUZsRmx2UTJMWmtJMkVrYXpndHNrdnpvQ3l4aEhQSndIV01sRloKQ1dndDFXVHdkTm93emI1ZEtpSnhGbHFvWlJtZ3BBMGJJYTdDaEFXS09DVDVTL2l2SlI1ek53THhzb3RaSk42WgpweXJCc0YrL2lhQVBiZGRyK2NXSzdQb291eVFkeFZkamVwSC9OZzJUL3MvUUtFV29xQWdjWG9nUE1Kc0Vpc1QxCmloazN6UWNwcStTeC9OWFhCRzNTTTFRZWdOU3hOdWRKM0hPRktocVcrNkNwcU5TUkxvUERSbDdnaVBnUkExanMKdmVnbkJNMHFrbk1tUUEwLzdHUTJ1c3hkaEdUU1dMREFhVVYwY1FJREFRQUJBb0lCQURGd3V3UDNmd1p3Zmt3cAo3YnJBRG81ZUNGTm1MUXN3ZDNsUzNRekVxcG9qaENOYTdkOHVkM3doTnN3Ri81TDgzaXRQWmQzTXBRSndyOTR4CnBqSlF0bzFtMlF5Z1dEZndSbFpQSjF1VnhNYlBSbHJTREJ3dDE3enpuaEJRWTJSQkZvVTFVeGtCdHI2YmNUdDIKWFhDWjIwYUFrK0JCQ2pJQnMwdUpWVStPODZWM0pYdGNQY2JsQUYzKzZVQjFXRVZIR0NrQlF4Mm1VdmNzOFVjMQpHK05kY2p5OUs3L1hUb1BKa3ZYN0lRK2tNUTVGRjFEYTZ2RXdqZndUL2ZwMGVMMnRYbTlkamZnVDhmUnZGeEw0CjVxdkUyUjNydVZzRzZjcG8raDBXRVdVcThDRWlJc3dyM2NDVktuRlNGUXlneFhkbEZjSkc2Y0d6NEwrVGFpRVcKODhTNXNwRUNnWUVBOTNOaHVUaHowTDdDSDl2eUZwVW0reFUvZG43SjQ2MDI0YklxQlVkODNRMTd2c0dpY29KUwpiOCsvczVsNkdUK1RrTHlWZEkxcWFzVHY0ZDNCME1TeTc2MlpKZWVQcUJqTEVqWnRuUzVDTVNWREFVRG52UElZCmd0MzNZSzE1S0IrLzBWb3B5ZHE0b3RKYWwvRmMxM2dhY0dmZjdTQUpVblRkKzhoWTgreGxVelVDZ1lFQXp3a3kKZTRucDJXcXRsdFdId3JMcERkMS9Nek5WQld3Slp6U2t2YzE5YmtWYkFmUDRZRzMyQmsybCtzWkVtL1BQUC9vYgpCQU5oQWJ4L2FacEVxbEg4YXRScmNhQlB3bGVEbk5tODlRR2UxcmZvTnNWYjdQNUl3SUdudnk4cGg3WVM4M1lxCm9adUh3ak43bUZ1RlBPMXhyWHh4UUErRW1QR1Qzd3ZvR0RKNTU4MENnWUFCSFNUWWQ1ZVYzZlh6dk1LM05VNnEKbktyZmRxeWorTGloaFhMSStVeG5sbEx6UmQzY1ZCZlk1djkrNkhielBDVUc1c0pwZHVWK3U0bzA0eEduUmV0awpSc3pFcmVrb29ZdndkZ3hDUTk0S2FKZUhudW9zSUk3WnIvUVlIRS9LVFhKSWwvWk9NVXpaZHNidm5pZUQxTWVSCnIvWURGRHpXZ1M0cW52ay9oOVhnN1FLQmdRREo4eWU2RjdueTZUc3drVk1mR1JONkFlQU0ybnFKa212TnJ5MHYKTTEyeGpaZUxYU2FmTVVPMXZGSTJQdVkzMVdnSStQY1hRQkNFK0JDMHV0VlY2aWsxTDhVcWpmeWZEbXlFT0dRMwovWCtwNUxSdmtLM3RpOUQ5YnJ0cEl5RDRqeU1ITnZHNHVCU0IyMlFwSnNUZHZLT1JYWHkreHlSSmFBUWNvdW1mCmlNVWUxUUtCZ1FDNi9Dano5elhabk1CeVZlREVDbEhHTS83OHJKTkhFOHNnTDJ6N2laa1NWeHNwRzY4WHppSlkKek1yMVdIcDdienR3SGVjMFJrQi8xMmpONzdQWW1BZUJKNEJOOU9yT3dWL1o0WGpkUkNic1dIMG9pcnkvdm55bgo5YWpvSkIxcFRUSEl0OEJZMmJiZC9ZMXovNERUQ0pLUitsSk1iU2lLV2pWQzQwSWNEY3I0Wnc9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo=
3、配置 KUBECONFIG 环境变量
创建 $HOME/.kube/
目录,并将上述得到的 kubeconfig 文件命名成 config,放于该目录下。
并在 ~/.bash_profile
中添加如下配置以导出该环境变量:
export KUBECONFIG=$KUBECONFIG:$HOME/.kube/config
这样我们就能在客户端,无需登录 k8s 集群的方式来访问了,我在 macos 下访问如下:
chenqiang@Johnny ~$ kubectl config use-context shjq-dev01-chenqiang
Switched to context "shjq-dev01-chenqiang".
chenqiang@Johnny ~$ kubectl get no
NAME STATUS ROLES AGE VERSION
10.130.14.67 Ready <none> 15d v1.9.3
10.130.14.68 Ready <none> 70d v1.9.3
10.130.14.73 Ready <none> 70d v1.9.3
我们也可以通过 kubectl config view
来查看该文件的配置。细心的你会进入 ~/.kube
看看发生了什么,
发现生成了 cache
及 http_cache
两个文件夹,
chenqiang@Johnny ~$ cd ~/.kube/
chenqiang@Johnny .kube$ ll
total 16
drwxr-xr-x 4 chenqiang staff 128 May 24 18:26 cache
-rw-r--r--@ 1 chenqiang staff 7296 May 24 18:25 config
drwxr-xr-x 31 chenqiang staff 992 May 24 18:25 http-cache
如何在多个集群间切换kubectl?
具体步骤与第二步相同,主要是添加相应的user和cluster即可。使用 use-context 来进行切换,大概类似:
chenqiang@Johnny ~$ kubectl config use-context shjq-uat01
Switched to context "shjq-uat01".
chenqiang@Johnny ~$ kubectl get no
NAME STATUS ROLES AGE VERSION
10.130.247.31 Ready <none> 16d v1.9.3
10.130.248.8 Ready <none> 3d v1.9.3
10.130.33.11 Ready <none> 41d v1.9.3
10.130.33.12 Ready <none> 41d v1.9.3
10.130.33.13 Ready <none> 41d v1.9.3
10.130.33.8 Ready <none> 41d v1.9.3
chenqiang@Johnny ~$ kubectl config use-context shjq-dev01-chenqiang
Switched to context "shjq-dev01-chenqiang".
chenqiang@Johnny ~$ kubectl get no
NAME STATUS ROLES AGE VERSION
10.130.14.67 Ready <none> 16d v1.9.3
10.130.14.68 Ready <none> 70d v1.9.3
10.130.14.73 Ready <none> 70d v1.9.3
下面给出多集群的 kubeconfig 参考配置。
apiVersion: v1
clusters:
- cluster:
certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZuVENDQTRXZ0F3SUJBZ0lKQVBuVlJIdW9zZXpqTUEwR0NTcUdTSWIzRFFFQkN3VUFNR1V4Q3pBSkJnTlYKQkFZVEFrTk9NUkV3RHdZRFZRUUlEQWhUYUdGdVoyaGhhVEVQTUEwR0ExVUVCd3dHVUhWa2IyNW5NUll3RkFZRApWUVFLREExellXbGpiVzkwYjNJdVkyOXRNUXd3Q2dZRFZRUUxEQU5yT0hNeEREQUtCZ05WQkFNTUEyczRjekFlCkZ3MHhPREF6TURnd05qSTJORE5hRncweE9UQXpNRGd3TmpJMk5ETmFNR1V4Q3pBSkJnTlZCQVlUQWtOT01SRXcKRHdZRFZRUUlEQWhUYUdGdVoyaGhhVEVQTUEwR0ExVUVCd3dHVUhWa2IyNW5NUll3RkFZRFZRUUtEQTF6WVdsagpiVzkwYjNJdVkyOXRNUXd3Q2dZRFZRUUxEQU5yT0hNeEREQUtCZ05WQkFNTUEyczRjekNDQWlJd0RRWUpLb1pJCmh2Y05BUUVCQlFBRGdnSVBBRENDQWdvQ2dnSUJBSy9lNG11QTR6VXRCRzdXdFhDN0o0NmpkQXhabVltaDZXL2oKelRwemlyOHlLY3ZvY3gvRUxQWjZxVmRTWFpKUGI1SUtDMVJBSnoveE0ycHZVNW9BemdSYzhpbnh6M0FGSEJaTQoxb0hWb0lxNXBWRzBYVkJ0Nm8xTjE2bXlySGFDZ3dQTG55dFE1bGhKRDA5c2FmbUlHU1NoVGt0QjZKZGhBLzd5CjFvbDhOTHJGbnpCSDQvOG9Od0NDaHkrcUdYVE9hNTY2UzhjNW5vQ2c2TlovTGxZVjFLUHlJdjFMblRmd3VselUKenpSTGUwVkRjZXpwUmY0RnJ4TVJLSzgzVkVJSnZScW5UeEUzaFlBSDRBeXZTaHBRc2VJSEV0QTRzSnlSSzY5SApsV0UrRkUyb3pZM2pocFZmdGwzekpqLzdTMm9IeEJaUXRCU2l6SU9tb2o3a1RtMGN4UzF6cWpkejZrL05BaENXCmRVd1FPbUVXL04yc3haLzlBM0t0R3hnRVJKc20xRUZIY1ZDM29xY1ZlbW50MDhUSXBDaGJ2SjlucGhEVXdnRU4KaWt4b2Q4VzgwMTJDdmlyNzFBR2N3ZnNRc2EyTnBkcUJ1UDhtMEFaTjBIWDBSZmxOc1RNeVVoUDZ6NzJ1MUNydwp4Zm9oeW93aDBMTzNoZUw5L2FId3dHVEQ4aE4wbjZkYmpQTkUvWU1Ed0VGaU81ZHF0UWpoMmhlZXJIRnI2b1BQCmZhY0hCTmM3WUppMy9BTkpNclZ6VHM1RWFkWDZYWStJTlJXTk5UbEtML2xrendvZ3R2TFgwVjQwUmZJU1dreUsKQ1JjcksvYnFqRkhLWVRxSVdPdlB2dFk3TGhUL0swdGpUTVYxZEFMc0o1OXlMSVQyOHZYL1l0bWNhZGhGbHQ2UApMZE13eUV3ckFnTUJBQUdqVURCT01CMEdBMVVkRGdRV0JCVFNHMmRjSHBnWEpIVE9OVGdlUXRRV2FyZ2c0VEFmCkJnTlZIU01FR0RBV2dCVFNHMmRjSHBnWEpIVE9OVGdlUXRRV2FyZ2c0VEFNQmdOVkhSTUVCVEFEQVFIL01BMEcKQ1NxR1NJYjNEUUVCQ3dVQUE0SUNBUUFvVXZ2MWNYMGNQVnpXaDZxMWdKR2QyQU5EN3c2V2ZYTmJ1bWR4aTNQUgpNaWFUdnZFNTlVZDdoU0o1TUxVY1NJNTZIUytoZGZGOFUxLzkxOUU1STJtMUxoY2JxVThoRnRuNlpHSnIrUDV6CjRpQ3lYcHZndkplWHFhdXFndk9abEJsYzFYbTZZaHlPeUM5OGJrOWZKdGlUZVBJVk96djNlZFdtWklCbnUvTVQKVmJPYnFJa3pJcGFIQ2paaDd3Zm5oVTN1THp1akZ0NG9aTlFjSVFzT1lhTGcxUUhXL3JGdkttMDFzb2c3b2RvLwpaRWh6NzFZa2h0TWJsbWtZN0xvVVI5cWw2TGF4dVlnbFRpcyt6Y3pKZEI0eHBSLzI5V1RrVlZKMjlFVG54UzU1ClFNTm5aSnNBdGZ1YmM5QjUxeDByL0xXelNIOGlCbWxucGppWTJTeUpFdldxSmo4ckpDQUZmZ1hESnQzN3JmZnoKQnhMbDl4Rm9yNG1hV0xZN3pwR3UvN3NNejBDWWRZeVRlUXZJc3M5L0NocVRTRXFRbXRjZGFLTmRKaXlyZEJoRgpaUVhoUjIxWUhkeHJzb3JySUM0cWJxN2VXbkNqcHp6QkNFSHBxTCtGd0d3YnZYZE1OWk5KVG8xUmFLT01YZGZBClhYcWNZcVpXbHRyc2VyREthc3haMzBPWU1hSDJSd05qdlpBcVFSVmF1bGlpRjhmZUpsSHQ5SlpIVDQ1ZFBDYU8KQmM5NzNyYlVKL3haWXhVcE9OYUNsOXZWNVpEb0Q0eTJUU3g1QzFpTS9VMWFOS2Q1Rld3dytFN0dacExpQ0Z4NApIQVI1Ujg0Y0JqYkdMRzlxTFdhK1RUTFFlWnJIdXExTlRtYkRDdHRpSlZ3Rk03YmlpNWVUUHNKQWF1UkZTNzQ0CjdRPT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
server: https://10.130.14.155:443
name: shjq-dev01-chenqiang-cluster
- cluster:
certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZuVENDQTRXZ0F3SUJBZ0lKQVBuVlJIdW9zZXpqTUEwR0NTcUdTSWIzRFFFQkN3VUFNR1V4Q3pBSkJnTlYKQkFZVEFrTk9NUkV3RHdZRFZRUUlEQWhUYUdGdVoyaGhhVEVQTUEwR0ExVUVCd3dHVUhWa2IyNW5NUll3RkFZRApWUVFLREExellXbGpiVzkwYjNJdVkyOXRNUXd3Q2dZRFZRUUxEQU5yT0hNeEREQUtCZ05WQkFNTUEyczRjekFlCkZ3MHhPREF6TURnd05qSTJORE5hRncweE9UQXpNRGd3TmpJMk5ETmFNR1V4Q3pBSkJnTlZCQVlUQWtOT01SRXcKRHdZRFZRUUlEQWhUYUdGdVoyaGhhVEVQTUEwR0ExVUVCd3dHVUhWa2IyNW5NUll3RkFZRFZRUUtEQTF6WVdsagpiVzkwYjNJdVkyOXRNUXd3Q2dZRFZRUUxEQU5yT0hNeEREQUtCZ05WQkFNTUEyczRjekNDQWlJd0RRWUpLb1pJCmh2Y05BUUVCQlFBRGdnSVBBRENDQWdvQ2dnSUJBSy9lNG11QTR6VXRCRzdXdFhDN0o0NmpkQXhabVltaDZXL2oKelRwemlyOHlLY3ZvY3gvRUxQWjZxVmRTWFpKUGI1SUtDMVJBSnoveE0ycHZVNW9BemdSYzhpbnh6M0FGSEJaTQoxb0hWb0lxNXBWRzBYVkJ0Nm8xTjE2bXlySGFDZ3dQTG55dFE1bGhKRDA5c2FmbUlHU1NoVGt0QjZKZGhBLzd5CjFvbDhOTHJGbnpCSDQvOG9Od0NDaHkrcUdYVE9hNTY2UzhjNW5vQ2c2TlovTGxZVjFLUHlJdjFMblRmd3VselUKenpSTGUwVkRjZXpwUmY0RnJ4TVJLSzgzVkVJSnZScW5UeEUzaFlBSDRBeXZTaHBRc2VJSEV0QTRzSnlSSzY5SApsV0UrRkUyb3pZM2pocFZmdGwzekpqLzdTMm9IeEJaUXRCU2l6SU9tb2o3a1RtMGN4UzF6cWpkejZrL05BaENXCmRVd1FPbUVXL04yc3haLzlBM0t0R3hnRVJKc20xRUZIY1ZDM29xY1ZlbW50MDhUSXBDaGJ2SjlucGhEVXdnRU4KaWt4b2Q4VzgwMTJDdmlyNzFBR2N3ZnNRc2EyTnBkcUJ1UDhtMEFaTjBIWDBSZmxOc1RNeVVoUDZ6NzJ1MUNydwp4Zm9oeW93aDBMTzNoZUw5L2FId3dHVEQ4aE4wbjZkYmpQTkUvWU1Ed0VGaU81ZHF0UWpoMmhlZXJIRnI2b1BQCmZhY0hCTmM3WUppMy9BTkpNclZ6VHM1RWFkWDZYWStJTlJXTk5UbEtML2xrendvZ3R2TFgwVjQwUmZJU1dreUsKQ1JjcksvYnFqRkhLWVRxSVdPdlB2dFk3TGhUL0swdGpUTVYxZEFMc0o1OXlMSVQyOHZYL1l0bWNhZGhGbHQ2UApMZE13eUV3ckFnTUJBQUdqVURCT01CMEdBMVVkRGdRV0JCVFNHMmRjSHBnWEpIVE9OVGdlUXRRV2FyZ2c0VEFmCkJnTlZIU01FR0RBV2dCVFNHMmRjSHBnWEpIVE9OVGdlUXRRV2FyZ2c0VEFNQmdOVkhSTUVCVEFEQVFIL01BMEcKQ1NxR1NJYjNEUUVCQ3dVQUE0SUNBUUFvVXZ2MWNYMGNQVnpXaDZxMWdKR2QyQU5EN3c2V2ZYTmJ1bWR4aTNQUgpNaWFUdnZFNTlVZDdoU0o1TUxVY1NJNTZIUytoZGZGOFUxLzkxOUU1STJtMUxoY2JxVThoRnRuNlpHSnIrUDV6CjRpQ3lYcHZndkplWHFhdXFndk9abEJsYzFYbTZZaHlPeUM5OGJrOWZKdGlUZVBJVk96djNlZFdtWklCbnUvTVQKVmJPYnFJa3pJcGFIQ2paaDd3Zm5oVTN1THp1akZ0NG9aTlFjSVFzT1lhTGcxUUhXL3JGdkttMDFzb2c3b2RvLwpaRWh6NzFZa2h0TWJsbWtZN0xvVVI5cWw2TGF4dVlnbFRpcyt6Y3pKZEI0eHBSLzI5V1RrVlZKMjlFVG54UzU1ClFNTm5aSnNBdGZ1YmM5QjUxeDByL0xXelNIOGlCbWxucGppWTJTeUpFdldxSmo4ckpDQUZmZ1hESnQzN3JmZnoKQnhMbDl4Rm9yNG1hV0xZN3pwR3UvN3NNejBDWWRZeVRlUXZJc3M5L0NocVRTRXFRbXRjZGFLTmRKaXlyZEJoRgpaUVhoUjIxWUhkeHJzb3JySUM0cWJxN2VXbkNqcHp6QkNFSHBxTCtGd0d3YnZYZE1OWk5KVG8xUmFLT01YZGZBClhYcWNZcVpXbHRyc2VyREthc3haMzBPWU1hSDJSd05qdlpBcVFSVmF1bGlpRjhmZUpsSHQ5SlpIVDQ1ZFBDYU8KQmM5NzNyYlVKL3haWXhVcE9OYUNsOXZWNVpEb0Q0eTJUU3g1QzFpTS9VMWFOS2Q1Rld3dytFN0dacExpQ0Z4NApIQVI1Ujg0Y0JqYkdMRzlxTFdhK1RUTFFlWnJIdXExTlRtYkRDdHRpSlZ3Rk03YmlpNWVUUHNKQWF1UkZTNzQ0CjdRPT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
server: https://10.130.33.254:443
name: shjq-uat01-cluster
contexts:
- context:
cluster: shjq-dev01-chenqiang-cluster
user: shjq-dev01-chenqiang-user
name: shjq-dev01-chenqiang
- context:
cluster: shjq-uat01-cluster
user: shjq-uat01-user
name: shjq-uat01
current-context: shjq-dev01-chenqiang
kind: Config
preferences: {}
users:
- name: shjq-dev01-chenqiang-user
user:
client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUVBakNDQWVvQ0NRQ0NhYWdFUnFmNExEQU5CZ2txaGtpRzl3MEJBUXNGQURCbE1Rc3dDUVlEVlFRR0V3SkQKVGpFUk1BOEdBMVVFQ0F3SVUyaGhibWRvWVdreER6QU5CZ05WQkFjTUJsQjFaRzl1WnpFV01CUUdBMVVFQ2d3TgpjMkZwWTIxdmRHOXlMbU52YlRFTU1Bb0dBMVVFQ3d3RGF6aHpNUXd3Q2dZRFZRUUREQU5yT0hNd0hoY05NVGd3Ck5USXlNRGN5TURVNVdoY05Nekl3TVRJNU1EY3lNRFU1V2pBaE1SOHdIUVlEVlFRRERCWnJPSE10YldGemRHVnkKTFRFdWJtOTJZV3h2WTJGc01JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBeUI4dgozeWI5akZsUVNMdy9RWGlVMnBXRnJOYzYwdG5qdWVYeTd4LzU2TnFzaTlIcDdlSzZaSG5LL1JabDcxZUltS0tPCjY4a1ZvWklGbEZsdlEyTFprSTJFa2F6Z3Rza3Z6b0N5eGhIUEp3SFdNbEZaQ1dndDFXVHdkTm93emI1ZEtpSngKRmxxb1pSbWdwQTBiSWE3Q2hBV0tPQ1Q1Uy9pdkpSNXpOd0x4c290WkpONlpweXJCc0YrL2lhQVBiZGRyK2NXSwo3UG9vdXlRZHhWZGplcEgvTmcyVC9zL1FLRVdvcUFnY1hvZ1BNSnNFaXNUMWloazN6UWNwcStTeC9OWFhCRzNTCk0xUWVnTlN4TnVkSjNIT0ZLaHFXKzZDcHFOU1JMb1BEUmw3Z2lQZ1JBMWpzdmVnbkJNMHFrbk1tUUEwLzdHUTIKdXN4ZGhHVFNXTERBYVVWMGNRSURBUUFCTUEwR0NTcUdTSWIzRFFFQkN3VUFBNElDQVFCVkFFVklFd0UwQUZNRgpVR1JlUTNDbGNjSC9oOXJ5c25rbWRFWVNpOGlJRkRsNVVhU0theDMrRHlOcjk1WWFlZjRsci9ZM2dqQ0JVU2w3ClpVZDg4YklWTVdHK05mRnZlRE9XUmU4dmgzaVRMOFVnMmMzenV4Q0x1bzlnS3RlRUpuTlJKOWd4K2lyRDhFVmQKYi9PTGJlWGM3alkvNHZpbUZXUHBSNU81QzJKRVpRdGdTVHhDUGREZFpCVzRpK1lERFlhQXVQTFptcFdHZ2lzSgpNaWluR01mREozTmt6N2pIRjR1V3ZsVzBSN0MyRE13cFVMeUpJVHpDVGIxMGNqTGF0ejV5eGs4Vk5za2pyRjlWCndteFJML05VR1dJdis0N3o3WTVDUlBJaTVRSHVUZVUwL1gwUlJtMm9aekoyRUJmSnVscDhBeEpiZTliSU5jRHUKd2wwNkR2Y01jOGhUbGpmY3hjbEh3S0VBcW1SSXlONGNGNUlkZTd6Q1V1VGZLckZTRlB4TXhUMzh4cmxRQXJMSgpTcUN0TmJMb2I4d0Y3V1JxWStGT05rZnNUWkVnc3Bxdm1BRjhVcjgvTGNGRXZVUnA3L3d4WnJvN25vK2F3M0pNCnAyMGZNdURQdjhkVXZaZlVmSkVLdG5PYUdYeEpSREI4eUVUVTBNRWdNaTFITUZiZTZ5bjNtbGxNYmlOektYRUIKREc1Zml5REszRHB4ZWJWREpLVVl5T01xbmtoVlYvZ3B6RDFBdURQb2NnclJzQk5LK2hzMXcwUzBmNnZCWXIzegpNZklLZk5ZTE5RczZDOXEwT0RSRTM5d2JGUEhjbS9MczRJNGIrV0FHOGJOM3ladXZQMnNBVHVhRXhsN01pK3N4CnlzbzBmbDFaVEtGV216by9iQmozaXNkUnJkUi9pZz09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
client-key-data: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBeUI4djN5YjlqRmxRU0x3L1FYaVUycFdGck5jNjB0bmp1ZVh5N3gvNTZOcXNpOUhwCjdlSzZaSG5LL1JabDcxZUltS0tPNjhrVm9aSUZsRmx2UTJMWmtJMkVrYXpndHNrdnpvQ3l4aEhQSndIV01sRloKQ1dndDFXVHdkTm93emI1ZEtpSnhGbHFvWlJtZ3BBMGJJYTdDaEFXS09DVDVTL2l2SlI1ek53THhzb3RaSk42WgpweXJCc0YrL2lhQVBiZGRyK2NXSzdQb291eVFkeFZkamVwSC9OZzJUL3MvUUtFV29xQWdjWG9nUE1Kc0Vpc1QxCmloazN6UWNwcStTeC9OWFhCRzNTTTFRZWdOU3hOdWRKM0hPRktocVcrNkNwcU5TUkxvUERSbDdnaVBnUkExanMKdmVnbkJNMHFrbk1tUUEwLzdHUTJ1c3hkaEdUU1dMREFhVVYwY1FJREFRQUJBb0lCQURGd3V3UDNmd1p3Zmt3cAo3YnJBRG81ZUNGTm1MUXN3ZDNsUzNRekVxcG9qaENOYTdkOHVkM3doTnN3Ri81TDgzaXRQWmQzTXBRSndyOTR4CnBqSlF0bzFtMlF5Z1dEZndSbFpQSjF1VnhNYlBSbHJTREJ3dDE3enpuaEJRWTJSQkZvVTFVeGtCdHI2YmNUdDIKWFhDWjIwYUFrK0JCQ2pJQnMwdUpWVStPODZWM0pYdGNQY2JsQUYzKzZVQjFXRVZIR0NrQlF4Mm1VdmNzOFVjMQpHK05kY2p5OUs3L1hUb1BKa3ZYN0lRK2tNUTVGRjFEYTZ2RXdqZndUL2ZwMGVMMnRYbTlkamZnVDhmUnZGeEw0CjVxdkUyUjNydVZzRzZjcG8raDBXRVdVcThDRWlJc3dyM2NDVktuRlNGUXlneFhkbEZjSkc2Y0d6NEwrVGFpRVcKODhTNXNwRUNnWUVBOTNOaHVUaHowTDdDSDl2eUZwVW0reFUvZG43SjQ2MDI0YklxQlVkODNRMTd2c0dpY29KUwpiOCsvczVsNkdUK1RrTHlWZEkxcWFzVHY0ZDNCME1TeTc2MlpKZWVQcUJqTEVqWnRuUzVDTVNWREFVRG52UElZCmd0MzNZSzE1S0IrLzBWb3B5ZHE0b3RKYWwvRmMxM2dhY0dmZjdTQUpVblRkKzhoWTgreGxVelVDZ1lFQXp3a3kKZTRucDJXcXRsdFdId3JMcERkMS9Nek5WQld3Slp6U2t2YzE5YmtWYkFmUDRZRzMyQmsybCtzWkVtL1BQUC9vYgpCQU5oQWJ4L2FacEVxbEg4YXRScmNhQlB3bGVEbk5tODlRR2UxcmZvTnNWYjdQNUl3SUdudnk4cGg3WVM4M1lxCm9adUh3ak43bUZ1RlBPMXhyWHh4UUErRW1QR1Qzd3ZvR0RKNTU4MENnWUFCSFNUWWQ1ZVYzZlh6dk1LM05VNnEKbktyZmRxeWorTGloaFhMSStVeG5sbEx6UmQzY1ZCZlk1djkrNkhielBDVUc1c0pwZHVWK3U0bzA0eEduUmV0awpSc3pFcmVrb29ZdndkZ3hDUTk0S2FKZUhudW9zSUk3WnIvUVlIRS9LVFhKSWwvWk9NVXpaZHNidm5pZUQxTWVSCnIvWURGRHpXZ1M0cW52ay9oOVhnN1FLQmdRREo4eWU2RjdueTZUc3drVk1mR1JONkFlQU0ybnFKa212TnJ5MHYKTTEyeGpaZUxYU2FmTVVPMXZGSTJQdVkzMVdnSStQY1hRQkNFK0JDMHV0VlY2aWsxTDhVcWpmeWZEbXlFT0dRMwovWCtwNUxSdmtLM3RpOUQ5YnJ0cEl5RDRqeU1ITnZHNHVCU0IyMlFwSnNUZHZLT1JYWHkreHlSSmFBUWNvdW1mCmlNVWUxUUtCZ1FDNi9Dano5elhabk1CeVZlREVDbEhHTS83OHJKTkhFOHNnTDJ6N2laa1NWeHNwRzY4WHppSlkKek1yMVdIcDdienR3SGVjMFJrQi8xMmpONzdQWW1BZUJKNEJOOU9yT3dWL1o0WGpkUkNic1dIMG9pcnkvdm55bgo5YWpvSkIxcFRUSEl0OEJZMmJiZC9ZMXovNERUQ0pLUitsSk1iU2lLV2pWQzQwSWNEY3I0Wnc9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo=
- name: shjq-uat01-user
user:
client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUQ5VENDQWQwQ0NRQ3Z5MDJHM0lLZjR6QU5CZ2txaGtpRzl3MEJBUXNGQURCbE1Rc3dDUVlEVlFRR0V3SkQKVGpFUk1BOEdBMVVFQ0F3SVUyaGhibWRvWVdreER6QU5CZ05WQkFjTUJsQjFaRzl1WnpFV01CUUdBMVVFQ2d3TgpjMkZwWTIxdmRHOXlMbU52YlRFTU1Bb0dBMVVFQ3d3RGF6aHpNUXd3Q2dZRFZRUUREQU5yT0hNd0hoY05NVGd3Ck5USXlNRFEwTXpJMVdoY05Nekl3TVRJNU1EUTBNekkxV2pBVU1SSXdFQVlEVlFRRERBbFRRMU5RTURFMU16a3cKZ2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLQW9JQkFRRGM5cXpqY2tIZzFqNmwrY1JkOW15NQo5WEZTQ1hCL1g0T1ByekVMT1NVRkhHSzdrejBHUmRlWm0yaWxOS1I2SkZOU1pNT294N1NKWERnL3YvR1l0WUFKCjl3WXRlVWpyb2FUeHR3T2U2L3J6NE5UaUQrWWJpWDBqcHkxZUpVdDBMRWUvcHRBei9HeEgzMU1NbkplL0Q1N1QKeDhkaTJyUkhxWFJFWEI3bEhsTy9PQWVsenhQcGNlZ25neFFqeUNnTWhxQ0ZsMVF4bVMycTAvSGhuMFhCcmVGVgozc2dhQ0JhOUJqWDNYVmtncUh3TFNhdThPNTQ4ZS9GUzF2bXFnYmYwUkxGcFMraGEzOXozVktNNTNrbHZRdFB5CndvdWNDYkpWMFpnNDJsdkM3NTgySzdJQjVaNDFqcGNTb3BKeHk3ZmxBSkR1QTJYRUFNMldPR2QyOFRvTDB2V1oKQWdNQkFBRXdEUVlKS29aSWh2Y05BUUVMQlFBRGdnSUJBRUgzQk82ZXp3dkYyNWtidFZTN1dHZ05PRmRXTWtsNwpPdFFOdVhkZlUzeW5UZ0lhdVpzd1k0RFpNRllVU294aHo2bis5VW1qZE45NzBkUHVsQXNYWGFaMjZmMW9qaHM0CjQ1ZUVZaGhSb3o3bEtEMXp4NER5Z3ZlWEN2N1RXbkU2VGNuOWoyWHMwcHlSNjZBOUEvS3dKZFAzcUdBZFJ1OEYKVUEvT0hlOS9EQktXOFFDc0E1c3lSektvMzBpSnpVV3d5eFhZUkJEVVVLTk4xQTJTNlhINUExR1lyRWlYMjU3dQp1bjRqUVlpR0c5UUpmbmdEVXY1ck9yaXVaWU1ocmtEUXZKOVk5VDQvVU5EVmxVNEN6ZTd6YWNmM1h2NFJTMzRECitvTy85c000SkpIWUhtNzJOQ0V5Qk9rcVRFRlZvbHVDd2Uya1lYMkVNZ3BsL3RTZnVRVUVFbWZtR2RaNldKRWYKNE4zOWI1WTAxWDVuR09Hc3BDODl3Uk91dU1xTGE2eSttL1VwSmZhZkpxQjhYNllZamgyTUVVcUk1elFLT0VadgpCNnRYTjVGM25oR0V5dndaT3F5UVRtOXUvS01LRGVnNi9KeGpRLy9RSEpCNVBBSEFQRk9jSzUycEpzWEtha01qCjRLNWphU2FyL3BGYXR1TDdMc2hUcUZKOEFlTGRtaURTdUJTeUU2eHdhSS9BU2RTU2tPYmJwYmZVa0RSWUxVRXEKYkdjMzFISDQwcEsxWkdLUHdnUW9jVW1QRVNmMDBnMmxoUUhKbXdkK1dsSnFaU3dwalJpcW1Pd3NvVlhPRW1aaApUMklOT1NDNm5rWlBuV09PUWVtM2tqcFh6Y3N1aFdYRUZFZHBtcnZqdjRqVlJMcHVxL1k0NjlLRTFWSERQQlFaCkhUb21wWURQOFQyTAotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
client-key-data: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBM1BhczQzSkI0TlkrcGZuRVhmWnN1ZlZ4VWdsd2YxK0RqNjh4Q3prbEJSeGl1NU05CkJrWFhtWnRvcFRTa2VpUlRVbVREcU1lMGlWdzRQNy94bUxXQUNmY0dMWGxJNjZHazhiY0RudXY2OCtEVTRnL20KRzRsOUk2Y3RYaVZMZEN4SHY2YlFNL3hzUjk5VERKeVh2dytlMDhmSFl0cTBSNmwwUkZ3ZTVSNVR2emdIcGM4VAo2WEhvSjRNVUk4Z29ESWFnaFpkVU1aa3RxdFB4NFo5RndhM2hWZDdJR2dnV3ZRWTE5MTFaSUtoOEMwbXJ2RHVlClBIdnhVdGI1cW9HMzlFU3hhVXZvV3QvYzkxU2pPZDVKYjBMVDhzS0xuQW15VmRHWU9OcGJ3dStmTml1eUFlV2UKTlk2WEVxS1NjY3UzNVFDUTdnTmx4QURObGpobmR2RTZDOUwxbVFJREFRQUJBb0lCQVFERFZURnE4Nk4zTGc0OQp6WG1oRXVuMHpodjZTS3Z4ZmE4Z3d0K1pLMUFsbjMxTWtwRzh6TnNXU0lNT29HWFNML0NVZ3MxUWxCSnQ1MTgyClErbEFkUnFXTkpCNmZLQlE1Um1hTUk1NzIrS0IyengyQjFZRSs5cnJQS3RuY1pLdFJVTzhFYXcyZUt3RU1WRUsKY2hmWForaWhFUmVhdFBudjY4WURkR2cvWlRybGF1OEFCZ1A0TlJLaVhORExnNnhzZUc0YytjNy9ENE52OEVZcApnU0oxSERkcmRBbHBRZU5DZDRYSFBKRkhvYk9PWFNFYm9jYXdtaEdzSVpxOWIybDFnaW9GV09tYVQyd2I3eTFqCjZBZllVOXB5c2ROR3ZHWUNMK2U5U0REMGFGWnczVU5yNWFkc01Bb0xBc1lFSCs2TGNwcS91SHR4RDV1Y3BFVFoKNUVERDAwcmRBb0dCQVBPUHRPSlV1amRpNmRZZTBxZ1lvTTdwbUUwbXR6cU11Z0JnRDhQeW94d1FvSDNNWFZzNAo5eTY5emxiaElLakk1a2FzTllyNVZ2OVVyZXB1MDJSZWxMUWNHZW1JR2dJMWowN2YxSHYrKzRRSEZZdXNSU0IyCk1RVjNZNHA2YlRwL0lJenVJMzgrdnZjdHozTzg1RFY1MXM2TkJiT2VSVnJseWRwWjNnSWx4cjJUQW9HQkFPZy8KaHlvVTBqbkx0ZmFpRWQ5ek05SUFOclF0cVFuWWVmaWFoQzZXNWlERldYejhMeGJiekZ0cnNUTGhSMkNEV0Y5Ugp2RU5hcngwaTlWNmRueXpTNXVtQTJLY3NEL1dkN0xpZkd4Z1p2U0F5Ry8rdXA1ZkMyazN6VzBMY0tqTktXMkl4Ckw5RytLU0pUZmpOTVo5bFVTRDVMOWc5QW0xZkU0d0ZNb2pGYXAxdWpBb0dBVlVtY09La2NzQ3BsNGNIWFdGK1AKYUFVcWZOR3kxY0RUblRBR05VSncxWElKRVNRUUNOS1ExQUJKRWVreGk0a1dBZWRwdEdtTmlrbDN3U0RmeTBUSApZNjUzY0d4bFZ5SzBOUlZ5RFoyREszOWpqdzViQW53QXZINUxFQUhBMy93R1JQTmE0TUx6RWhFcmxNYXZUdjZFCk5yM3hJaTJvOGFTSG8zdFduMy9rOFJzQ2dZQngxVUZ3dE1mZG9DVk4vMTMzUWNYeWRqeFp6ODk4amVncW04R1IKL0ZCTFc2OWkvVkF2U2dnOS91alpZV1hVdmt3QVhGV0VSZHh5MFlHbW9HYzJWeURxN2taQ21ld3duUGs3L0hBUgpQZnhlM1hDdnYzRlJoeVhzOHd5V0ZzZHdZRSt1THlHYkVqT2pLWDAvczRGckdrNVdpbkRPUlFKZTRKZkxPVDUrCkprckZOUUtCZ1FEZlRNMHJ1UDcwTmdYcTJBQUVtYjA2eDRLWGU4MjJpWW1oOUZFc2dxWS9CeVArV2VjQkUwdmQKVWlwVGlRQm5nRFJUSHBpTGVGb1M3NVhSb0RvSDB3MUpyZ0pFRDQ4R253U3A3QjhocUJISmh4RlgzckFiZlFOeAppYnBEM1Z5K0FjejAwZXc5RFlXZ2ptdFVhMTVyTVhKdGRzUzUwUDdOeG1aWW9xbFlJOHZYaFE9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo=
更多推荐
所有评论(0)