보안 ★★★★★
이번 주에 배우는 건 RBAC, IRSA
실습환경은 이전과 같다.
#
kops edit ig nodes-ap-northeast-2a
---
# 아래 3줄 제거
spec:
instanceMetadata:
httpPutResponseHopLimit: 1
httpTokens: required
---
# 업데이트 적용 : 노드1대 롤링업데이트
kops update cluster --yes && echo && sleep 3 && kops rolling-update cluster --yes
이 상태에서 보안이 노출된 노드의 파드를 통해 EC2의 메타데이터를 확인할 수 있었다.
폴라리스라는 툴을 사용하여 컨테이너의 부족한 부분을 UI로 볼 수 있게하는 tool
kubectl create ns polaris
#
cat <<EOT > polaris-values.yaml
dashboard:
replicas: 1
service:
type: LoadBalancer
EOT
# 배포
helm repo add fairwinds-stable https://charts.fairwinds.com/stable
helm install polaris fairwinds-stable/polaris --namespace polaris --version 5.7.2 -f polaris-values.yaml
# CLB에 ExternanDNS 로 도메인 연결
kubectl annotate service polaris-dashboard "external-dns.alpha.kubernetes.io/hostname=polaris.$KOPS_CLUSTER_NAME" -n polaris
클러스터 내에 polaris를 설치한 후 armo연동하면 위와같이 뜬다.
클러스터 내에 서비스 어카운트를 추가하고 파드 접근할 때 서비스 어카운트가 아니면 접근이 안되도록 하는 걸 세세하게 배울 수 있었다. 참고로 공식문서를 봐도 간단하게 만들 수 있었다.
참고사이트
Webhook admission Control
사용자가 아닌 다른 사람이 리소스에 변경을 줄 때 제어하게 해주는 컨트롤인데 이 부분에 대한 학습도 추가적으로 해봐야겠다.
참고사이트
7주간의 과정을 배우면서 AWS kops를 활용한 실무를 제대로 배울 수 있었고 EC2 인스턴스 볼륨과 alertmanager 기능 그리고 RBAC에 대한 학습을 더 디테일하게 할 수 있었던 기회를 가질 수 있다는 것에 감사함을 느낀다.
1주차 클러스터 설치 및 구성
2주차 VPC CIDR를 통해 POD 많이 생성하기
3주차 볼륨관리, 인그레스 세팅(네트워크)
4주차 CI/CD파이프라인 설치 및 구성
5, 6주차 모니터링 관련 설정
7주차 보안