Kubernetes实战(十二)-使用kubeconfig文件管理多套kubernetes(k8s)集群

news2024/12/22 17:28:17

1 概述

在生产环境中可能不止有一套kubernetes(k8s)集群,面对多套集群,运维人员可以使用kubeconfig文件管理多套kubernetes(k8s)集群,使用 kubeconfig 文件,可以组织集群、用户和命名空间,还可以定义上下文,以便在集群和命名空间之间快速轻松地切换。

2 kubeconfig文件

用于配置集群访问的文件称为“kubeconfig 文件”。 这是引用配置文件的通用方法,并不意味着有一个名为 kubeconfig 的文件。

使用 kubeconfig 文件来组织有关集群、用户、命名空间和身份认证机制的信息。 kubectl 命令行工具使用 kubeconfig 文件来查找选择集群所需的信息,并与集群的 API 服务器进行通信。

默认情况下,kubectl 在 $HOME/.kube 目录下查找名为 config 的文件。 你可以通过设置 KUBECONFIG 环境变量或者设置 --kubeconfig参数来指定其他 kubeconfig 文件。

kubeconfig文件由3部分组成:clusters,users,contexts。clusters是kubernetes(k8s)集群信息,users是连接kubernetes(k8s)集群的用户信息,contexts上下文综合了clusters信息和users信息。

apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUM1ekNDQWMrZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwcmRXSmwKY201bGRHVnpNQjRYRFRJek1USXhNVEV6TVRVeE5Wb1hEVE16TVRJd09ERXpNVFV4TlZvd0ZURVRNQkVHQTFVRQpBeE1LYTNWaVpYSnVaWFJsY3pDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBTkdaCmR5N0J6Q1ZOYVZmeXJvN1k3Qm1JZ2lla3ZtSWpjUFpUdWp1UXlNMk43clZiQS9IcWh2eGQ2cmZtczM5a2IvSnYKOVpScWp5MUlGRTdsc3B5L1ZyL2F5TEYyMG0waDdsQnRTMlRrUXVHRkRzTUtQVWFsNVZIeU1rU05jbHd3NlpQVQpIMGhmSUZibHVlc2lxeTZBMlFad1NQT2FmZ3BGMmRyb2hFY242M0RiMzc0end3eERqVmRyS2g3cjF2RU85c0J6CjBkVGQ4UHVZdVFmL1R4ckk2M3JITFJRekViWXV0b3dlUzA0bTJKbUF1d2Y3bFVmQ3B4clNLWDlhb3FqRWZzTzEKN3U0Q3UvTG9kM2FENVFSZEJpeGNtdEYyeUV4VC9yaHgzckV5MDk3eHU5YzlVQVh0UVlxSXpTWTFLdTkvY1ZYUwozWkQ1MWtWR29RVVBMMU5WMHFFQ0F3RUFBYU5DTUVBd0RnWURWUjBQQVFIL0JBUURBZ0trTUE4R0ExVWRFd0VCCi93UUZNQU1CQWY4d0hRWURWUjBPQkJZRUZGb2N1RENoSUZjWmw2QmE0dTVQL0FUVnprOGJNQTBHQ1NxR1NJYjMKRFFFQkN3VUFBNElCQVFCMytBSitEa0hRa1IyOGJtYi9jbDA5WGtBQm0xdXE0cnVHTGVyazVIYUFWVnZWSThIVApiU3ByVWtXQno4OFJJa0JQQTNRdkNwUEt5YjdhbVk3QnpUekc4bmgwVGdUZXpoc2tWVjVoalc3VEYxSVp4WlhBCllCOThiQ0h6Zlo4ZUpoOW9DYjZKSkkyTUczYVVoN2pmZENsaHUzVUwvbGI3L0I5U0M3K2FFTUVJZHFPM0xydVkKbnZQRnVNeWpmdEhoNmVrY2x6VWptcGRtRFhLV3UzRExtYmRLWFg0TXpVRDNuSHkxWTdrekJISjJFUmpRbXlycgptSHh5c09vb2I4d1RIYmtQaFNic0x0ZVlDWFRER0tsd05OUytkSks4UVZjMTc4SFlURXJ1d3FYY2FRYkpFc1lICnBacGtDQ1lwRGJLMmp6Z0UzVnRFWnhCSkw5UW56dXV5eWVZaAotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
    server: https://10.220.43.203:6443
  name: kubernetes
