如何手动创建 k8s kubeconfig 文件以实现多环境切换

这篇文件简单介绍一下集群环境中如何配置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-authoritycertificate-authority-data
- 修改 client-certificateclient-certificate-data
- 修改 client-keyclient-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 看看发生了什么,
发现生成了 cachehttp_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
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值