aws cli 설치
eks cli
kubectl 설치
통제는 amazon EKS (control plane) 에서 받음
쿠버네티스는 desired state와 present state 비교해서 desired 상태로 만들어줌(컨테이너를 오케스트레이션 해주는 기능) - 도커와 차이점
ecs - 클러스터 구성비용 안받음
eks - 클러스터 구성비용 받음
KUBECTL -> kubeapiserver-> etcd(데이터 베이스: 시스템에 대한 상태 정보, 노드에 대한 상태 정보) -> controller manager(갯수 보장)한테 요쳥 -> 일병 scheduler 가 desired state 만들어주기 위해 워커 노드 선정
kublet 은 데몬 형태
worker node 에는 컨테이너 엔진이 설치되어 있음
ex) 도커
eks의 경우 컨테이너 엔진으로 cri-o 사용
ecs 의 경우 컨테이너 엔진으로 docker 사용
사용자는 로드 발란스를 타고 와서 서비스를 경험
인그레스= aws 로드발란스 컨트롤러
1. IAM 에서 EKS 마스터 워크 노드 롤 생성하기
2. Ubuntu instance 생성하기
퍼블릭 zone 에 생성하기
ssh 연결
3. ubuntu Linux EC2 에 AWS CLI 관리툴인 aws 설치
4. ubuntu Linux EC2 에 EKS설치/운영 툴인 eksctl 설치
5. ubuntu Linux EC2 에 k8s 관리툴인 kubectl 설치
6. ubuntu Linux EC2 에서 aws 관리할수 있도록 root 계정으로 로그인 하기
root 계정 아닌 일반 사용자면 권한 설정을 추가로 해줘야 노드들을 다 볼 수 있
메모장 참고
7. EKS 구성하기
vi cluster.yaml
아래 서브넷은 private zone 의 서브넷 기재해야함(워크노드 서브넷이므로)
eksctl create cluster -f cluster.yaml
설치 잘되고 있는지 cloudformation 에서 확인 가능
클러스터 생성 후 -> 워크 노드
참고: node 생성한거 삭제하려면 아래 명령어 입력합니다.
eksctl delete cluster -f cluster.yaml
지금 생성한 것은 노드 그룹 2개 각 노드 그룹마다 desire capacity 1이므로 워크 노드 1개 총 2개 생성하는 과정입니다.
워커 노드 정보 보기
$ kubectl get nodes -o wide
Pod 배포 TEST. nginx 컨테이너 5개 실행하고 결과 확인
$ kubectl create deployment webtest --image=nginx:1.14 --port=80 --replicas=5
$ kubectl get pods -o wide
로드발란드 dns 로 접속
롤링 업데이트 nginx :1.14 -> nginx:1.15 로 업데이트
kubectl set image deployment webtest nginx=nginx:1.15
롤백하기
'클라우드 기초 > AWS' 카테고리의 다른 글
[AWS] Console 로 EKS 클러스터 생성 및 CLI 로 접속하기 (0) | 2023.07.16 |
---|---|
[AWS] WAF 설치 (0) | 2023.07.13 |
[AWS] dockerfile로 이미지 build & ECR에 이미지 push (0) | 2023.07.13 |
[AWS] ECS fargate 구성하기 (0) | 2023.07.13 |
[AWS] Elasti Cache (0) | 2023.07.12 |
댓글