티스토리 뷰
eksctl을 사용하여 Amazon EKS 작업자 노드에 여러 노드 그룹을 생성하려면 어떻게 해야 합니까?
최종 업데이트 날짜: 2019년 11월 22일
eksctl을 사용하여 Amazon Elastic Kubernetes Service(Amazon EKS) 작업자 노드에 여러 노드 그룹을 생성하려면 어떻게 해야 합니까?
간략한 설명
eksctl을 사용하여 기본 파라미터와 함께 또는 여러 노드 그룹에 대한 구성 파일을 사용하여 사용자 지정 파라미터로 작업자 노드 그룹을 생성할 수 있습니다.
해결 방법
기본 파라미터를 사용하여 작업자 노드 그룹 생성
1. eksctl을 설치합니다.
=> https://docs.aws.amazon.com/eks/latest/userguide/getting-started-eksctl.html
2. eksctl이 구성되어 올바른 권한을 가진 터미널에 설치되었는지 확인하려면 다음 명령을 실행합니다.
$ eksctl version
3. 기본 파라미터를 사용하여 작업자 노드 그룹을 추가로 생성하려면 다음 명령을 실행합니다.
$ eksctl create nodegroup --cluster=yourClusterName --name=yourNodeGroupName --region yourRegionName
기본 파라미터는 다음과 같습니다.
eksctl create cluster --name myeks --nodes 4 --region eu-west-1
[root@ip-10-0-0-222 bin]# ./eksctl create cluster --name myeks --nodes 4 --region eu-west-1 [ℹ] eksctl version 0.13.0 [ℹ] using region eu-west-1 [ℹ] setting availability zones to [eu-west-1b eu-west-1a eu-west-1c] [ℹ] subnets for eu-west-1b - public:192.168.0.0/19 private:192.168.96.0/19 [ℹ] subnets for eu-west-1a - public:192.168.32.0/19 private:192.168.128.0/19 [ℹ] subnets for eu-west-1c - public:192.168.64.0/19 private:192.168.160.0/19 [ℹ] nodegroup "ng-f22a868f" will use "ami-0b9d2c11b47bd8264" [AmazonLinux2/1.14] [ℹ] using Kubernetes version 1.14 [ℹ] creating EKS cluster "myeks" in "eu-west-1" region with un-managed nodes [ℹ] will create 2 separate CloudFormation stacks for cluster itself and the initial nodegroup [ℹ] if you encounter any issues, check CloudFormation console or try 'eksctl utils describe-stacks --region=eu-west-1 --cluster=myeks' [ℹ] CloudWatch logging will not be enabled for cluster "myeks" in "eu-west-1" [ℹ] you can enable it with 'eksctl utils update-cluster-logging --region=eu-west-1 --cluster=myeks' [ℹ] Kubernetes API endpoint access will use default of {publicAccess=true, privateAccess=false} for cluster "myeks" in "eu-west-1" [ℹ] 2 sequential tasks: { create cluster control plane "myeks", create nodegroup "ng-f22a868f" } [ℹ] building cluster stack "eksctl-myeks-cluster" [ℹ] deploying stack "eksctl-myeks-cluster" |
참고: 기본적으로 새 노드 그룹은 제어 평면에서 설치한 Kubernetes 버전(-version = auto)을 상속하지만 다른 Kubernetes 버전(예: version = 1.13)을 지정할 수 있습니다. 최신 버전의 Kubernetes를 사용하려면 -version = latest 명령을 실행합니다.
4. AWS CloudFormation 콘솔을 열고 생성한 노드 그룹과 연결된 스택을 선택합니다. 그런 다음 [Events] 탭을 선택하여 스택이 배포되었음이 표시되는 AWS CloudFormation 이벤트를 찾습니다.
5. 새 작업자 노드 그룹이 클러스터에 연결되었는지 확인하고 노드 그룹 구성이 적용되었는지 검증하려면 다음 명령을 실행합니다.
$ Kubectl get nodes $ eksctl get nodegroups --cluster yourClusterName
사용자 지정 파라미터를 사용하여 작업자 노드 그룹 생성
1. 구성 파일에서 새 작업자 노드 그룹의 파라미터를 정의합니다. 다음 예제를 참조하십시오.
kind: ClusterConfig apiVersion: eksctl.io/v1alpha5 metadata: name: yourClusterName region: yourRegionName nodeGroups: - name: ng1-Workers availabilityZones: ["az-name"] desiredCapacity: 3 instanceType: m5.large desiredCapacity: 3 iam: instanceProfileARN: "arn:aws:iam::11111:instance-profile/eks-nodes-base-role" #Attaching IAM role instanceRoleARN: "arn:aws:iam::1111:role/eks-nodes-base-role" privateNetworking: true securityGroups: withShared: true withLocal: true attachIDs: ['sg-11111', 'sg-11112'] ssh: publicKeyName: 'my-instance-key' kubeletExtraConfig: kubeReserved: cpu: "300m" memory: "300Mi" ephemeral-storage: "1Gi" kubeReservedCgroup: "/kube-reserved" systemReserved: cpu: "300m" memory: "300Mi" ephemeral-storage: "1Gi" tags: 'environment': 'development' - name: ng-2-builders #example of a nodegroup that uses 50% spot instances and 50% on demand instances: minSize: 2 maxSize: 5 instancesDistribution: maxPrice: 0.017 instanceTypes: ["t3.small", "t3.medium"] # At least two instance types should be specified onDemandBaseCapacity: 0 onDemandPercentageAboveBaseCapacity: 50 spotInstancePools: 2 tags: 'environment':'production'
2. 구성 파일을 사용하여 추가 작업자 노드 그룹을 생성하려면 다음 명령을 실행합니다.
$ eksctl create nodegroup --config-file= yourConfigFileName
3. AWS CloudFormation 콘솔을 열고 생성한 노드 그룹과 연결된 스택을 선택합니다. 그런 다음 [Events] 탭을 선택하여 스택이 배포되었음이 표시되는 AWS CloudFormation 이벤트를 찾습니다.
4. 새 작업자 노드 그룹이 클러스터에 연결되었는지 확인하고 노드 그룹 구성이 적용되었는지 검증하려면 다음 명령을 실행합니다.
$ Kubectl get nodes $ eksctl get nodegroups --cluster yourClusterName
작업자 노드가 클러스터에 조인된 것으로 표시됩니다. eksctl을 통해 두 개의 노드 그룹이 표시됩니다.
'3. 쿠버네티스의 모든것' 카테고리의 다른 글
[K8S] kubernetes POC를 위한 portainer, rancher 소개 및 설치 (0) | 2020.03.17 |
---|---|
rancher 설치및 실행해보자 (도커로) (0) | 2020.03.06 |
2020.02.13 EKS 시작해보자 (0) | 2020.02.13 |
kubernetes 설치 (0) | 2020.01.17 |
2탄!! 쿠버네티스와 컨테이너를 쉽게 이해하기 (0) | 2018.12.21 |
- Total
- Today
- Yesterday
- startup 에러
- [오라클 튜닝] instance 튜닝2
- directory copy 후 startup 에러
- 오라클 홈디렉토리 copy 후 startup 에러
- 버쳐박스
- 쿠버네티스
- MSA
- Oracle
- 우분투
- 키알리
- CVE 취약점 점검
- 코로나19
- 오라클 인스턴트클라이언트(InstantClient) 설치하기(HP-UX)
- 5.4.0.1072
- 스토리지 클레스
- K8s
- 오라클
- pod 상태
- 여러서버 컨트롤
- (InstantClient) 설치하기(HP-UX)
- 설치하기(HP-UX)
- ORACLE 트러블 슈팅(성능 고도화 원리와 해법!)
- 테라폼
- ubuntu
- 오라클 트러블 슈팅(성능 고도화 원리와 해법!)
- [오라클 튜닝] sql 튜닝
- 커널
- 튜닝
- 트리이스
- 앤시블
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |