본 포스트는 조나단바이에르, 쿠버네티스 기초다지기 3/e (에이콘)을 참고하여 정리하였습니다. 해당 포스트에서 쿠버네티스에 대한 지식을 얻기에는 부족한 부분이 많아, 쿠버네티스에 대해서 이해를 하려면 아래 포스트를 참고해주세요.
AWS를 사용한 쿠버네티스 실행
CLI 설정
1. 설치 문서
2. 설정 문서
액세스 키 ID 및 보안 액세스키
$ aws configure --profile [profile 명]
AWS Access Key ID [None]: [발급받은 Key ID]
AWS Secret Access Key [None]: [발급받은 Secret Key]
Default region name [None]: ap-northeast-2
Default output format [None]: json
$ brew update && brew install kops
IAM 설정
kops를 사용하기 위해서는 AWS에서 AmazonEC2FullAccess
, AmazonRoute53FullAccess
, AmazonS3FullAccess
, IAMFullAccess
, AmazonVPCFullAccess
권한을 가진 IAM 역할을 만들어야 한다.
$ aws iam create-group --group-name kops
$ aws iam attach-group-policy --policy-arn arn:aws:iam::aws:policy/AmazonEC2FullAccess --group-name kops
$ aws iam attach-group-policy --policy-arn arn:aws:iam::aws:policy/AmazonRoute53FullAccess --group-name kops
$ aws iam attach-group-policy --policy-arn arn:aws:iam::aws:policy/AmazonS3FullAccess --group-name kops
$ aws iam attach-group-policy --policy-arn arn:aws:iam::aws:policy/IAMFullAccess --group-name kops
$ aws iam attach-group-policy --policy-arn arn:aws:iam::aws:policy/AmazonVPCFullAccess --group-name kops
$ aws iam create-user --user-name kops
$ aws iam add-user-to-group --user-name kops --group-name kops
$ aws iam create-access-key --user-name kops
SecretAccessKey와 AccessKeyID를 복사해 CLI 구성
$ export AWS_ACCESS_KEY_ID=$(발급받은 AccessKEyID)
$ export AWS_SECRET_ACCESS_KEY=$(발급받은 SecretAccessKey)
클러스터 상태 저장소
클라우드에 리소스를 구축하기 때문에 클러스터 형상 정보를 전용 S3 버킷에 저장해야 한다. 버킷 이름 앞부분에 고유한 값을 추가하면 된다. 참고로 kops가 버킷 위치를 강제하고 있기 때문에 버킷은 us-east-1리전에 만들어져야 한다.
$ aws s3api create-bucket \
--bucket [고유한 버킷명(예. gsw-k8s-3-state-store)] \
--region us-east-1
클러스터를 이전 상태로 롤백이 가능하도록 설정
$ aws s3api put-bucket-versioning --bucket [버킷명] --versioning-configuration Status=Enabled
.k8s.local 로컬 설정을 사용해 클러스터의 DNS설정을 간소화하기위해서, 로컬환경을 준비한다.
$ export NAME=[DNS이름].k8s.local
$ export KOPS_STATE_STORE=s3://[버킷명]
$ aws s3api crreate-bucket --bucket [버킷명] --region us-east-1
만약
$ kops create cluster --zones us-east-2a ${NAME}
를 입력하고 클러스터를 만드는데 kops create secret --name [버킷명] sshpublickey admin -i ~/.ssh/id_rsa.pub
와 같이 문구가 뜬다면 ssh key 생성문서를 참고하여 생성하고, DNS주소를 입력하면 된다. 이후에
$ kops update cluster gwsk8s.k8s.local --yes
를 실행하여 클러스터 생성이 제대로 완료되었는지 확인하면 된다.
마지막으로 kubectl get nodes
를 실행하여 master와 node가 제대로 실행되는지 확인하자
참고 및 출처:
'개발 > Docker & Kubernetes' 카테고리의 다른 글
[k8s study] 15. 쿠버네티스 인프라 관리 (0) | 2020.11.27 |
---|---|
[k8s study] 8. 모니터링과 로깅 (0) | 2020.10.06 |
[k8s study] 4. 신뢰성있는 컨테이너 네이티브 애플리케이션 구현 (0) | 2020.08.29 |
[k8s study] 쿠버네티스 기초다지기 3/e (0) | 2020.08.06 |
쿠버네티스 (Kubernetes) 한번에 정리하기 (0) | 2020.08.03 |
댓글