월루를 꿈꾸는 대학생

PKOS 2주차 본문

Server&Network/Kubernets_Dokcer

PKOS 2주차

하즈시 2023. 3. 19. 05:25
728x90

24단계 실습으로 정복하는 쿠버네티스 책을 기준하여 정리하였습니다.

http://www.yes24.com/Product/Goods/115187666

 

24단계 실습으로 정복하는 쿠버네티스 - YES24

실무 현장의 경험을 고스란히 담은 쿠버네티스 실습서!직접 해야만 알 수 있는 것들이 있다. 쿠버네티스도 마찬가지다. 쿠버네티스의 기반이 되는 컨테이너 기술은 기존의 가상 머신과 기본 전

www.yes24.com

 


 

 

kops로 클러스터 생성 

 

# AWSLoadBalancerController IAM 정책 생성 : 이미 정책이 있다면 Skip~
curl -o iam_policy.json https://raw.githubusercontent.com/kubernetes-sigs/aws-load-balancer-controller/v2.4.5/docs/install/iam_policy.json
aws iam create-policy --policy-name AWSLoadBalancerControllerIAMPolicy --policy-document file://iam_policy.json

# EC2 instance profiles 에 IAM Policy 추가(attach) : 처음 입력 시 적용이 잘 안될 경우 다시 한번 더 입력 하자! - IAM Role에서 새로고침 먼저 확인!
aws iam attach-role-policy --policy-arn arn:aws:iam::$ACCOUNT_ID:policy/AWSLoadBalancerControllerIAMPolicy --role-name masters.$KOPS_CLUSTER_NAME
aws iam attach-role-policy --policy-arn arn:aws:iam::$ACCOUNT_ID:policy/AWSLoadBalancerControllerIAMPolicy --role-name nodes.$KOPS_CLUSTER_NAME
aws iam attach-role-policy --policy-arn arn:aws:iam::$ACCOUNT_ID:policy/AllowExternalDNSUpdates --role-name masters.$KOPS_CLUSTER_NAME
aws iam attach-role-policy --policy-arn arn:aws:iam::$ACCOUNT_ID:policy/AllowExternalDNSUpdates --role-name nodes.$KOPS_CLUSTER_NAME

제약 조건 제거 -> 워커노드 여러개 띄워보기 위해서 

 

 

 

AWS VPC CNI

- aws에서는 aws vpc cni 사용

- 파드와 노드의 네트워크 대역이 같다! -> 통신 과정을 단순화 (calico는 파드와 노드의 네트워크 대역이 다르다 )

- 다른 노드와 통신 시 패킷을 감싸서 통신하는데 aws vpc cni는 동일 대역 직접 통신

 

- 파드 ip와 노드 ip 대역이 같음 

 

 

현재 파드 갯수 30

 

 

테스트용 파드를 생성해서 ip주소를 확인 

워커노드 1번에 대역 확인 

파드에 직접 들어와서 ip대역 확인도 가능 


파드간 통신 테스트 

- 별도 nat 없이 (대역이 같으니까) 통신 가능 

 

각 pod 핑 테스트 

 

 

노드의 ip가 찍히는 게 아니라 pod의 ip가 그대로 찍힘 

외부로 나갈 때

- 노드 ip로 snat 됨 

 

파드 배포 

-현재 0개 

- 레플리카셋으로 100개 적용 

최대 파드를 100개 까지 생성가능하도록 설정되어 있음 

 

 


 

- iptable 룰에 따르지 않고 바로 로드밸런서에서 pod로 보내줌 

- 동적으로 바뀌는 pod ip를 알아야하기에 lb 파드가 지속적으로 갱신해줌 

 

 

 

 

 

로드밸런서의 타겟이 노드가 아니라 파드의 ip 

파드를 줄이거나 늘리면 자동으로 감시해서 타겟그룹에 파드를 넣어줌 

 


인그레스 

- http/ https 를 외부 노출 

 

 

 

 

배포 테스트 

pod ip로 이동 

 

확인 

 

두가지 경로 

로드밸런서 경로 확인 


부하를 발생시키는 파드를 생성하고 성능 측정 확인 

 

ebs controller 

ebs-csi-controller 파드로 aws api로 ebs 생성 요청하고 파드에 사용할 수 있도록 붙음 

해당 파드의 사용량확인 

 

728x90

'Server&Network > Kubernets_Dokcer' 카테고리의 다른 글

PKOS 4주차 모니터링  (0) 2023.04.02
PKOS 3주차 GitOps  (0) 2023.03.26
PKOS 1주차  (2) 2023.03.12
로컬에서 k8s 구축하기  (1) 2023.03.04
쿠버네티스 API 개념 및 보안 내용 정리  (0) 2022.03.14