contexts:
- context:
    cluster: kubernetes
    user: kubernetes-admin
  name: kubernetes-admin@kubernetes
current-context: kubernetes-admin@kubernetes
kind: Config
preferences: {}
users:
- name: kubernetes-admin
  user:
    client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURJVENDQWdtZ0F3SUJBZ0lJUnhnQ1p1bzlWUVl3RFFZSktvWklodmNOQVFFTEJRQXdGVEVUTUJFR0ExVUUKQXhNS2EzVmlaWEp1WlhSbGN6QWVGdzB5TXpFeU1URXhNekUxTVRWYUZ3MHlOREV5TVRBeE16RTFNVGRhTURReApGekFWQmdOVkJBb1REbk41YzNSbGJUcHRZWE4wWlhKek1Sa3dGd1lEVlFRREV4QnJkV0psY201bGRHVnpMV0ZrCmJXbHVNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQTNrTS80NWlwZXpaN3Q5SjEKNzlHWHJCSlpaWUJ1KzFuTUE2dVpEOFBpNzhuYVJqNE96NG9vRUc1NXdvWG85cUJYL2Iwd0lPUU1WRFRrbXVaNApEbG5KOEhwdzJQTWR3REIzUW14U1Fzb1VjN0paVjZxb0ZyaVZ1blRMSzZGMnF5M3BWM044bnVxam1CQ3JuRGJFClg4STBoaUVKZ3VNenVFZFZ4NU0xcFdJdU50MkRMdS9WWGFhV3J5R2NqN250YVFSbmRzWkd4b3hycURtTEY5UDcKY3J4bHF6TkVVeTNJMnkySU9mci9kcjVGbkZZa0V3d3p1TnRvdGdHaW1MYXkzOXVwR25wMkNKdm1QQVNQcHpzbQpkNzZrYzJ4Q1ByTFVuR2ZDTlNHbGlsaHVoOUVKSVNESmpoMHJKTFdBeGUwajRmZWdLU241bjJSbmRWeklvcUxVCkZHTnB5UUlEQVFBQm8xWXdWREFPQmdOVkhROEJBZjhFQkFNQ0JhQXdFd1lEVlIwbEJBd3dDZ1lJS3dZQkJRVUgKQXdJd0RBWURWUjBUQVFIL0JBSXdBREFmQmdOVkhTTUVHREFXZ0JSYUhMZ3dvU0JYR1plZ1d1THVUL3dFMWM1UApHekFOQmdrcWhraUc5dzBCQVFzRkFBT0NBUUVBYUU1ODQzd3hVVi9oWnc5bHg5T3VFcTl4S2phL3h5K0VoQkFTCmE5THcwc3N3SUdvUGFZZWRZbVJMWWlFYWdVSVZsTEkxd3J2TGhuMEd2dERWN0RNNmJRNVpkbzRiZ3UwWG5CbHkKb0t3WU0vbXp5b1I4N0JUNHc4L21lK2NORTIya3ppcFIrMS9JeXZRNTZVenZwaTJjWHcvVTJwd29EWVhxWTZzSwozWDNNaElDYlVpeUs5by8wbUM2Y1RGd2JkcDR6a1V1RU40QkVtT2hFalBhTzZic1VKRHgxOFIyUEFUcGdZMk5yCkpmY1JwSTZ5SGpKaCtOT1MxR0srN0VTQjE5djNxcVh2d09xYzc2dzNjQVJpb0tuTGgvQ21ibWVtcDBLZ3hLT2sKclNTWHpmUlI2WUtXNmo4VENlbGpiOWlCN00vcndJTXNGeWZuUGRCVEJ5Z3lFVUR4Z0E9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
    client-key-data: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcFFJQkFBS0NBUUVBM2tNLzQ1aXBlelo3dDlKMTc5R1hyQkpaWllCdSsxbk1BNnVaRDhQaTc4bmFSajRPCno0b29FRzU1d29YbzlxQlgvYjB3SU9RTVZEVGttdVo0RGxuSjhIcHcyUE1kd0RCM1FteFNRc29VYzdKWlY2cW8KRnJpVnVuVExLNkYycXkzcFYzTjhudXFqbUJDcm5EYkVYOEkwaGlFSmd1TXp1RWRWeDVNMXBXSXVOdDJETHUvVgpYYWFXcnlHY2o3bnRhUVJuZHNaR3hveHJxRG1MRjlQN2NyeGxxek5FVXkzSTJ5MklPZnIvZHI1Rm5GWWtFd3d6CnVOdG90Z0dpbUxheTM5dXBHbnAyQ0p2bVBBU1BwenNtZDc2a2MyeENQckxVbkdmQ05TR2xpbGh1aDlFSklTREoKamgwckpMV0F4ZTBqNGZlZ0tTbjVuMlJuZFZ6SW9xTFVGR05weVFJREFRQUJBb0lCQURGS2JMTEd1bDlPMStVTwpVWVZieiswakxKd3IvWERVbXovOUlEYTAxSEVsTExrRExqbXNnL0lRN2dQTHVyeG5GdHg0eG1HazhXOERRK2R1ClVSV3RwL0VpMWovbXVxUlNtMEFwMFp4cVFGcmdKSndpaHFCelV4RkVzWUg5anRtcmx1SUVCSkVockNJZklFL0cKZllwWEFWcjFuS3hnUXFvTmQrS0lyUTcrVlExcGJLbEZONlB5M3ZzY3p1enhRYXhPOVlzWEFTSERrcVRhc29JZwpHVHNPN0hXYjdrZVRJdk5aaFUwSVNvaCtXbGNvQ0MvVkljUVlLRlhSRlovQnY5ZlVSRzRIVlVwcU9GVjhZNjhaCkExK1NwNDEvR0JFeTBPa3FGYVZEUWtGT3NweVZEelhtYzJUWXo2TnhyVEhORjF1bmVmcUphTWZ1WUtQK0xRRXkKSzZWZUVCa0NnWUVBKzRWR3dvelo4WjR2RzZiamJTYkNFdzBQUko4czhMQUZPVHhwd1FzZXhmbVg2OUJRQWxpYQpXK0F3Qnd1OFpEZTYzQnFGcTVsekZHWkUveTFZeDFEZnBURnNmWEF2S05oVW1ucTRiR1RPdy9yN0JSanlPRTd3CmtPLzFaVjRhNlFxS0Vud1Nha2tXamd4dDZvVFZJeHREUU1FSE5ZZENLdU5kWDFRZEZLM0ExYk1DZ1lFQTRqaVUKM3ppL1dQbDlROVE1K1NzSWF2NDVzdzNTQ0tYamhMOG0wRWRHSUdnVVkrWUI2T3REY1AvNEk5Y0pCRmo1aitpQwpScmZvNXkwblNGZERTNGE5UENEdUVSVkh6dFVTbkNtVEVIRXJ0WDF1NitnNnJEblRncFpiVzlFTjNCZUNrb3U3CnZZUW1mSGd1ZmxnRm9RT1pRUGhEWmg1SE56V0x0TFNGYzNWQ2ZKTUNnWUVBOTZuZ1p5bHlZV3cxVHJFaU9CUjEKL1hSYW1HTjBTUHZKNlBZSDNFSXE1eDVCN2IyTlN3SWIzR1FBWnErenJhc0NvRUN0WnE4T2xnT3Q1T2F1Q0hVbQpBdStMdUdpQ3gyRmN6VkFSMFFuaVh5Ly9oS0Z2d09wYUR4MTVNWHRjWENRNG1NTDdEeFV3MUdhQXhQQlBQdVpWCmJxbWpnNTNRRlpNVUdnNGxKSHVDNmVrQ2dZRUF6Ry9KeWZqa282bkVGSHBFY2ZMN3hvVTg2NTEveENUMmVjNnQKYXVnZWJjYmhObTUwSjJRRkxLZUdQZzFrcnJNaHhYV2YxZno1MDRFdzBPVmJnWE9nckNndVBPMzRXT2loeXRLZgpmdXBuVDdxdGRUQUhaZ0ZVTGQxbmJwQjhiL3duR2Z5Qmk0RlRyb1NGcjlRb01oeW9jTmhyUUd2NGUrSStBTzVxCjg2NXlpVlVDZ1lFQXN1QWtlL01nMndKMnhLUzhWdE9rUHArSGpReVhFeW9mM09STGRPSEtXcFFoZzl0WGdZZjUKRmJVVW1WME5KQ3RqUm9tMnkrRHk1bCtsSTQ3UjlBWkRLRHVYTTg4b2NIY1FkR0FhdjZ3c1JMSmpmbkpsaVU3bgp5WFhZaVVVZUQyaUljVTlFa25aZU14MGVIQkFvOEdPQ3hWakZlWEl5ODF6aHNkN3BqZnNJWDhVPQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo=

