CLI를 사용하여 Strimzi Operator 업그레이드 방법
OLM은 OLM 프레임워크의 기반이 되는 사용자 정의 리소스 정의(CRD)를 관리합니다.
OperatorGroup(og): OLM은 여러 개의 이름 공간을 그룹화하고 작업자가 사용할 수 있도록 준비하는 데 사용됩니다.
구독(Subscription): 패키지의 채널을 추적하여 CSV의 최신 디렉토리를 유지합니다.
ClusterServiceVersion(csv): OLM 응용 프로그램 메타데이터: 이름, 버전, 아이콘, 필요한 자원, 설치 등.
InstallPlan(ip): CSV를 자동으로 설치/업그레이드하기 위해 작성된 리소스 디렉토리의 계산 목록입니다.
Note 1 : Only cluster-admin users could manage the OLM objects.
Note 2 : The article only covers the upgrade process of the Strimzi Operator, does not cover the strategies to upgrade the Apache Kafka cluster version.
운영자 구독
Strimzi 연산자만 검사 네임스페이스(네임스페이스 범위)로 배치하려면 OperatorGroup를 사용해야 합니다.An
OperatorGroup
은 OLM에 설치된 운용사에게 다세입자 구성을 제공하는 OLM 자원이다.이것은
myproject
네임스페이스의 관리 연산자에 대한 정의입니다.---
apiVersion: operators.coreos.com/v1
kind: OperatorGroup
metadata:
name: myproject-og
namespace: myproject
spec:
targetNamespaces:
- myproject
설치하려면 다음과 같이 하십시오.❯ oc apply -f operatorgroup.yml
ASubscription
는 설치 작업자의 의도를 나타냅니다.CatalogSource와 연산자를 연결하는 사용자 정의 에셋입니다.구독은 구독할 운영자 패키지의 어느 채널과 업데이트를 자동으로 실행하는지 수동으로 실행하는지 설명한다.자동으로 설정하면 구독은 OLM이 운영자를 관리하고 업그레이드하여 최신 버전이 항상 그룹에서 집중적으로 실행되도록 확보할 것이다.Strimzi Operator를 설치한 경우
Subscription
정의입니다.---
apiVersion: operators.coreos.com/v1alpha1
kind: Subscription
metadata:
name: strimzi-kafka-operator
namespace: myproject
spec:
channel: stable
installPlanApproval: Manual
name: strimzi-kafka-operator
source: community-operators
sourceNamespace: openshift-marketplace
startingCSV: strimzi-cluster-operator.v0.17.0
Red Hat AMQ Streams의 경우 다음을 정의합니다.---
apiVersion: operators.coreos.com/v1alpha1
kind: Subscription
metadata:
name: amq-streams
namespace: myproject
spec:
channel: stable
installPlanApproval: Manual
name: amq-streams
source: redhat-operators
sourceNamespace: openshift-marketplace
startingCSV: amqstreams.v1.4.0
두 경우 모두 다음 속성이 중요합니다.채널(예를 들어 알파, 베타 또는 stable)은 CatalogSource에서 어떤 조작원 흐름을 설치해야 하는지 확인하는 데 도움이 된다.
채널: 채널의 디렉터리 원본에서 어떤 조작원을 설치해야 하는지 표시합니다.값:
alpha
, beta
또는 stable
.installPlanApproval: 식별
installPlan
의 승인 모드입니다.Automatic
로 정의하면 새 버전을 사용할 수 있을 때 작업자의 업그레이드가 즉시 완료됩니다.startingCSV: 설치할 운영자의 초기 버전을 나타냅니다.
❯ oc get packagemanifest strimzi-kafka-operator \
-o jsonpath='{range .status.channels[*]}{"Chanel: "}{.name}{" -- CSV: "}{.currentCSV}{" -- Version: "}{.currentCSVDesc.version}{" -- skipRange: "}{.currentCSVDesc.annotations.olm\.skipRange}{"\n"}'
Chanel: stable -- CSV: strimzi-cluster-operator.v0.19.0 -- Version: 0.19.0 -- skipRange:
Chanel: strimzi-0.19.x -- CSV: strimzi-cluster-operator.v0.19.0 -- Version: 0.19.0 -- skipRange:
AMQ 스트림은 Red Hat의 경우 다음과 비슷해야 합니다.❯ oc get packagemanifest amq-streams \
-o jsonpath='{range .status.channels[*]}{"Chanel: "}{.name}{" -- CSV: "}{.currentCSV}{" -- Version: "}{.currentCSVDesc.version}{" -- skipRange: "}{.currentCSVDesc.annotations.olm\.skipRange}{"\n"}'
Chanel: amq-streams-1.5.x -- CSV: amqstreams.v1.5.3 -- Version: 1.5.3 -- skipRange:
Chanel: amq-streams-1.x -- CSV: amqstreams.v1.5.3 -- Version: 1.5.3 -- skipRange:
Chanel: stable -- CSV: amqstreams.v1.5.3 -- Version: 1.5.3 -- skipRange:
💡 본고는 Strimzi 조작부호를 수동으로 업데이트하는 방법을 중점적으로 소개하기 때문에 우리는 Manual
설치 계획 심사 비준 모델을 사용할 것이다.수동으로 구독을 성명해서 연산자를 언제 업데이트할지 제어하는 것은 좋은 방법일 수 있습니다.이 명령은 구독을 설치하여 조작원을 배치합니다.
❯ oc apply -f subscription.yml
구독을 작성한 후 다음을 확인할 수 있습니다.❯ oc get sub
NAME PACKAGE SOURCE CHANNEL
strimzi-kafka-operator strimzi-kafka-operator community-operators stable
설치 계획이 작성되었으나 승인되지 않아 운영자가 설치되지 않았습니다.❯ oc get ip
NAME CSV APPROVAL APPROVED
install-kt477 strimzi-cluster-operator.v0.17.0 Manual false
이 명령은 배포 작업자를 승인합니다.❯ oc patch installplan install-kt477 --type merge --patch '{"spec":{"approved":true}}'
설치 계획이 다음과 같이 업데이트됩니다.❯ oc get ip
NAME CSV APPROVAL APPROVED
install-kt477 strimzi-cluster-operator.v0.17.0 Manual true
몇 분 후에 CSV 상태를 확인할 수 있습니다.❯ oc get csv
NAME DISPLAY VERSION REPLACES PHASE
strimzi-cluster-operator.v0.17.0 Strimzi 0.17.0 Succeeded
이제 운영자가 제공하는 Kafka CRD를 사용하여 Apache Kafka 클러스터를 배포할 수 있습니다.❯ oc apply -f kafka.yml
업그레이드 사업자
OLM은 새 Operator 버전이 릴리즈되면 이를 검토한 후 새 버전에 대한 새 설치 계획을 작성합니다.
새 버전을 사용할 수 있는 경우 설치 계획은 다음과 같아야 합니다.
❯ oc get ip
NAME CSV APPROVAL APPROVED
install-2lxhr strimzi-cluster-operator.v0.18.0 Manual false
install-kt477 strimzi-cluster-operator.v0.17.0 Manual true
여기서 새로운 버전strimzi-cluster-operator.v0.18.0
을 사용할 수 있으므로 처음 설치와 동일한 방식으로 승인할 수 있습니다.❯ oc patch installplan install-2lxhr --type merge --patch '{"spec":{"approved":true}}'
새 버전이 활성화되면 CSV가 업데이트되고 업그레이드 기록을 확인할 수 있습니다.❯ oc get csv
NAME DISPLAY VERSION REPLACES PHASE
strimzi-cluster-operator.v0.17.0 Strimzi 0.17.0 Replacing
strimzi-cluster-operator.v0.18.0 Strimzi 0.18.0 strimzi-cluster-operator.v0.17.0 Installing
업그레이드가 완료되면 CSV의 최종 상태는 다음과 같습니다.❯ oc get csv
NAME DISPLAY VERSION REPLACES PHASE
strimzi-cluster-operator.v0.18.0 Strimzi 0.18.0 strimzi-cluster-operator.v0.17.0 Succeeded
운영자 크레인은 다음 watcher 명령에서 보듯이 새 버전으로 다시 생성됩니다.❯ oc get pod -w
NAME READY STATUS RESTARTS AGE
strimzi-cluster-operator-v0.17.0-5d9c7757c9-2blvf 1/1 Running 0 2m40s
strimzi-cluster-operator-v0.18.0-647d7bccc-bh66x 0/1 Pending 0 0s
strimzi-cluster-operator-v0.18.0-647d7bccc-bh66x 0/1 ContainerCreating 0 0s
strimzi-cluster-operator-v0.18.0-647d7bccc-bh66x 1/1 Running 0 2m36s
strimzi-cluster-operator-v0.17.0-5d9c7757c9-2blvf 1/1 Terminating 0 6m22s
새 버전의 작업자가 사용할 수 있을 때마다 이 과정을 반복합니다.너는 모든 판본을 비준하기만 하면 된다.버전 업그레이드 워크플로우
Strimzi 연산자는 많은 버전을 포함하는 매우 성숙한 연산자입니다.각 버전에는 새로운 기능 세트가 포함되어 있습니다.이전 버전에서 시작하면 OLM에서 다음 버전으로 업그레이드하라는 메시지가 표시됩니다.
Strimzi 운영자 버전의 업그레이드는
v0.17.0
부터 시작됩니다.v0.17.0
-> v0.18.0
-> v0.19.0
v1.4.0
부터 시작되는 Red Hat AMQ 스트림의 경우 버전은 다음과 같습니다.v1.4.0
-> v1.4.1
-> v1.5.0
-> v1.5.1
-> v1.5.2
-> v1.5.3
도구책
Reference
이 문제에 관하여(CLI를 사용하여 Strimzi Operator 업그레이드 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/rmarting/how-to-upgrade-strimzi-operator-using-the-cli-10oo텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)