예시: WordPress와 MySQL을 퍼시스턴트 볼륨에 배포하기
진행상황
<aside>
💡
- Step 1,2,3,4 완료
- Argo CD, Argo Rollouts, GitOps 로 Blue/Green 배포하기 완료
- Istio 도입하여 Istio Ingress gateway 교체 예정
- 프로메테우스, 그라파나 구성 예정
- fluntd, ElasticSearch, kibana 로깅 구성 예정
→ 해당 예정 사항은 파이널 프로젝트에서 진행했습니다.
</aside>
요구사항
k8s 클러스터 구성
- 작업 환경은 개인별로 편한걸 사용해주시면 됩니다. (AWS, GCP 등)
- [x] EKS 클러스터 구성 (참고링크)
- [x] 노드 provisioning 2개 이상
Stateful WordPress 리소스 구성 추가
- [x] Deployment로 배포
- [x] Service와 Ingress(ALB)를 생성하여 wordpress app을 클러스터 외부로 노출 (참고 문서)
- [x] HPA를 설정하여 Autoscailing이 가능하도록 정의 (Metric Server 설치)
- [x] resources, livenessProbe를 정의
Stateful MySQL 리소스 구성 추가
- [x] StatefulSet으로 배포
- [x] replicas는 2 이상으로 정의
- [x] resources, livenessProbe를 정의
- [x]
Secret을 생성하여 root 패스워드 설정
- [x]
PVC를 이용하여 스토리지와 연결
- [x]
Headless Service를 생성하여 mysql app과 연결
Stateless 애플리케이션 배포하기