3 kubernetes(k8s)多集群切换 

默认的kubeconfig文件为:~/.kube/config 文件。

$ ls .kube/
cache  config

编写一个kubeconfig文件来管理两套k8s集群。

$ cp .kube/config config2
$ cat config2 
apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUM1ekNDQWMrZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwcmRXSmwKY201bGRHVnpNQjRYRFRJeU1ERXdPVEE0TVRnd01Wb1hEVE15TURFd056QTRNVGd3TVZvd0ZURVRNQkVHQTFVRQpBeE1LYTNWaVpYSnVaWFJsY3pDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBTEZyCkRxb2YyV2twdDJ1a2xSWnljRHQyQ2xmYnNXdTBhb256NW1rTG5IaThlZFdJbkdWR09tMllxV0x2V20yRGFrYWYKSk9oNmtRU0wyYjBXZjBRbnZaMklIQ0hBYm5lTmI0NEpIaHVTL2MxU285d2VNQm5GNk9ZRjU2Qkk4dnlSamJhZgoyVXBQSUhNZTlYcitmZTYvRHRmTGFwOERkSFlCWGFPWlpZcDZIaGEyU1JWSjg4cmJRbzJuWnV6Ykl5bWdMUnpSCnpwdE9TRVpBa1JUMzRkZmF4bm0yM3hVNG9vSnRDRWhjZVNjZ3QvZ0szOFRXMmJkRmIzU1c2UWdNc0FFOG4yVXQKaDR4c203TDVla29kTHU1N2VmWHhNZTVKTU5yTXBIL0h5M3BHSlpab0NYbG5rbm9ML2EzdTBHKzgzak8zcXRzWgp0M004TDdDcTc5Qm5BQW41aS8wQ0F3RUFBYU5DTUVBd0RnWURWUjBQQVFIL0JBUURBZ0trTUE4R0ExVWRFd0VCCi93UUZNQU1CQWY4d0hRWURWUjBPQkJZRUZNTWd0NGZKTWhDa0s2NGF1WWNML1VlUEs5OVBNQTBHQ1NxR1NJYjMKRFFFQkN3VUFBNElCQVFDcFVtSittNk9nNFZuQjBSNWpxd05EakJxZ0pQVWtONHB1MFFURlg1WWs4NGFOMnQvYgpKWTFTQ3hnR2h5Q1JERVA1U0NUMXZrdHRqaFpVVnArZjdZUnE3V1BXK0JQcWE3Nm5TUlEydUkxRHoxVDhZSGNnCi9CRkNadWIwQVZ4Y0Z1RTdSb1NkbjFDOTlqaERjUCtIRW9zRFl6dUYzZmo4QzlCMkl6d3ZIaHpaUDAvVlZSRDcKay9wWk5ub3hRdHNoWHdvVnhYS1BacHNGMHhvL1ppcUVoa2ZIYURMVC9MZE5qYXhyTjNOcFRhbTNTV2tyelZ6VQpKWGpyL0xKbGs3THVBcVBVT1VBdHBRTDZSbTArTXVQTGw0YkxQNFhOOTZOZit0NDlHdS9LeXBabXpIQkFOMWl0CkYrN0szeXVoamQ4VVNtUE14SVdPR2JEc05sTHMzTmJ5S3RpNgotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
    server: https://192.168.110.130:6443
  name: cluster1
