1.安装Helm #为后续安装kubefed做准备
链接:https://pan.baidu.com/s/1QZSs_g1BkAhootM5cgxubQ
提取码:1234
tar -xf helm-v3.3.4-linux-amd64.tar.gz
mv linux-amd64/helm /usr/local/bin/helm
# helm version
version.BuildInfo{Version:
"v3.3.4"
, GitCommit:
"a61ce5633af99708171414353ed49547cf05013d"
, GitTreeState:
"clean"
, GoVersion:
"go1.14.9"
}
命令补全
1 2 3 4 |
|
添加 helm repo:
helm repo add ali-stable https:
//kubernetes
.oss-cn-hangzhou.aliyuncs.com
/charts
#阿里云
helm repo add kubefed-charts https://raw.githubusercontent.com/kubernetes-sigs/kubefed/master/charts #kubefed
找到目前的版本:
[root@ai-k8s-master kubernetes]# helm search repo kubefed
NAME CHART VERSION APP VERSION DESCRIPTION
kubefed-charts/kubefed 0.8.1 KubeFed helm chart
安装kubefed:
helm --namespace kube-federation-system upgrade -i kubefed
kubefed-charts/kubefed --version=0.8.1 --create-namespace
Release "kubefed" does not exist. Installing it now.
NAME: kubefed
LAST DEPLOYED: Wed Aug 5 16:03:46 2020
NAMESPACE: kube-federation-system
STATUS: deployed
REVISION: 1
TEST SUITE: None
安装kubefedctl
链接:https://pan.baidu.com/s/1D_bRlgNGqRe5Z2cGn1dQFw
提取码:1234
tar -xf kubefedctl-0.1.0-rc6-linux-amd64.tgz
mv kubefedctl /usr/local/bin/
加入联邦集群
apiVersion: v1
clusters:
- cluster:
certificate-authority: /root/.cluster1/ca.crt
server: https://ip:6443
name: cluster1
- cluster:
certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUN5RENDQWJDZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwcmRXSmwKY201bGRHVnpNQjRYRFRJeE1EY3pNVEE1TWpFME9Gb1hEVE14TURjeU9UQTVNakUwT0Zvd0ZURVRNQkVHQTFVRQpBeE1LYTNWaVpYSnVaWFJsY3pDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBTUdHCk5wZ25KOWVCcUxNT01lQWY0a3V4QlozdWRjdE9HdnlXOCtmMUQ0ZVJ4OVIrbmtDK0VDNmNYYnh0cWQvcUJGbTQKL05zOE5RaEJWZ0t4N1o3L2puaGVRa3BhbS90dkp6M2lsL3dNdHJ0b2xhTGV4d2pkUGhSWmh4YXBqa0RPMlc3Swp0VytTenJCa1dhUEd0eFdld2QwQjVCczBYRmF6eHJYSVRYN01Ockd3SmVId2dNVkFvRmZkNC9Qd0cxYmtYRDF3CkdjUDVVWE03WWNETzRYQkVrR01LamhTSHRHclNHS3JqRU15VmJZMXRQWTFSeG5qWU9HYzJaQWVNK0hCZVdsSUIKdFpibExTa0FTY0JSUmgxQVJuRzFQSlNOZVZmaDlTMDBFM2E1bjhkbXVRYURDNEUzL0NqMVNObFFXMTEzWm5SKwpVSkNZYXcya29LTUJHZDYzaVdjQ0F3RUFBYU1qTUNFd0RnWURWUjBQQVFIL0JBUURBZ0trTUE4R0ExVWRFd0VCCi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFCbFlGK1lEZHppN0xtSTlzVXI5ZG9WZU9TUzcKSzFBa1loWHp1anFHRlhKUHRLK2R2SXU1SGdwT0ZXdElDQnhOZUdCb1BHdmxsVTdDZ0gvSm9LY2JTcEVJMlpSMQpkQnJyajExSElWd0RTR0txdVJHYytPM0JIUTJGQWRoeFU5cmRrSTRoWGovWWdVY2U5eFFyN05saElQcEU5ZU5ICnRvRVh2WHlCQ1V3VmdpaXFzZ1BQSnBuZzNJakJnMEwwNUJNaTB1RXBoQzZEUzFmbE95RVV6R0x6dXNSUkFhcFAKcW13MHF3K2Q3QXNBMHBsd2xLL0RWRTl4MFFNMHRqTWhRVnpqL1F2czVpQW1DemdEdnFCRWlrdEZOeVRxYTZ5VgpUVFpSUUpMdVJmU2g1Y09UOURGNTh5eGJudUdQZlFUbkhySFRyL1RQbmtxSVAvbDNVb05sSmVybmI4VT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
server: https://ip:6443
name: kubernetes
contexts:
- context:
cluster: kubernetes
user: kubernetes-admin
name: cluster1 #这里将context信息自定义
current-context: cluster1 #当前使用的context
kind: Config
preferences: {}
users:
- name: cluster1
user:
client-certificate: /root/.cluster1/client.crt
client-key: /root/.cluster1/client.key
- name: kubernetes-admin
user:
client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUM4akNDQWRxZ0F3SUJBZ0lJRkEvNTZuN3ZWYzR3RFFZSktvWklodmNOQVFFTEJRQXdGVEVUTUJFR0ExVUUKQXhNS2EzVmlaWEp1WlhSbGN6QWVGdzB5TVRBM016RXdPVEl4TkRoYUZ3MHlNakEzTXpFd09USXhOVEJhTURReApGekFWQmdOVkJBb1REbk41YzNSbGJUcHRZWE4wWlhKek1Sa3dGd1lEVlFRREV4QnJkV0psY201bGRHVnpMV0ZrCmJXbHVNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQXNSb0VOcWpLUy8rNVJBNjYKZzZLQ3p6SGRSaTVjNHBQeFBVZE9uT004RVJkWXI1bkYxRkRpajNBaTdnUXc3bllFbHlSWTJsYWc5TTVGWlQ2TwpwcXBvaTdEajBzWFVMNHlZdU5Tc0dhelgzdjJINHlZT3Q0QjRqb1p1cVVoYVRVSFJhTDNjZDMwdEFlMVVZKzllCkJJZWp3WlF6MVRyUUhxU0llSVNmUXN0RXJFYjRiOFhtZFFOR3Z2VkloNWJtMlU5VmE2aFhYc1pNa2ZpZnVYeVIKZGlUMms1cGc0R2lhZnFYTForTUkzbTN3ZzVQbFBsakVKSzZNb2I0ekJxdEZURWxWRGwzRTczakNLR0YwNjUwSAplWGk3TzllYitIL1lIeTRTNDNCc2tjS3VmdlF4d1FjS3lkaTUyM3ZJNGRDV2JSUi9lSlBvSkQzVWxTM29rcWJBCjFsWWtLd0lEQVFBQm95Y3dKVEFPQmdOVkhROEJBZjhFQkFNQ0JhQXdFd1lEVlIwbEJBd3dDZ1lJS3dZQkJRVUgKQXdJd0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFLb010WXYzZkJTOWFkR2U3RzBKQ25HY3h5RG5nZ0FwRjZKNQo5SHlEdmlqRXFPN0ZHbkxMdWVGQlZFcVg5VlBuUlRBSlI3OHBFUzNJUVJSTVE2bkdta3dMbDVNOXB4SlFVOGk4CkdCcWl3QTFjd1F1bzd0SEVhVU9HYXYvSyt1Q2RIdzBOektaSkhvUXljREpVZ2tYZWtVR00zcGlGSUE4Mm1EdlMKeHh2QU5YcmFCQXZsY292TUh6cmY5dFEwVk1BYURScGtkYzBpUTRKM3R1blk5WjMxRlFDOGk2ekQ0TWRneUI0UAo5TFkrMkVrLzVWZXRmZW9qTlRtV1A2NXkxaUNFclhQUFVwMW5DNUhZS3IxVGxiMmJnYkp2T1p6VlpEcDNmUXBECjVxaGl4TzEwdi82dkxKZmtrSitOSUdiNVZKVDkxeHJSdTl5RTZrMDF2ejZJZkpiMWZWbz0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
client-key-data: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcFFJQkFBS0NBUUVBc1JvRU5xaktTLys1UkE2Nmc2S0N6ekhkUmk1YzRwUHhQVWRPbk9NOEVSZFlyNW5GCjFGRGlqM0FpN2dRdzduWUVseVJZMmxhZzlNNUZaVDZPcHFwb2k3RGowc1hVTDR5WXVOU3NHYXpYM3YySDR5WU8KdDRCNGpvWnVxVWhhVFVIUmFMM2NkMzB0QWUxVVkrOWVCSWVqd1pRejFUclFIcVNJZUlTZlFzdEVyRWI0YjhYbQpkUU5HdnZWSWg1Ym0yVTlWYTZoWFhzWk1rZmlmdVh5UmRpVDJrNXBnNEdpYWZxWExaK01JM20zd2c1UGxQbGpFCkpLNk1vYjR6QnF0RlRFbFZEbDNFNzNqQ0tHRjA2NTBIZVhpN085ZWIrSC9ZSHk0UzQzQnNrY0t1ZnZReHdRY0sKeWRpNTIzdkk0ZENXYlJSL2VKUG9KRDNVbFMzb2txYkExbFlrS3dJREFRQUJBb0lCQVFDWW9ITkJKL1l2eVJOQgpNL0JKd2FRNkxCOG1mSTVRTm0rUkFBTWY4ald5QlF6SlNSelUvV0JEZmNDY244QUx3bW55VjhDN2FpME16VGZCCktVaUhHaFUvVGhNSmNyU0t4Z0JZU2ZDSHNBM2FmMlM4dmUrdzlXYndiYXF3K1VuWml2K041Ukk3YUFXQnc2Y1cKK1JOdGsvZnN2R3h2TjJCbENDY1V0amNLdVdOVmsrVUhIVU9SN3NsdkdzS3JDQ3BiUHRqQmtaaHQrYWNzT3hXSQpETVYyVzJuUDV4cDl1N3JhbXNlOFZDYnlGdGdhRkl4N1FUSTNNY1hYOTIrMXVwMGRIRDFlMXlqYW5hV1E2RG5OCmVsZ1RNWkQ3Z01tdnlTdFh0cUNZTFNYNFZ1WEZXdEkxdjBQUVpSK0ZvRXpNcXh4c0pqc0JxMDMyV3pJMUVqZ3EKbmJnSVk1NEJBb0dCQU56UXRUUkRYVDRFYVkvSS9TaWJOUXgwcFdLR1RiRkxyTEUySWZHL2ZjcnBPLy91K3BwUwpZMzlxd1JEVDd4RUZ1c3B2bGZHS2pGMWJOQlduRWoyYk1IU0cvVnFvQzhHbGI5SE5GVlptQlRvK20yRGpyUlJnCkoyL1FLd25YcTg3UU8zK0xpTnlvWEJFcG83aTFDeGdySWJ2WWlNRDFobm5SWVJWek15TzBuRUNaQW9HQkFNMVMKTHF2all6REZIV2lub241b2p2UWM5encxWElSNTYrZlRzblZZem5udjZaS0drK1B1OC9hWlhMSS9UUlBHZFA3agpTNGxqM3B1NUlxb21aM3d5eTVnc3h1emh1TGFlY0lBMTc0UlhickxURjZnVUF6c2N0dVlFanpoK290a3NMamdDCkVaS1RBOFEwUE8zaTFpSENsc1pZWFMwZko3bENRZEJob3dmYTl4RmpBb0dCQU5EOUszTlNpbzVteUs0UWNTSWMKZTRIVmFLNHVKSnczM2pNKzQ3T1ZKRzZHZm9ZRlhlUHZORUprL0dONzRwayt6Z0pJeUNaNmxjekp4Q3IySERwNApoY3pUOGpmNk1sNU53TjVWZHV0MTFWN0I0SGM4SlJUU3lLQjM2alAvanBsSDFmZ3FUUmRpdFBoOWEzb214MkJSCmVqVDZoTHZ6NVJtb2hIVXp1ZVFDVFp5SkFvR0JBSXZiSEFGbnJTd09TSjc5K1BpRC9rUVg2dXl2S0dyd3BabFAKSVRNL243MTloeXVRMGZJajFUZzNkT1hScW8zNjA3eS9WTGVzT0hqNFhiMXExWGpMSE5WMlFyWWVkdlNsN2RuWApZMlJSTGcxUExzRUZpTUhlS0ZONzdaYTg0KzVzWXJzeDVZaGk3ZURhK0ZuTjlyQWVYUmVVSHp2YUNmUHVSdWhMCmFZS3pTeklqQW9HQUpZWGRaMStHYTJwQkYxd1hPbzZQMlhTSFZmVDN0RVNKZkk4SVcrekg3UUtkMkp4bWFuaDAKdTVLVGxrUlMyU2tlM1hJZHRHVWJlZ2RIMmZBWHFUcXFTM3pBUHI3ZmlPNVd1WGd4QVlMY2VDWDlzcGQvOEZtSwpVU0hudXhrV29SN1pwWCt1U1ZKS3d0U3FwdGFrZjN6Y3FsdGJaOFphQ0g2aUhnU1NRYXZvVkVrPQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo=
可通过命令快速添加 #相关文件参数从/root/.kube/config获取
# 创建文件夹
mkdir -p /root/.cluster1/
## 添加cluster
kubectl config set-cluster cluster1 --server=https://ip:6443 --certificate-authority=/root/.cluster1/ca.crt
## 添加user
kubectl config set-credentials cluster1 --client-certificate=/root/.cluster1/client.crt --client-key=/root/.cluster1/client.key
## 添加context
kubectl config set-context cluster1 --cluster cluster1 --user=cluster1
加入集群
kubefedctl join <集群名称> --cluster-context <要接入集群的 context 名称> --host-cluster-context <HOST 集群的 context>
kubefedctl join cluster1 --cluster-context cluster1 \
--host-cluster-context cluster1 --v=2 #这里把一个主集群加入到自身
如果命令添加context join失败,执行
kubectl config delete-context cluster1
然后手动修改/etc/kubernetes/admin.conf相关参数
获取集群的连接信息
-
kubectl config get-contexts
查看加入集群信息
[root@ai-k8s-master kubernetes]# kubectl -n kube-federation-system get kubefedclusters
NAME AGE READY
cluster1 39m True