여러 환경 (QA, 스테이징, 프로덕션, 개발 등)을 관리하기위한 K8S의 모범 사례로 간주되는 것은 무엇입니까?
예를 들어, 팀이 프런트 엔드 애플리케이션과 함께 몇 가지 API를 배포해야하는 제품을 작업하고 있다고 가정 해 보겠습니다. 일반적으로 최소 2 개의 환경이 필요합니다.
- 스테이징 : 클라이언트에 릴리스하기 전에 반복 / 테스트 및 검증
- 프로덕션 : 클라이언트가 액세스 할 수있는 환경입니다. 안정적이고 잘 테스트 된 기능을 포함해야합니다.
그렇다면 팀이 Kubernetes를 사용한다고 가정하면 이러한 환경을 호스팅하는 좋은 방법은 무엇일까요? 지금까지 두 가지 옵션을 고려했습니다.
- 각 환경에 K8s 클러스터 사용
- 하나의 K8 클러스터 만 사용하고 서로 다른 네임 스페이스에 보관하십시오.
(1) 생산 환경을 위험에 빠뜨릴 수있는 잠재적 인 인간 실수 및 기계 고장의 위험을 최소화하기 때문에 가장 안전한 옵션으로 보입니다. 그러나 이것은 더 많은 마스터 머신의 비용과 더 많은 인프라 관리 비용을 동반합니다.
(2) 단일 클러스터가 하나이기 때문에 인프라 및 배포 관리를 단순화하는 것처럼 보이지만 다음과 같은 몇 가지 질문이 제기됩니다.
- 사람의 실수가 프로덕션 환경에 영향을 미칠 수 있는지 어떻게 확인합니까?
- 스테이징 환경의 높은로드로 인해 프로덕션 환경의 성능이 저하되지 않도록하려면 어떻게해야합니까?
다른 문제가있을 수 있으므로 StackOverflow의 K8 커뮤니티에 연락하여 사람들이 이러한 종류의 문제를 처리하는 방법을 더 잘 이해하고 있습니다.