다중 클라우드에서 Kubernetes를 관리하도록 AWS에서 Gardener 설정
5679 단어 gardenereksawskubernetes
메모:
1000개 이상의 Kubernetes 클러스터를 사용하는 경우 Gardener를 선택하는 것이 좋습니다.
이 문서에는 ""에 대한 추가 정보가 있습니다.
단계
내가 사용하고 있는 머신은 EC2의 Debian 10입니다.
1- 다음을 통해 EKS 클러스터에 연결
aws eks --region YOUR_REGION update-kubeconfig --name YOUR_CLUSTER
2- EKS 클러스터에서 Gardener는 Vertical Pod Autoscaler을 설치해야 합니다.
3- 클러스터용 서비스 계정 생성
kubectl -n kube-system create serviceaccount kubeconfig-sa
kubectl create clusterrolebinding add-on-cluster-admin --clusterrole=cluster-admin --serviceaccount=kube-system:kubeconfig-sa
TOKENNAME=`kubectl -n kube-system get serviceaccount/kubeconfig-sa -o jsonpath='{.secrets[0].name}'`
TOKEN=`kubectl -n kube-system get secret $TOKENNAME -o jsonpath='{.data.token}'| base64 -d`
kubectl config set-credentials kubeconfig-sa --token=$TOKEN
kubectl config set-context --current --user=kubeconfig-sa
kubectl get pods
4- 클론 암퇘지와 풍경
git clone "https://github.com/gardener/sow"
cd sow
export PATH=$PATH:$PWD/docker/bin
cd ..
mkdir landscape
cd landscape
git clone "https://github.com/gardener/garden-setup" crop
5- ./kube/config를 ./kubeconfig로 복사하여 kubeconfig 생성
cp /home/admin/.kube/config /home/admin/gardener/landscape/kubeconfig
6-/home/admin/gardener/landscape/acre.yaml에 acre.yaml 생성
다음 구성을 추가합니다.
landscape:
name: aws-gardener
domain: example.com
cluster: # information about your base cluster
kubeconfig: ./kubeconfig # path to your `kubeconfig` file
networks: # CIDR IP ranges of base cluster
nodes: 10.0.0.0/19
pods: 10.1.0.0/19
services: 172.20.0.0/16
iaas:
- name: aws-gardener-seed # name of the seed
type: aws # iaas provider
region: eu-central-1 # region for initial seed
zones:
- eu-central-1a
- eu-central-1b
- eu-central-1c
credentials:
accessKeyID: XXX
secretAccessKey: XXX
etcd: # optional, default values based on `landscape.iaas`
backup:
type: s3 # type of blob storage
region: (( iaas.aws-gardener-seed.region ))
credentials: (( iaas.aws-gardener-seed.credentials ))
dns: # optional, default values based on `landscape.iaas`
type: aws-route53 # dns provider
credentials: (( iaas.aws-gardener-seed.credentials ))
identity:
users:
- email: [email protected] # email (used for Gardener login)
username: admin # username (displayed in Gardener dashboard)
password: XXXX #(used for Gardener login)
cert-manager:
email: [email protected] # email for acme registration
server: self-signed # which kind of certificates to use for the dashboard/identity ingress (defaults to `self-signed`)
7- 다음을 통해 구성(acre.yaml)을 테스트합니다.
admin@ec2:~/gardener/landscape$ sow order -A
8- 정원사 배치
admin@ec2:~/gardener/landscape$ sow deploy -A
9- 이 그림과 같은 Gardener 대시보드의 URL을 얻을 수 있습니다.
옵션: Gardener가 GCP 또는 Azure와 같은 다른 클라우드 공급자를 지원하도록 하려면 iaas 섹션 아래의 6단계에서 acre.yaml에 다음을 추가해야 합니다.
Azure의 경우:
- name: azure-seed
type: azure
region: XXXX
credentials:
clientID: "XXXXXX"
clientSecret: "XXXXXXX"
subscriptionID: "XXXXXXXX"
tenantID: "XXXXXXXX"
cluster:
kubeconfig: ./azure/kubeconfig # path to your `kubeconfig` file
networks:
nodes: 10.242.0.0/19
pods: 10.243.128.0/17
services: 10.243.0.0/17
GCP의 경우:
- name: gcp-seed
type: gcp
region: XXXX
zones:
- (( region "-a"))
- (( region "-b"))
- (( region "-c"))
credentials:
serviceaccount.json: |
{
"type": "service_account",
"project_id": "XX",
"private_key_id": "XX",
"private_key": "XX",
"client_email": "XXX",
"client_id": "XX",
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://oauth2.googleapis.com/token",
"auth_provider_x509_cert_url": "XX",
"client_x509_cert_url": "XX"
}
cluster:
kubeconfig: ./gcp/kubeconfig
networks:
nodes: "10.1.0.0/16"
pods: "10.2.0.0/19"
services: "172.21.0.0/16"
출처:
https://news.sap.com/germany/2018/11/cloud-kubernetes-hpfa/
Reference
이 문제에 관하여(다중 클라우드에서 Kubernetes를 관리하도록 AWS에서 Gardener 설정), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/aws-builders/setup-gardener-on-aws-53b1텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)