- cluster:
    certificate-authority-data:这里写第二个集群的密钥 
    server: https://cluster2_ip:6443
  name: cluster2
contexts:
- context:
    cluster: cluster1
    namespace: default
    user: admin1
  name: admin1@cluster1
- context:
    cluster: cluster2
    namespace: default
    user: admin2
  name: admin2@cluster2
current-context: admin1@cluster1
kind: Config
preferences: {}
users:
- name: admin1
  user:
    client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURJVENDQWdtZ0F3SUJBZ0lJR0ZpNStHUTdGOGd3RFFZSktvWklodmNOQVFFTEJRQXdGVEVUTUJFR0ExVUUKQXhNS2EzVmlaWEp1WlhSbGN6QWVGdzB5TWpBeE1Ea3dPREU0TURGYUZ3MHlNekF4TURrd09ERTRNRE5hTURReApGekFWQmdOVkJBb1REbk41YzNSbGJUcHRZWE4wWlhKek1Sa3dGd1lEVlFRREV4QnJkV0psY201bGRHVnpMV0ZrCmJXbHVNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQXNMUVpScS9BeVF1aDlVdy8KN0craVJqekovdUFjbmtubU9VMHQ1OHNIcUw4b0ZXVlFyeUlDS3djdEtMcEp6RHBMOEZDWUtoejJSekY2VHJtawpzYVcvT2FMRmV2SjR2Y2NIbm1McGR1SWpram1TRnJ0L0R6VCsvSWdacGNlL21SRC9LR0tQUUxSQVVpUGx6NzdhClRvYU1pWGM5Ny9XZGp0Nk9ic091RGVsTnlteU4xRG5ONWJ2NWRFTkRaclh3VTFkQndhQjRXdnliTi9nVm02TUUKSjhRdXJDZ2V5d2swRjRtd3kwcGUyVldBd3Y1VHFxTmVzZ01pWHFacjZ2SjNSV285Z0tCeVhCODNBb1gwTlk4TQptY1JIWG44cWhPZ3hYTXhXUWM2SEI1cE81QnFPUnY3MUE0NC9tU1FoWkNORCtLdVhPVlQvUmMvRTU1eDBpWjZoCmVrcHo0UUlEQVFBQm8xWXdWREFPQmdOVkhROEJBZjhFQkFNQ0JhQXdFd1lEVlIwbEJBd3dDZ1lJS3dZQkJRVUgKQXdJd0RBWURWUjBUQVFIL0JBSXdBREFmQmdOVkhTTUVHREFXZ0JURElMZUh5VElRcEN1dUdybUhDLzFIanl2ZgpUekFOQmdrcWhraUc5dzBCQVFzRkFBT0NBUUVBUStXL290TUdickVFV2t6TzFnVmV3TjlSNFo5d2hESFZ5T2piCjh5d2FxN1JXQzRuZjd1WGlmT01oTThoYm1NQ3RTVjVtaTVxQzZQaWVETWhHYXpySzVYMVNmSk9aazlLdnVwaHYKNWVkdm9OZzN4OEVIWWJHaUdqMnVDRktIaklYMTh2U1lpMU4yeXFkcW5TOGFBNkcyOWFOcjY2c2NnemFMR3g1VAorTytvYk8yUmdIbHEva1N4dFZxbThkQUplcFFNR0l2ZFJQYWhLZmw2dGc1TStGSHVZQndycGRzR2NtNXFoVWc5CktrZEpUZVF0S1dwdS9SZUNUQU9PMnN2akF1NWhEVzhpMlFFUmNNdDh2cC9WZ0htK1lTalloQklqa205R3VZaWMKRVdFVGk4djF5M0l0NDZqdE1Sa0Vub3Q5ZUFIbFlLWFplWlNZb1pXVFFVWS9hbmYwRUE9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
    client-key-data: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBc0xRWlJxL0F5UXVoOVV3LzdHK2lSanpKL3VBY25rbm1PVTB0NThzSHFMOG9GV1ZRCnJ5SUNLd2N0S0xwSnpEcEw4RkNZS2h6MlJ6RjZUcm1rc2FXL09hTEZldko0dmNjSG5tTHBkdUlqa2ptU0ZydC8KRHpUKy9JZ1pwY2UvbVJEL0tHS1BRTFJBVWlQbHo3N2FUb2FNaVhjOTcvV2RqdDZPYnNPdURlbE55bXlOMURuTgo1YnY1ZEVORFpyWHdVMWRCd2FCNFd2eWJOL2dWbTZNRUo4UXVyQ2dleXdrMEY0bXd5MHBlMlZXQXd2NVRxcU5lCnNnTWlYcVpyNnZKM1JXbzlnS0J5WEI4M0FvWDBOWThNbWNSSFhuOHFoT2d4WE14V1FjNkhCNXBPNUJxT1J2NzEKQTQ0L21TUWhaQ05EK0t1WE9WVC9SYy9FNTV4MGlaNmhla3B6NFFJREFRQUJBb0lCQVFDc09aMDVMQ3YyeUFPLwpGZVpvQ0JaZDV2bnFGWDFQT2kvT1FjOHdVTTdTUmg1SFhFeGJwZ1grOGl1dHVvUWJMZWE5LzQrUDNGS2Q2VGVRCmE1aCtIVkpZVnJHcnQ1Qy9SN0hCU2g3SzVIWlBHeFdzV21ybzQzcHpvQ04vVlVVRloyK0thU1crcHZEYUhtcnIKSk5XYUc4SDJhZVpRYjFCMTQ2MW5nQW14UFdlNGxwNjNnNnoyakY2Qk92ZTdIMXlvemxiajJNSVJJRFRYTDZ6cApZMm9hQmJjUTh2YmNLVlJ1SXUxSVh3Vk5QRk90aGRxOWNqdEViQ1d3c0pLcWU4Zm9IWjU2VVF0SkZSbVJXd3pwCjFNS0wwaDJEVG8zLzlqdGdrSDZUcStna1JiVmRWaTZYbjlxenpYaEdPaTM1dVJUUmdXZlFjQjFuYzVEUXhMZE0KcWY4dWNHaFJBb0dCQU5hclFDeHBjTVQxc0tVa2JVVElBT1h3VnBlcTg4Qmk0QUdHQTQvOFN6QklxUmpBMklZTwo5T29NaGZmZ21SaDUvQlBLRXJndk5wNklNVHpEMlpGcTNyalpieDVyU1VYenR6K2xuWjdKWkVFTDRpSXdDSE9NCkxuYVA2OW5DOEQyMy9WNXRmRDd1Unk1SnBPMGJsK01LSisvQndiaTBKL3lvNVFLRWFaT1JERjhEQW9HQkFOSzUKbE92NUV2NzExb0dCd1NUMmZqSnkyZHhxYzErU2IxR3dCRVp4aDNNSk41Y0hPVUVLWFBsOGZsc1hjZWhKS2JlSgpMUU80amFvdVFEUkJIelJiczMwL083R051dXN1UGV0eTk5ODNJYXl2OWtXd045R2FJS3kzSmxRaWdzQ2Fva3NICjlYUEhyOFFqWXJkYWpSVnlkUDhaL0hycGdIRGYxckNOVGtXVjBZcExBb0dBSWFqUWN5WkZURnpKeWRzZ1Z2eVYKUjNpYjIwUXUzQ2Vrd0JoblRwaGNvY0dDNGlLNjBLcGZ0S01xRG1mbEdYVm5GU05HTkNNVENXQ0pkK0d0cDZOKwpNTFhIT3BuUDcydjdlN3RZTDZHY1dxYW1XbjMxbFVpUnNIMTRtYmg3T3ZJeWhDL2VuMjkxTWNqU1YydFFNWVZTCkpjSFh3a0pkVXJ5WXpBQS9IYWhNckVrQ2dZRUFoN3V1WjBrcXFUdmxEY3BzaE1pWmhSbGhwNDZSL2srdWtLbVcKTjJITlk1WGVUdFFDVnhpN3hxQWdLOEN3U0hWSC84YkdUZzFFZ3dnRHB5VURXcEJ1enhBNS9TWlQ3a1Q4OFhvKwptM05CcDZBNE82OUVaU2lvUDFoQndoUHdzT3RwK25hSDdpb0QxNDBMZXh0Q29UdjJqSk5LaEVsL3lEVUdidmEyCklqQmNwbjBDZ1lCZThNTERFK1RCKytYVHFUT29wWGhaL09vRVdlSEp2M2xwdGdmOWg0eVZja3NqVEtNMkpKcEsKNFJFYmJSdUdsY1hOUzg3bEh1dUtCZE9aVzR5Q1hMTCtzcGt4YkY0ZmlFQWFkaTFDOWhZSko3Y2kzZy9jdUxLcQpPdk9EdlhBK2dlRHVaMk9Gakh6RU1XcktKUm1Sd0N1QVdqRld5WndneU16dUp4WWRkRU1raWc9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo=
