>  기사  >  백엔드 개발  >  롤링 업데이트를 위한 Kubernetes Operator 구축

롤링 업데이트를 위한 Kubernetes Operator 구축

WBOY
WBOY앞으로
2024-02-09 22:18:19398검색

构建 Kubernetes Operator 用于滚动更新

php 편집자 Xiaoxin이 롤링 업데이트를 위한 Kubernetes Operator를 구축하는 방법을 소개하기 위해 왔습니다. Kubernetes Operator는 Kubernetes 플랫폼의 기능을 확장하는 맞춤형 컨트롤러입니다. 롤링 업데이트는 서비스를 중단하지 않고 애플리케이션을 점진적으로 업데이트하는 방법입니다. 롤링 업데이트를 위해 특별히 Operator를 구축함으로써 애플리케이션의 업그레이드 및 롤백을 보다 유연하게 관리할 수 있습니다. 이 기사에서는 Kubernetes Operator를 구축하는 기본 단계를 소개하고 롤링 업데이트 기능을 구현하는 방법을 자세히 설명합니다. 좀 더 자세히 살펴보겠습니다!

질문 내용

클라이언트 클러스터에서 실행될 Kubernetes 애플리케이션(예: docker 이미지 I1을 사용하여 D1 배포)을 만들었습니다.

요구 사항 1:

이제 클라이언트의 노력 없이 도커 이미지 I1을 업데이트할 때마다 롤링 업데이트를 수행하고 싶습니다. (어쨌든 클라이언트 클러스터는 자동으로 최신 도커 이미지를 가져와야 합니다.)

요구사항 2:

특정 configMap을 업데이트할 때마다 클라이언트 클러스터는 자동으로 새 configMap을 사용하여 시작해야 합니다

이 목표를 어떻게 달성해야 하나요?

  1. Kubernetes Cronjob을 사용하시나요?
  2. Kubernetes 운영자?
  3. 아니면 다른 것?

k8s Operator가 유용하다고 들었습니다.

해결 방법

다음으로 시작 요구 사항 2:

특정 configMap을 업데이트할 때마다 클라이언트 클러스터는 새로운 configMap을 사용하여 자동으로 시작

configmap이 배포에 설치되면 자동으로 업데이트되지만 환경 다시 시작으로 삽입된 경우 사이드카 솔루션을 사용하거나 프로세스를 다시 시작하지 않는 한 유일한 옵션은 다음과 같습니다.

참조: POD를 다시 시작하지 않고 configmap 업데이트

이를 어떻게 달성해야 하나요?

  • ImagePullpolicy는 좋은 옵션이 아니지만 이 경우 배포를 다시 시작하려면 수동 개입이 필요합니다. 클라이언트에서 최신이미지를 추출하면 추출되지 않습니다. 통제된 방식.

Kubernetes Cronjob을 사용하시나요?

  • 크론잡을 어느 쪽에서 실행하시겠습니까? 클라이언트라면 그게 다야 또한 이것을 좋아합니다.

    그렇지 않으면 공개 API를 사용하여 배포를 계속 진행할 수 있습니다. 이미지를 푸시할 때 최신 태그로 배포를 업데이트하세요. 도커 레지스트리에.

Kubernetes 운영자?

  • 연산자는 Go로 작성할 수 있는 훌륭한 기본 K8s 옵션입니다. Python 또는 Operator 프레임워크 또는 클라이언트 라이브러리 유무에 관계없이 선호하는 언어.

또는 다른 것?

배포만 업데이트하려는 경우 배포 또는 작업에서 API를 실행하고 통제된 방식으로 예약할 수 있으며 운영자에게는 문제가 없을 것입니다. 메서드를 생성하고 관리하고 배포하려면 이것이 좋은 방법입니다.

향후 단일 진실 소스에서 여러 클라이언트에 걸쳐 모든 클러스터(배포, 서비스, 방화벽, 네트워크)를 관리해야 한다면 Anthos를 살펴보세요.

Git 저장소 동기화를 위한 구성 관리 Antos

위 내용은 롤링 업데이트를 위한 Kubernetes Operator 구축의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 stackoverflow.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제