728x90
고맙게도 팀에 새로운 DevOps가 조인했다. 그 친구에게 업무 공유도 할 겸 DevOps로 해야 할 일을 실습으로 정리해 보았다. 아래 실습을 하면 우리 업무를 마스터 할 듯.
그리고 아마도 어느 정도는 우리 같은 40명 언더의 스타트업이고 DevOps 1~2명 조직에서도 비슷한 일을 할 것 같다. 그분들에게 도움이 될까 봐 공유한다.
기회가 된다면 이번에는 아래 목차로 동영상을 찍어볼까 한다. 온프레미스로 책을 썼으니 이번에는 EKS로 동영상을 만들어보면 어떨까 싶다. 머 책처럼 1년 걸리는 노가다이겠지만. 아니다 2번째니 6개월이면 되지 않을까?
기본적으로
- 모든 업무는 자동화할 수 있도록 코드화(IaC) 한다.
- 작업 속도를 높일 수 있도록 GUI 작업은 지양하고 스크립트화 한다. GUI는 확인 용도로만.
(물론 나도 잘 못하지만) - 다른 사람이 유지 보수 할 수 있도록 업무 품질을 생각한다. 문서로 남기고.
현재 업무를 나열해보면(물론 계속 수정되어야겠지만)
-
EKS 접속 및 로컬 kubectl 환경 최적화aws configure 설정(aws 계정 별로 eks 접속 권한 분리)로컬 kubectl 설치, kubectl configure 파일 설정 및 kubectl alias 설정(e.g kgp for kubectl get pod -o wide)k ctx, k ns, k ps + k krew plugin 등 kubectl 환경 최적화VSCode 팁 공유(IDE는 각자 취향인가?) - 'compare selected', 단축키 등DevOps가 사용하는 깃헙 주소 공유 - 헬름, 테라폼, 파이썬 레포 등(PR까지는 안하는 걸로)
-
테라폼 사용해서 eks 생성tag 할당(user: jerry, env: stage 등)vpc는 신규로 만들지 않고 기존 vpc 사용노드 그룹 설정
: private vpc 대역 지정, Spot 인스턴스 사용, cpu/gpu 2개로 나누고eks default cluster ip 대역 이 외 새로운 cluster ip 대역 지정추가 IRSA 적용: vpc_cni_irsa, cluster_autoscaler_irsa_role, ebs_csi_irsa_role, efs_csi_irsa_role -
새로운 EKS 만들면 꼭 해야하는 것들이 있다.EBS/EFS CSI Driver 설치 후 StorageClass(ebs-sc/efs-sc) 생성ebs-sc default StorageClass 지정
snapshot controller 생성k8s-dashboard, metrics-server, cluster autoscaler 등 설치 - ECR 사용
custom 도커 이미지 생성 후 ECR upload
ECR AWS 다른 계정 연동할 수 있도록 보안 설정 -
헬름 사용법pull 명령어로 로컬 다운하여 헬름 차트 버전 관리
헬름 value 파일 관리 - 각 리전/환경(prod/stage) 별 고유 value.yaml 파일 사용 -
헬름 for In-House 애플리케이션helm createconfigmap 별도 지정security context 추가 설정probe, graceful shutdown, checksum for argocd, tolerations/node-pod affinity, auto-scaling, ingress 등 설정필요 시 custom monitoring을 위한 service monitor manifest 추가
PVC(SAN or NFS) 설정 -
nginx-ingress 설치NLB 타입 LB 자동 생성되도록certificate manager의 인증서 정보가 자동 추가되도록
https only용도 별 ingress class 분리
Route 53에서 도메인과 LB 연동 -
ArgoCD설치 시 깃헙 주소 등록sub-path(/argocd) 등록하여 ingress 설정app-of-apps Root application 설정
: argocd applications CRD 한번에 설치할 수 있도록 -
Prometheus/Grafanaprometheus stack 헬름 파일 이용 설치(prometheus, grafana 헬름 파일 분리할까 고민 중)
로그 파일 30일 보관
sub-path(/grafana) 등록하여 ingress 설정alertmanager는 설치 안하고로키 data source 추가(헬름 차트 포함)
prometheus adapter + blackbox exporter 추가 - Loki
로그 파일 30일 보관 - 대시보드 및 alarm
default 대시보드 중 중요 대시보드 확인
custom 대시보드 생성(e.g nginx connection 수 모니터링)
슬랙 alarm 연동
custom alarm 추가
grafana default alarm 내역 확인 및 연동 - Jenkins 파일 작성
이미지 build 후 push까지 실습 - 공통 Application 헬름 설치
MySQL, PostgreSQL, Kafka, Redis, ES, Kibana, logstash, OAuth2 Proxy - 기타 도구 사용법
Kafka-UI, Polaris, Tailscale, kubescape, kubecost, k8spacket
반응형
'쿠버네티스 교육' 카테고리의 다른 글
파일시스템 기반 Loki 설치 (8) | 2023.04.01 |
---|---|
원격 EKS 접속 환경 설정 (0) | 2022.11.08 |
[동영상] kubespray 설치 및 원격 cluster 등록 (0) | 2021.08.28 |
Kubernetes 실습 과제 리스트 (0) | 2021.08.25 |
02. kube 실습 과제 - kubectl 환경 최적화 및 kube tool 설치 (0) | 2021.07.26 |