- name: admin2
  user:
    client-certificate-data:这里写第二个集群的用户公钥 
    client-key-data:这里写第二个集群的用户私钥

查看全局上下文,看有几套集群。

$ kubectl config get-contexts 
CURRENT   NAME                          CLUSTER      AUTHINFO           NAMESPACE
*         kubernetes-admin@kubernetes   kubernetes   kubernetes-admin   

切换k8s集群。

$ kubectl config use-context kubernetes-admin@kubernetes
Switched to context "kubernetes-admin@kubernetes".

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1303452.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[渗透测试学习] CozyHosting - HackTheBox

文章目录 信息搜集 信息搜集 nmap扫描一下,发现存在80端口和22端口 nmap -sV -sC -p- -v --min-rate 1000 10.10.11.230直接访问80端口发现有跳转 那么我们将ip添加到hosts里面,成功访问 观察发现是企业网站,扫描一下没有子域名 那么就扫…

二、如何保证架构的质量、架构前期准备、技术填补与崩溃预防、系统重构

1、如何保证架构的质量 -- 稳定性和健壮性 2、正确的选择是良好的开端 -- 架构前期准备 ① 架构师分类:系统架构师、应用架构师、业务架构师 3、技术填补与崩溃预防 4、系统重构

mysql原理--B+树索引的使用

