우리 회사는 마이크로/서비스 기반 아키텍처로 전환하기로 결정했습니다.Kubernetes CI/CD 파이프 라인
우리는 지난 몇 달 동안 정확히이 아키텍처의 모습을 연구했습니다. 지금까지
, 우리는에 정착했습니다DOTNET 서비스 개발을위한 핵심 (언어 무신론자 인 것은 다소 최종 목표이지만) 메시지
카프카가
- 중개
도커
Kubernetes
Ansible
우리는 관리 팀 모든 권리 상자를 쳤다 것 같습니다과 함께 일할 수있는 절대적인 기쁨 개념 작업의 아주 기본적인 증거가있다.
다음 과제는 개발 워크 플로우가 실제로 어떻게 작동 할 것인지에 대한 옵션을 조사하는 것입니다. Jenkins/Octopus Deploy를 사용하는 최신 제품 중 일부는 이미 CI/CD 방식으로 작업하는 데 익숙합니다.
내 질문은 : Kubernetes 클러스터에 배포 할 때 CI/CD 파이프 라인 설정에 대한 확고한 권장 사항이 있습니까?
필수의 아이템의 목록은 다음과 같습니다
여러 환경 즉, 통합, 테스트, UAT, 준비, 생산.
다른 비즈니스 단위가 다른 환경에 대한 배포를 고유하게 처리 할 수있는 방법입니다 (개발은 통합, 테스트에 대한 테스트 만 가능). 이것은 아마도 가장 큰 질문 일 것입니다. 그들은 Octopus와 작업하는 데 익숙하며,이 기술을 처리하는 방식을 좋아합니다.
버튼을 클릭하거나 (가능한 한 적은 단계로) 롤백/배포 할 수있는 기능.
처음에는 우리 자신의 서버에 배포 할 것입니다.
저는 지난 몇 일 동안 많은 옵션을 살펴 보았습니다.
지금까지 젠킨스 파이프 라인 (Jenkins Pipeline)은 훌륭한 출발점이 될 것으로 보인다. Spinnakar는 또한 견고한 선택처럼 보입니다. 필자는 Fabric8을 조금 읽었고, 내가 묻는 것을 많이 제공하지만 과장된 것 같습니다.
[helm] (https://helm.sh/)을보십시오. k8 패키지 관리자입니다. Jenkins 배포 파이프 라인은 모든 서비스/배포/statefulset 등 리소스가 포함 된 서비스 패키지를 k8 클러스터에 배포합니다. 헬름은 또한 롤백을 지원합니다. – fishi
나는 그것을 밖으로 검사 할 것이다 - 감사합니다. –
[비슷한 질문] (https://stackoverflow.com/questions/36408339/best-cd-strategy-for-kubernetes-deployments/48268573#48268573)에 대한 내 답변을보고 싶습니다. 생각한다! – errordeveloper