Ssoon
[1주차] AWS kOps 설치 및 기본 사용 본문
이정훈님이 집필하신 "24단계 실습으로 정복하는 쿠버네티스" 로 진행하는 CloudNet@ 팀의 PKOS 1주차 정리입니다.
✅ KOPS (Kubernetes OPerationS)
✔ AWS에서 Kubernetes 클러스터를 생성, 업그레이드 및 관리하기 위한 command-line tool 입니다.
✔ AWS 리소스 생성, Kubernetes 마스터 및 워커 노드 구성, 네트워킹 및 DNS 설정 등 Kubernetes 클러스터를 설정하는 데 관련된 많은 작업을 자동화합니다.
✅ 실습 구성도
✅ KOPS 설치
💠 Cloudformation 으로 KOPS EC2 를 설치합니다.
💠 기본 설치 정보를 확인합니다.
💠 K8S 설정 파일이 저장되는 S3 버킷을 생성합니다.
💠 Cluster 를 배포할 때 참고할 변수를 설정합니다.
💠 K8S 클러스터를 배포하고 생성되는 EC2 를 모니터링합니다.
kops create cluster --zones="$REGION"a,"$REGION"c --networking amazonvpc --cloud aws \
--master-size t3.medium --node-size t3.medium --node-count=2 --network-cidr 172.30.0.0/16 \
--ssh-public-key ~/.ssh/id_rsa.pub --name=$KOPS_CLUSTER_NAME --kubernetes-version "1.24.10" -y
✔ --zones : 리전 정보
✔ --networking : CNI 정보
✔ --cloud : CSP정보
✔ --master-size : 마스터노드 EC2 유형
✔ --node-size : 워커노드 EC2 유형
✔ --node-count : 워커노드 수
✔ --network-cidr : CNI 대역 정보
✔ --ssh-public-key : 각노드 접속에 필요한 SSH 키 정보
✔ --name : 클러스터 이름
✔ --kubernetes-version : K8S 버전 정보
💠 Node IP 와 Pod IP 를 확인합니다.
💠 Clusters, Contexts, Users 인증정보를 확인합니다.
💠 Container Runtime 정보를 확인합니다.
💠 Route53 에서 Domain 정보를 확인합니다.
✔ A레코드 3개가 생성됩니다.
💠 Auto Scaling Group 정보를 확인합니다.
✅ 관리의 편의를 위한 플러그인 설치
💠 kubectl Cli 플러그인 매니저인 krew 를 설치하고 PATH를 추가합니다.
💠 kube-ctx / kube-ns 를 설치합니다.
✔ kube-ctx : context 사용
✔ kube-ns : namespace 사용
💠 mario 게임을 배포하고 테스트합니다.
✅ ExternalDNS
💠 ExternalDNS Addon 을 설치합니다.
✔ 정책 (externaldns-aws-r53-policy.json) 다운로드하고 (마스터/워커) 에 정책을 연결합니다.
⛔ externaldns-aws-r53-policy.json
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"route53:ChangeResourceRecordSets"
],
"Resource": [
"arn:aws:route53:::hostedzone/*"
]
},
{
"Effect": "Allow",
"Action": [
"route53:ListHostedZones",
"route53:ListResourceRecordSets"
],
"Resource": [
"*"
]
}
]
💠 kops edit cluster 실행 후 추가하고 업데이트 합니다.
spec:
certManager:
enabled: true
externalDns:
provider: external-dns
kops update cluster --yes && echo && sleep 3 && kops rolling-update cluster
💠 LB에 ExternalDNS 로 도메인을 연결하고 주소를 확인 합니다.
✅ 워커 노드 증가 실습 (ASG = Auto Scaling Group 활용)
💠 노드를 추가하고 적용합니다.
💠 증가된 워커노드를 확인합니다.
✅ 실습 환경 삭제
kops delete cluster --yes
'Production Kubernetes Online Study' 카테고리의 다른 글
[1주차] CHAPTER-05 쿠버네티스 트러블슈팅 (0) | 2023.03.10 |
---|---|
[1주차] CHAPTER-04 YAML파일를 이용한 오브젝트 관리 (0) | 2023.03.10 |
[1주차] CHAPTER-03 쿠버네티스 주요 오브젝트 (0) | 2023.03.10 |
[1주차] CHAPTER-02 효율적인 쿠버네티스 클러스터 관리 (0) | 2023.03.10 |
[1주차] CHAPTER-01 쿠버네티스 개요와 클러스터 설치 (0) | 2023.03.08 |