1.索引的代价 在介绍如何更好的使用索引之前先要了解一下使用这玩意儿的代价,它在空间和时间上都会拖后腿: (1). 空间上的代价 这个是显而易见的,每建立一个索引都要为它建立一棵 B 树,每一棵 B 树的每一个节点都是一个数据页&…

在HarmonyOS上使用ArkUI实现计步器应用

介绍 本篇Codelab使用ArkTS语言实现计步器应用,应用主要包括计步传感器、定位服务和后台任务功能: 通过订阅计步器传感器获取计步器数据,处理后显示。通过订阅位置服务获取位置数据,处理后显示。通过服务开发实现后台任务功能。…

点评项目——秒杀优化

2023.12.11 上一张的秒杀券下单还可以进行优化,先来回顾一下下单流程: 可以看出流程设计多次查询和操作数据库的操作,并且执行顺序是一个线程串行执行,执行性能是比较低的。 优化方案:我们将判断秒杀库存和校验一人一单…

通用的AGI 安全风险

传统安全风险 平台基础设施安全风险 模型与数据层安全风险 应用层安全风险 平台基础设施安全风险 (1)物理攻击:机房管控不到位 (2)网络攻击 (3)计算环境:自身安全漏洞&#xf…

【C++练级之路】【Lv.3】类和对象(中)(没掌握类的6个默认成员函数,那你根本就没学过C++!)

