1
우리는 세 가지 실행 환경이 대부분의 응용 프로그램과 마찬가지로

:이 모든 기본적으로 ENV 변수를 통해 구성됩니다 는 Kubernetes : 관리 응용 프로그램 실행 환경

  • 생산
  • 준비/QA
  • 개발 .

    환경에서 모든 서비스/포드/컨테이너를 실행하는 가장 좋은 방법은 무엇입니까? 라벨을 통해? 또는 네임 스페이스?

답변

1

나는 공식 가장 좋은 방법이 있는지 잘 모르겠지만, 난 항상 다음과 같은 이유로 네임 스페이스를 사용하여 별도의 환경 선호 :

  1. 그것은 당신이 동일한 YAML 파일을 사용할 수 있습니다 3 가지 환경 모두에서 배포, 서비스 등을 수행 할 수 있습니다. 환경을 전환하려면 kubectl 명령에 --namespace=${YOUR_NS}을 추가하거나 kubectl 구성의 모든 네임 스페이스에 대해 하나의 컨텍스트를 지정하면됩니다. 따라서 kubectl config use-context production과 같은 것을 말할 수 있습니다. docs을 확인하십시오!

  2. Resource Quotas을 사용하면 각 환경에서 사용할 수있는 컴퓨팅 리소스의 양을 제한 할 수 있습니다.

  3. RBAC을 사용하여 환경에 대한 액세스를 제어 할 수 있습니다. 예를 들어 작은 그룹의 사람들 만 프로덕션 환경을 변경할 수 있지만 모든 개발자는 개발 환경에서 원하는대로 할 수 있습니다.

모든 네임 스페이스 안에는 레이블을 사용하여 앱을 다른 계층으로 구성 할 수 있습니다. 이 구성은 모든 환경에서 동일합니다.