Kubernetes 의 kubefed
앞에서 저 는 클 러 스 터 구축 과 높 은 사용 가능 한 설정 에 대해 말씀 드 렸 습 니 다. 그럼 오늘 은 이 kubefed 에 대해 말씀 드 리 겠 습 니 다. 그러면 무엇이 kubefed 입 니까?연방"즉, 두 개 이상 의 k8s 클 러 스 터 를 연결 하여 통일 적 으로 관리 하 는 것 입 니 다. 회사 에 타지 방 을 뛰 어 넘 는 k8s 클 러 스 터 가 있다 면 이 k8s 연방 을 이용 하여 통일 적 으로 관리 할 수 있 습 니 다. 저 는 같은 랜 안의 클 러 스 터 두 개 만 보 여 드 리 겠 습 니 다. 클 러 스 터 를 어떻게 구축 하 는 지 는 제 지난 두 편의 글 을 참고 하 세 요. 자, 직접 건어물 에 올 라 가 보 겠 습 니 다."
준비 작업:
저 는 여기 서 CentOS 7 가상 컴퓨터 를 클 라 이언 트 로 사용 하고 있 습 니 다. 설정 이 너무 높 지 않 아 도 됩 니 다. 1C2G 는 충분 합 니 다. 디스크 는 8G 에 주 십시오. 이 클 라 이언 트 는 두 개의 클 라 이언 트 를 연결 할 수 있 는 master 가 있어 야 합 니 다. 한 네트워크 에 설정 하 는 것 이 좋 습 니 다!
다음 스 크 립 트 를 실행 하여 kubectl, helm 설치:
cd /etc/yum.repos.d/
mkdir backup
mv ./*.repo backup
cat < /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=0
EOF
yum clean all && yum makecache
yum -y update
yum -y install kubectl
cd /usr/local/src/
curl -O https://get.helm.sh/helm-v2.16.9-linux-amd64.tar.gz
tar -zxvf helm-v2.16.9-linux-amd64.tar.gz
cp linux-amd64/helm /usr/bin/
상기 두 개의 도 구 를 설치 한 후에 우 리 는 두 개의 클 러 스 터 의 context 모드 설정 을 만 들 수 있 습 니 다.
kubectl config set-cluster cluster1 --server=https:// master ip:6443 --insecure-skip-tls-verify
kubectl config set-context cluster1 --cluster cluster1 --user kubernetes-admin1
kubectl config set-cluster cluster2 --server=https:// master ip:6443 --insecure-skip-tls-verify
kubectl config set-context cluster2 --cluster cluster2 --user kubernetes-admin2
kubectl config set-credentials kubernetes-admin1 --client-certificate=certfile --client-key=keyfile
kubectl config set-credentials kubernetes-admin2 --client-certificate=certfile --client-key=keyfile
서로 다른 두 개의 클 라 이언 트 master 노드 에 가서 클 라 이언 트 인증서 데이터 와 키 데 이 터 를 가 져 오고 캡 처 한 모든 내용 을 클 라 이언 트 같은 경로 파일 로 복사 합 니 다.
cat .kube/config|grep client-certificate-data
cat .kube/config|grep client-key-data
내 클 라 이언 트 의 전체 설정 은 다음 과 같다.
[root@client00 ~]# cat .kube/config
apiVersion: v1
clusters:
- cluster:
insecure-skip-tls-verify: true
server: https:// master ip:6443
name: cluster1
- cluster:
insecure-skip-tls-verify: true
server: https:// master ip:6443
name: cluster2
contexts:
- context:
cluster: cluster1
user: kubernetes-admin1
name: cluster1
- context:
cluster: cluster2
user: kubernetes-admin2
name: cluster2
current-context: cluster1
kind: Config
preferences: {}
users:
- name: kubernetes-admin1
user:
client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUM4akNDQWRxZ0F3SUJBZ0lJVkc0Q0VqR2prT2d3RFFZSktvWklodmNOQVFFTEJRQXdGVEVUTUJFR0ExVUUKQXhNS2EzVmlaWEp1WlhSbGN6QWVGdzB5TURBNE1EVXdNek13TlRkYUZ3MHlNVEE0TURVd016TXdOVGhhTURReApGekFWQmdOVkJBb1REbk41YzNSbGJUcHRZWE4wWlhKek1Sa3dGd1lEVlFRREV4QnJkV0psY201bGRHVnpMV0ZrCmJXbHVNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQTVyRHZzTWREeDNZTW9jUnIKemtPY3laTVBVOEJPSWJvQW1WWUNqdFVhZktSOXYrTitGUERiTEJLckJBcVd1R0pRN3NjK0RzRUZFeVJpaW5vUwpXZ0syNlB4WllPc2pwUGp6cEROS0lJTHozZUg1UGFQRjl6bjdEbUw2eFV2dnlhWU4yckRiTmtnUnZDZG05eEhjCkEwd3hxa3dZeDJ1dFI5c1JXUWlCeDM2NFk2ZmpwSUVOWDA1dHpzVUFKN0FLT05EVUJSbnl2N2k5bHhjSGQ4Q2cKQkJ5TkxXOHpTMzdHa0NqRjdtSnlCTlVXTTZEbmI3TldjeEgwODNZNkRxbGIwMXR4ektacWUrVmZsTXQ3T0tnUQpPZGpQcnk0U09MQXRjSGpNbnpKSlo4TEJXbFpSdWZPVHNMMXNZZE9PM1BGQUI4SEltSUd3R0JueGp4QXY2WVlVCjhzSnNQUUlEQVFBQm95Y3dKVEFPQmdOVkhROEJBZjhFQkFNQ0JhQXdFd1lEVlIwbEJBd3dDZ1lJS3dZQkJRVUgKQXdJd0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFGVmVHUWdodEd3TnNMVlcyUkp4clIrSWVHcTZnT283b2hDYwoxOTN2dHEyNG1QRGxCcXF1QkFyR2VKVWEzWDAzT0tiVWdEWEc2TTR4R0x3cnJVb0MyNzRXOVRGK1Ntazk2TlNOCmF6KzJnQ0hWcWxYNU9mWitFa0N4WG0vdklTajVKNzJhazFnaXllYzg3K3RZZkJKWmdiUFg3ZTcvNDlPc1hUaVAKaW5HTkVXQndLWklNQlY0aGdxcVp3WFJTbzVVcmtFK000S2pldzJSM0pXbmRmS3hhWGNrMHRoRS82QVUwbEl0YQpsWGJTRFYvWFQ2aE1uVWxFNWZxVzRVdENGMnczYzBDbEZwZC9zV3JxbEg1S1R3NVM2THhuTHV4TWFXbXhQSmNVClJVekJuZW9QUGpIaytYK1gvSTc4UU9iaEthYzR6Qyt1T0tkeVdNQ2pJNFR1WHcvSzhDZz0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
client-key-data: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBNXJEdnNNZER4M1lNb2NScnprT2N5Wk1QVThCT0lib0FtVllDanRVYWZLUjl2K04rCkZQRGJMQktyQkFxV3VHSlE3c2MrRHNFRkV5Umlpbm9TV2dLMjZQeFpZT3NqcFBqenBETktJSUx6M2VINVBhUEYKOXpuN0RtTDZ4VXZ2eWFZTjJyRGJOa2dSdkNkbTl4SGNBMHd4cWt3WXgydXRSOXNSV1FpQngzNjRZNmZqcElFTgpYMDV0enNVQUo3QUtPTkRVQlJueXY3aTlseGNIZDhDZ0JCeU5MVzh6UzM3R2tDakY3bUp5Qk5VV002RG5iN05XCmN4SDA4M1k2RHFsYjAxdHh6S1pxZStWZmxNdDdPS2dRT2RqUHJ5NFNPTEF0Y0hqTW56SkpaOExCV2xaUnVmT1QKc0wxc1lkT08zUEZBQjhISW1JR3dHQm54anhBdjZZWVU4c0pzUFFJREFRQUJBb0lCQURWdkRsWFlFZThGZk8rTApXNTB2TkFYTXRtUWp5dlVzN0M2WUtZZUQvTnFhRHpaL0x4a1NvUEdZY1Z4Q1I1NzF4dUZIN1N2bHNaTTVma21zCjlNczhqYmx4bWhKRTVNQzFtVm1UTjd4SUdNeHdKeGNMOURMTGowZEp6ZVFkTHJGNmNRTVNxL1BxeFpEYlg1SWkKNU44dXF1SlROZm9iQ3N2MkJoS2xVY292bys0UTZLSEE0OUtBaHRlYjA4N1Z6S3FnbWhHdndadk1zc3VUcWQvdgpzU0tlZW9OSHphbGtZSW56RDFibXZpZVJGNjRCck51b25veFdyZjdqTTdDeit1V2VMdHJQM0gxNmdLWHMvbStvCkYwcnJQekFwTm5Mb3pSWGZ2dG5SbjlwanViWGNEU3dsbW11SzJvR2hMQXFUYUVBaGFiejk2blBkM0ZBZWNEWE4Ka1pEM3lnRUNnWUVBN1g1d2dUZ292MlE2cldQUUZndFhrMnNOdEFHckpYV1RXRDBBZ3ZFUXU1dXYwQlhaZVV4NQp4MVJkaDdjL2pJUnpoMHFSVSt0L2l1MFJpNWhOTnNWYlRvcjR5SW9YMTU4TS94WTdsd2xqZW03Z0piYnVRVzhMCnJLZmdENFFCZVJnV3owZkdPbDVrbi90WXFya2ppaFJGYjVkdXZEZzZLL3poZW01em5ZOWgwSjBDZ1lFQStLckwKY2RyWTVISjBpMkpmUVFFUXY5clg2UU1GM0VJT0E4S1ZNVmNNclM0a1NaK0U0OG9oNjNwcUJBaGl3Vm9GLysyNQp3RmFDaGJrenUwZmpNMlZvSmhLdXAvNDdZZ3F5RVJHbTEzR1VRcVNiUU5PSE8vYjAxaVE5V29ub3ZqYnorVTFkCnZXaW5XZndiQVo5MlBSTmRhN2Q3N09WM3YvQk9hSUlPeEZCbUtDRUNnWUJxRWF5QnFlbFpBWlRMVitiWjBacjkKZGpTYWpwdzNrTG1NRVVLbk9LODJleVFjbFlXWmpUUmVlQ21Gc2F3cVFBV3hDUGE3T2xTdVlZOFNmNlVNcnp4RwphZjhPNGM0Z09TTCswcGt1cmJ6R003cmNYVVV2NkQ2WWtDbWNCR0w4Q0d3M2kyRFhOTTFRUGx1dGRCNlJUdGhzCkxJQUNoRUpHM3h4OUo5TnZMVmlNYVFLQmdRQ0tlaEp4aFAzanVobE14YXRsOThIc0ZXTEhUL2VqZ09WdEVwOGkKcXVkVVNhM0xraG5mQUdHRFVOaFpCcEo0T2ptOUhCV2xGb2Y1RC9uUEFXbDA1YlBwLzkxamtDQmhxTE1nN2tPTApGcVVKdDhEOWlNNTJoa0F5UUZ3cVgwSk5LeTBTV0JNcnQydjZvSG9wblRPckwyMkczdGNVUlhVNlhnaE1DcUZPCmtiZFNBUUtCZ1FESmZ2djQrVHowTVZnOHdnMFpDdThFT0phaGFabFg5ck11dVRWcHlObm84Qi9VODdVU0VHVjAKZG9vc1YzSWxjQ1d3eEZQUkE3L3ZjbzlYM3B0VzVzQ1ErRnBmdE4yZkV1a051aTJTMS9RZEVGczNiYjNhd1NkdQo3aDBRaFBYeVN1RlQ1SncyVm94dnZubHZOTHIrYXVCM0hDVkVIb3pKMXZRUEtKV1J1NTFnRHc9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo=
- name: kubernetes-admin2
user:
client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUM4akNDQWRxZ0F3SUJBZ0lJUk5DL0tNVmhQT0F3RFFZSktvWklodmNOQVFFTEJRQXdGVEVUTUJFR0ExVUUKQXhNS2EzVmlaWEp1WlhSbGN6QWVGdzB5TURBNE1EVXdOVEV6TXpKYUZ3MHlNVEE0TURVd05URXpNelJhTURReApGekFWQmdOVkJBb1REbk41YzNSbGJUcHRZWE4wWlhKek1Sa3dGd1lEVlFRREV4QnJkV0psY201bGRHVnpMV0ZrCmJXbHVNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQXhUQmxUdjNMV3dacEp3UlQKVjg2eUsycUpmS1NnWXFYcXh3VlZOT3hUN3Ayb0VsRFlIZzZwWjdPNTltQ3grSDZFa01KbUVsamR1cFZXaFhDKwpNWDJHSEhRdk9KSEc1ck9lN3dTNTNUdEpxeXdZUUc2SGlrUjQ5WWtOODBBWjJEbHI2bVNhdTRTMkdpOXhKS0U1Cm8rbi9zMjBYYUpGeG9VOTU3MExVb0NQL2kzK0c4aFVFNk1aMG44eHRBYkJud2tlc1MwdXlIOTJsYzBOUjRabTgKN2ovempIWE9VTFZLa2FZM0Z0Tk5pdWRkVG1yOG5qZitlakdyeHFPOTRZMCtGU05hSHhhUW1yTUQwVERBYk8xaQpnV0o1UU1CQ2liNnI0dWFGOVplelZ2a01Yc1dWSUl2TUJOL29aRWYrMG4wazc5Sk9hRXVJMlpDOWcyc3ppbkVBCmp4azhud0lEQVFBQm95Y3dKVEFPQmdOVkhROEJBZjhFQkFNQ0JhQXdFd1lEVlIwbEJBd3dDZ1lJS3dZQkJRVUgKQXdJd0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFNRjNDT0lUOGFmSkhwd1I0L21KTk1qaGR3RFlOTWRrTi9RVgoxK2sxYnhOU0tiQ2JhMnVBN3RUUXhZcmYzb29MZzlBNkt3Z2UvSzJRcFZnYUZ5SDM4d0x3QVd2NEZjNklaOGwvClFZWXpZVnhERitXRW5uQ09USDVqVUFiaTg3aDlYNTNIbWcrR1QyVkZkTW95N3VVTnplcnYzVGo1cmpYUC9ENmIKSlg1UWV4T1A2Y3FZRjR5STlLelBBUjI1L3JSMktJZFNZVElad290TTQ4M3k5TzBhNlUxclhHWGJneUNoRFZHQwppcC9MQU8zWHRlSVl4b3FyVFBEUS9TUVdhRmszZGNoVGUycUNObGVvTFIrQlFjVHhVOFovc3Fuc3ZiaWUrZ3pVCmVsc3pYUjJselcvU3B2M05zL2t6czQ1UTZNT2JSOVNKMm1uQTFJUzJjV0dsQnd2bEFxRT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
client-key-data: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFb3dJQkFBS0NBUUVBeFRCbFR2M0xXd1pwSndSVFY4NnlLMnFKZktTZ1lxWHF4d1ZWTk94VDdwMm9FbERZCkhnNnBaN081OW1DeCtINkVrTUptRWxqZHVwVldoWEMrTVgyR0hIUXZPSkhHNXJPZTd3UzUzVHRKcXl3WVFHNkgKaWtSNDlZa044MEFaMkRscjZtU2F1NFMyR2k5eEpLRTVvK24vczIwWGFKRnhvVTk1NzBMVW9DUC9pMytHOGhVRQo2TVowbjh4dEFiQm53a2VzUzB1eUg5MmxjME5SNFptODdqL3pqSFhPVUxWS2thWTNGdE5OaXVkZFRtcjhuamYrCmVqR3J4cU85NFkwK0ZTTmFIeGFRbXJNRDBUREFiTzFpZ1dKNVFNQkNpYjZyNHVhRjlaZXpWdmtNWHNXVklJdk0KQk4vb1pFZiswbjBrNzlKT2FFdUkyWkM5ZzJzemluRUFqeGs4bndJREFRQUJBb0lCQUdlRXVacVhaL3Q0U1JtZgpqclZKSUlYa1h4c2RQY21yK3EzU29lR3ZzM3hRTGR5M3JrMVJPeVBpMlZ4N2ROTFVjSG1pWkgxN1E2UGhKRlBYClZUR2NDUnpFN2NsUDFsQmt1YW9YSEJBRlFPNW9ycTZjbC9GQmN4TExpWlJLOFladTFyVnRiVUhHTU9kY1FwU04KUXpwRzdPTGdBV3IyOStWTVdPSC9mcW8zVzc5NkhLcFE3UXpNY21UMmh0OFd0aU1xd2hzOWVsYkNsMk5HQjlqTQpyYllYNFZaeHVZazJQTUd3dm0xWE9HYjUvTHdGRXVneXh2UDJXakh4ckhkTnJ1bE95NS9ZbXVLWEFKeC9La2w5CjFnU1dOU2hySk84emZ3UTVqOGNERHd2WG5pT0EzUHZmcXNyT2pKSFc0dVVSeDhZaUhlOE1iVGorMCs2THRBTE4KbGRMdjJDRUNnWUVBL3hoZ2V2M1JYZnZSN3haS3hLUW1iRjFnSlB4bXJOYXkzaEY3WnRhNmZRMU5SS21McHVvQwpCWVhBd3FyV050ckRDTVN1OGtlamZqRHZUaDVsL2ZTREdwdFR1bVlMbFR0aFp1R2NielhBei9rMGN0K2QyczR6ClF1c1V3eW5OdTNjdG5tMVBuWUJWL1UySXpYcTZiVXFaRzREYi9HdzJQdnFtVStFK3o2YmdYazhDZ1lFQXhlTncKMk9WeWo1UjFKWnVYSDhZaTBWUmo0d0Ric2lRV1pvQ3ZMTGtNZnJPVUF6RHVMRDBDNUR2cVU3VTJjQ2NUdGQrYgovNGtEMUpzU0UyS2RsR0VqdzY0em1vOFhFSUg1ZVVCOXBwbWxlUXN2TGFWL0w3NlpRNGNqWjlVVWovRXBsV0pYCmJxMFE3YTdMdDdHZ0ZPcU15NldwL0lUMGpIZlNXRVBHR0J4TmVMRUNnWUJZZlU1S20rMmEycFh5aUJzYnA0MmsKbmFlU2JQUDVGT2tyVzRraEhXL0huV3VtVytJVDNxMGcyVXNLdkZSZTV2Z3MvSDFya2lwR3hoYmRWSEl3N0RibQpiZWRYaTdxTTQvSmZ5L2VHSkhGa002QmNFUElqU3RCQmNHYmRaSXozY05va1VPc0RTZGVLYlBEOXhvc1JDb1dlCklzOHMreVMrS0JpMmxEWkR0akd5eFFLQmdCUk5sWkpyV0NtckRhbmlJTXM5eE95OVA5SldrRFBpeC9tVVVtVEEKUjZ2b09OTnEvY1RFTGJ2RStmSEVzZVVuM1RuWHkyV1laVEEzQ00rOFduYVMwTnlPenZTWW9jRXIxTERBRVNRNgp0Mk9INWp0RXM1dnVia01qWmxxTTNpTTJseEdnbVYvZG1kTUpFQlcwdjd2bHBMUndOdFNWdjVGNTZiYnNuVEowCkZPN0JBb0dCQU81M2Z6RE00WkNVTkp3YTYvTVNlTXE1aEVEVWprWVBIaEIreEZnZFR6blpCU1dUN0RvZUpEWGcKWS9UMlRnSG40WTU0STBiRmNwUzZFQmI3NkFQTmhWOHZDaFJPZTRLRzkrTWlZb2s0dnZaVzl0R0xlaTdOdGlsYwpuMHAxb3V3eUduRytOVWljMm5KRXFWNTlMSVlONW9acFhySHc2S2R1eXFwbURWZnlxSzhTCi0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg==
[root@client00 ~]#
자, 주의해 야 할 것 은 이전에 모드 설정 을 초기 화 하 는 것 입 니 다. users 아래 의 client - certificate 와 client - key 입 니 다. 스스로 - data 접 두 사 를 붙 여야 합 니 다.
테스트 획득 내용:
[root@client00 ~]# kubectl config use-context cluster1
Switched to context "cluster1".
[root@client00 ~]# kubectl config get-contexts
CURRENT NAME CLUSTER AUTHINFO NAMESPACE
* cluster1 cluster1 kubernetes-admin1
cluster2 cluster2 kubernetes-admin2
지금까지 두 개의 군집 내용 을 준비 하 였 습 니 다.
helm 서버 초기 화 작업.
[root@client00 ~]# helm init --upgrade -i registry.cn-shanghai.aliyuncs.com/gcrio_images/tiller:v2.16.9 --stable-repo-url https://kubernetes.oss-cn-shanghai.aliyuncs.com/charts --service-account tiller
[root@client00 ~]# helm version
Client: &version.Version{SemVer:"v2.16.9", GitCommit:"8ad7037828e5a0fca1009dabe290130da6368e39", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.16.3", GitCommit:"1ee0254c86d4ed6887327dabed7aa7da29d7eb0d", GitTreeState:"clean"}
helm kubefed 창고 추가
[root@client00 ~]# helm repo add kubefed-charts https://raw.githubusercontent.com/kubernetes-sigs/kubefed/master/charts
[root@client00 ~]# helm repo list
NAME URL
kubefed-charts https://raw.githubusercontent.com/kubernetes-sigs/kubefed/master/charts
[root@client00 ~]# helm search kubefed --devel
NAME CHART VERSION APP VERSION DESCRIPTION
kubefed-charts/kubefed 0.3.1 KubeFed helm chart
kubefed-charts/federation-v2 0.0.10 Kubernetes Federation V2 helm chart
helm 설치 kubefed
[root@client00 ~]# helm install kubefed-charts/kubefed --name kubefed --version=0.3.1 --namespace kube-federation-system --devel --set controllermanager.repository=registry.cn-shanghai.aliyuncs.com/quayio_containers
helm 마 운 트 해제 kubefed
kubectl -n kube-federation-system delete FederatedTypeConfig --all
kubectl delete crd $(kubectl get crd | grep -E 'kubefed.io' | awk '{print $1}')
helm delete --purge kubefed
무 리 를 지어 가입 하 다.
kubefedctl join cluster1 --cluster-context cluster1 \
--host-cluster-context cluster1 --v=2
kubefedctl join cluster2 --cluster-context cluster2 \
--host-cluster-context cluster1 --v=2
집단 검사 가입 상태
[root@client00 ~]# kubectl -n kube-federation-system get kubefedclusters
NAME AGE READY
cluster1 20h True
cluster2 20h True
무 리 를 지어 가입 하지 않다
kubefedctl unjoin cluster2 --cluster-context cluster2 --host-cluster-context cluster1 --v=2
관련 연방 API 자원 클 러 스 터 열기
kubefedctl enable FederatedNamespace
kubefedctl enable FederatedDeployment
클 러 스 터 테스트 배치, nginx 를 배치 합 니 다. 각 cluster 는 3 개의 pod 를 배치 합 니 다.
다음 내용 은 test. yaml 로 저 장 됩 니 다.
apiVersion: types.kubefed.io/v1beta1
kind: FederatedNamespace
metadata:
name: test-namespace
namespace: test-namespace
spec:
placement:
clusters:
- name: cluster2
- name: cluster1
---
apiVersion: types.kubefed.io/v1beta1
kind: FederatedDeployment
metadata:
name: test-deployment
namespace: test-namespace
spec:
template:
metadata:
labels:
app: nginx
spec:
replicas: 3
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- image: nginx
name: nginx
placement:
clusters:
- name: cluster2
- name: cluster1
실행 파일
kubectl apply -f test.yaml
양쪽 클 러 스 터 가 성공 적 으로 배치 되 었 는 지 확인 합 니 다.
[root@client00 ~]# kubectl get pods --all-namespaces -o wide --context cluster1|grep test-deployment
test-namespace test-deployment-8cb559794-56g65 1/1 Running 0 16h 10.244.7.3 worker00
test-namespace test-deployment-8cb559794-v9dc6 1/1 Running 0 16h 10.244.7.2 worker00
test-namespace test-deployment-8cb559794-zfdpq 1/1 Running 0 16h 10.244.7.4 worker00
[root@client00 ~]# kubectl get pods --all-namespaces -o wide --context cluster2|grep test-deployment
test-namespace test-deployment-8cb559794-4z6hx 1/1 Running 0 16h 10.244.4.6 worker01
test-namespace test-deployment-8cb559794-rrjj7 1/1 Running 0 16h 10.244.5.8 worker02
test-namespace test-deployment-8cb559794-xt695 1/1 Running 0 16h 10.244.5.7 worker02
자, 이상 의 결 과 를 볼 수 있 습 니 다. 두 개의 군집 연방 이 성공 했다 는 것 을 설명 합 니 다. 더 많은 연방 에 대해 알 고 싶 으 시 면 공식 문 서 를 자세히 읽 어 보 세 요.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[K8s] Kubernetes Pod를 다시 시작하는 방법이 경우 빠르고 쉽게 다시 시작할 수 있는 방법이 필요할 수 있습니다. 따라서 단일 포드를 다시 시작하는 간단한 방법이 없습니다. 이 문서에서 다룰 몇 가지 사용 가능한 옵션이 있습니다. ReplicaSet에서 유지...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.