kubectl
kubectl은 Kubernetes 클러스터를 제어하기 위한 커맨드 라인 인터페이스(CLI) 도구
kubectl을 사용하여 사용자는 클러스터에 있는 리소스를 생성, 조회, 업데이트 및 삭제
kubctl download
https://kubernetes.io/ko/docs/tasks/tools/install-kubectl-windows/
왼쪽 사이드바 - 원도우에 kubectl 설치 및 설정
스크롤 내려서 winget 선택
PowerShell에 winget install -e --id Kubernetes.kubectl 입력 및 Y입력 후 설치
버전 확인
=====클러스터 생성=====
kluster_key_create
kluster_보안그룹설정
클러스터를 만든계정으로만 접속해야한다.
aws eks update-kubeconfig --region ap-northeast-2 --name 6team_cluster
node가 없어서 AWS에서 node를 생성해야한다.
=====노드 생성=====
node_group_create
노드 생성 확인
Deployment로 pods 생성
Deployment 파일 생성
메모장으로 nginx-depl.yml 파일 다운로드 경로에 저장(파일확장 : 모든 파일)
다운로드 경로로 이동
nginx-depl.yml 적용 및 pod 생성 확인
kubectl apply -f .\nginx-depl.yml
kubectl get pods
git repo 생성 및 PC에 git clone
vscode연결 및 파일생성
nginx-depl.yml
nginx-service-nodeport.yml
nginx-depl.yml
nginx-service-nodeport.yml
service 생성
kubectl apply -f .\nginx-service-nodeport.yml
service 생성 확인
kubectl get service
보안그룹 인바운드 규칙 추가 및 nignx 접속 테스트
EC2가 잡고 있는 보안그룹 인바운드 규칙 수정
6team 30001 ~ 30004 port추가
pod 확인해서 NODE 정보 확인
ec2 인스턴스에서 검색
EC2퍼블릭 IPv4 DNS주소:30002로 nginx 접속 테스트
로드밸런서 적용 - Http Only
로드밸런서 자동으로 생성되게 만들기
로드밸런서가 생성되면서 대상그룹도 자동으로 지정한다.
nodePort: 30002은 없어도 된다. name이 http이기 때문에 port는 80으로 잡히기 때문
type:로드밸런서 => 1)로드밸런서, 2) 보안그룹 생성
기존 service delete
service LoadBalancer 적용
service 동작 확인 및 port 확인
EC2 보안그룹 인바운드 규칙 port 추가
로드밸런서 DNS이름 확인
로드밸런서 리스너
로드밸런서 nginx 접속 테스트 확인(로드밸런서 DNS이름)
AWS EKS LoadBalancer architecture
⭐Http, Https 접속 설정
기존 service http only delete
로드밸런서 리스너에 정보 넣기
route 53 A코드 인증서 적용
httphttps.yml에 인증서 정보 넣기
⭐오늘 수업의 결론
nginx-depl.yml
nginx-service-httphttps.yml
실제적으로 필요한 yml 파일은 위 두가지
무조건 httphttps를 사용해서 https 접속을 구현해야한다.
https 접속하기 위한 설정 무조건 정리해야함
로드밸런서 리스너에 정보 넣기
route 53 A코드 인증서 적용
httphttps.yml에 인증서 정보 넣기
'Cloud > AWS' 카테고리의 다른 글
Kubernetes5_2024_03_08 (0) | 2024.03.11 |
---|---|
Kubernetes4_2024_03_07 (0) | 2024.03.11 |
Kubernetes2_2024_03_06 (0) | 2024.03.06 |
Kubernetes1_2024_03_05 (0) | 2024.03.05 |
Docker3_2024_03_05 (0) | 2024.03.05 |