월루를 꿈꾸는 대학생
PKOS 2주차 본문
‘24단계 실습으로 정복하는 쿠버네티스’ 책을 기준하여 정리하였습니다.
http://www.yes24.com/Product/Goods/115187666
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 생성 요청하고 파드에 사용할 수 있도록 붙음
해당 파드의 사용량확인
'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 |