구성 파일이 없는 Kubernetes 클러스터를 받았는데 helm이 설정되지 않았습니다. 저자는 cmd 라인에서 모든 것을 생성했다고 말했습니다. nginx 수신 컨트롤러가 있는 단일 API 서버를 위한 소규모/새 클러스터입니다. 저는 Kubernetes에 대해 충분히 알고 있고 새 웹 서버를 추가할 수 있었지만 이제는 더 깊이 들어가 기존 구성을 업데이트해야 합니다. 특히 nginx 컨트롤러에서 프로메테우스 측정항목을 활성화하고 싶지만 어떤 것도 중단하고 싶지 않습니다.
클러스터에서 기존 구성(배포, 서비스 등)을 검색하고 수정하고 적용하는 표준 방법이 있습니까? 아니면 새 yaml 파일을 만들지 않고도 기존 구성의 개별 부분에 대한 업데이트를 패치할 수 있는 방법이 있습니까?
다음과 같이 현재 구성을 얻을 수 있다는 것을 이해합니다.
kubectl get services -n nginx -o yaml
해당 출력에는 CreationTimestamp, uid 등과 같은 추가 필드가 있는데 제거해야 할 것 같습니다. 아니면 출력을 있는 그대로 yaml 파일에 저장하고 수정하여 prometheus를 활성화한 다음 해당 구성을 다시 컨트롤러에 적용할 수 있습니까? kube가 생성한 필드를 무시하나요? 고려해야 할 다른 접근 방식이 있습니까?
둘째, 이러한 구성을 저장소에 저장해야 합니까, 아니면 이것이 작업이 수행되는 방식입니까?
답변1
필요한 것은 거의 모두 있는 것 같습니다. 몇 가지 사소한 고려사항만 있습니다.
kubectl -n <ns> get <CRD> -o yaml
is 값을 유지하더라도 재정의할 수 없는 일부 읽기 전용 식별자가 포함된 출력을 제공하므로 일반 파일로 유지하는 데 적합하지 않습니다.- 사용
kubectl edit instead
- 이를 원하는 VCS에 보관해야 하는지, 아니면 즉시 수정해야 하는지 결정하는 것은 전적으로 귀하에게 달려 있습니다. 이에 대해 논의하려는 시도는 아마도 불길을 일으킬 것입니다.