目录 引言一、类的6个默认成员函数二、构造函数(constructor)2.1 引入2.2 概念2.3 特性 三、析构函数(destructor)3.1 概念3.2 特性 四、拷贝构造函数(copy constructor)4.1 概念4.2 特性 五、构造、析构、…

停车场物联网解决方案4G工业路由器应用

随着物联网技术的发展,停车场也实现了数字化、智能化。停车场管理系统是一个集计算机、网络通信、自动控制等技术为一体的综合性系统,它的实施,对加强停车场管理,提高工作效率,提升服务质量和现代化水平,进…

科技云报道:从数据到生成式AI,是该重新思考风险的时候了

科技云报道原创。 OpenAI“宫斗”大戏即将尘埃落定。 自首席执行官Sam Altman突然被董事会宣布遭解雇、董事长兼总裁Greg Brockman辞职;紧接着OpenAI员工以辞职威胁董事会要求Altman回归;再到OpenAI董事会更换成员、Altman回归OpenAI。 表面上看&…

python实战演练之迎接冬至的第一场雪

写在前面 WINTER IS COMING Python实现大雪纷飞的效果,完整代码在文末哦~ 准备开始 WINTER IS COMING Python是一种高级编程语言,Turtle是Python的一个图形化模块,它可以帮助学习者更好地理解编程概念,同时可以进行图形化编程。 …

Gateway全局异常处理及请求响应监控

前言 我们在上一篇文章基于压测进行Feign调优完成的服务间调用的性能调优,此时我们也关注到一个问题,如果我们统一从网关调用服务,但是网关因为某些原因报错或者没有找到服务怎么办呢? 如下所示,笔者通过网关调用acc…

基于轻量级神经网络GhostNet开发构建光伏太阳能电池缺陷图像识别分析系统

工作中经常会使用到轻量级的网络模型来进行开发,所以平时也会常常留意使用和记录,在前面的博文中有过很多相关的实践工作,感兴趣的话可以自行移步阅读即可。 《移动端轻量级模型开发谁更胜一筹,efficientnet、mobilenetv2、mobil…

[足式机器人]Part2 Dr. CAN学习笔记-自动控制原理Ch1-3燃烧卡路里-系统分析实例

本文仅供学习使用 本文参考: B站:DR_CAN Dr. CAN学习笔记-自动控制原理Ch1-3燃烧卡路里-系统分析实例 1. 数学模型2. 比例控制 Proprotional Control 1. 数学模型 2. 比例控制 Proprotional Control

c语言插入排序及希尔排序详解

目录 前言: 插入排序: 希尔排序: 前言: 排序在我们生活中无处不在,比如学生成就排名,商品价格排名等等,所以排序在数据结构的学习中尤为重要,今天就为大家介绍两个经典的排序算法&…

【LeetCode刷题-树】-- 103.二叉树的锯齿形层序遍历

103.二叉树的锯齿形层序遍历 方法:广度优先搜索 /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* TreeNode(int val) { this.val val; }* TreeNode(int …

kettle+report designer导出带样式的excel包含多个sheet页

场景介绍: 运用pentaho report designer报表设计器,查询数据库字典表生成带有样式的excel,通过kettle pentaho报表输出组件导出形成数据字典,最终形成的数据字典样式如下图: 案例适用范围: pentaho repor…

关于uniapp X 的最新消息

uni-app x 是什么? uni-app x,是下一代 uni-app,是一个跨平台应用开发引擎。 uni-app x 没有使用js和webview,它基于 uts 语言。在App端,uts在iOS编译为swift、在Android编译为kotlin,完全达到了原生应用的…

Docker基础概念解析:镜像、容器、仓库

当谈到容器化技术时,Docker往往是第一个被提及的工具。Docker的基础概念涵盖了镜像、容器和仓库,它们是理解和使用Docker的关键要素。在这篇文章中,将深入探讨这些概念,并提供更丰富的示例代码,帮助大家更好地理解和应…

助力工业生产质检,基于轻量级yolov5-seg开发构建工业场景下滚珠丝杠传动表面缺陷分割检测系统

AI赋能工业生产是一个强有力的方式,在我们之前的系列博文中也有很多相应的开发实践,感兴趣的胡都可以自行移步阅读,本文的核心思想就是想要基于轻量级的实例分割模型来开发构建工业场景下的滚珠丝杠传动表面缺陷分割检测系统,首先…

【PyTorch】现代卷积神经网络

文章目录 1. 理论介绍1.1. 深度卷积神经网络(AlexNet)1.1.1. 概述1.1.2. 模型设计 1.2. 使用块的网络(VGG)1.3. 网络中的网络(NiN)1.4. 含并行连结的网络(GoogLeNet) 2. 实例解析2.1…