Para instalar a correção provisória na instância Engineering Lifecycle Management instância, você precisa atualizar o operador Engineering Lifecycle Management para a versão compatível com a correção provisória necessária usando o método Kubernetes CLI.
Antes de começar
- Certifique-se de que a configuração existente Engineering Lifecycle Management a configuração existente está funcionando sem nenhum erro e todos os Engineering Lifecycle Management aplicativos estejam acessíveis.
- Verifique se há as permissões apropriadas para atualizar o operador do Engineering Lifecycle Management. Para obter mais informações sobre funções de usuário, consulte Mapeamento de funções de usuário em Engineering Lifecycle Management on Hybrid Cloud
- Estratégia de aprovação de assinaturas
Identifique a estratégia installPlanApproval para a assinatura instalada usando o seguinte comando
kubectl get subscriptions <subscription-name> -o jsonpath="{.spec.installPlanApproval}'" -n <namespace-name>
Substitua os espaços reservados para
subscription-name e
namespace-name. Por exemplo:
kubectl get subscriptions ibm-elm-operator -o jsonpath="{.spec.installPlanApproval}'" -n example
Procedimento
- Faça login no seu cluster usando o comando suportado pela plataforma de contêineres.
kubectl login --username=<cluster admin user> --password=<cluster admin password>
- Defina o projeto padrão (namespace) como aquele que contém o operador a ser atualizado usando o seguinte comando:
kubectl project <namespace>
- Obtenha uma lista de todas as assinaturas nesse projeto/espaço de nome usando o seguinte comando:
kubectl get subscriptions
Esta etapa retorna as listas de assinaturas no namespace
| Nome |
Pacote |
Origem |
Canal |
ibm-elm-operator |
ibm-elm-operator |
ibm-elm-manifests |
release-elm7.1 |
Na lista de informações recebidas, identifique o nome da assinatura do operador que precisa ser atualizado (na coluna Nome) e o nome do pacote correspondente (na coluna Pacote)
- Confirme se o canal para o qual você deseja fazer upgrade está disponível. Para obter as versões disponíveis do canal do operador para essa versão, substitua o nome do pacote no comando a seguir, usando as informações retornadas na etapa anterior
kubectl get packagemanifests --selector=catalog=<catalog-source-name> -o jsonpath='Avaiable Channels : {"\n\n"}{range .items[*].status.channels[*]}{.name}{"\n"}{end}' -n <catalog-source-namespace>
Substitua os espaços reservados para
catalog-source-name e
catalog-source-namespace. Por exemplo:
kubectl get packagemanifests --selector=catalog=ibm-elm-manifests -o jsonpath='Avaiable Channels : {"\n\n"}{range .items[*].status.channels[*]}{.name}{"\n"}{end}' -n example
O comando retorna uma lista de canais, portanto, você precisa confirmar que o canal a ser atualizado está disponível.
- O administrador do cluster ou um usuário com as permissões necessárias precisa corrigir a assinatura para mudar para a versão disponível do operador.
kubectl patch subscription <subscription-name> --patch '{"spec":{"startingCSV":"<available-operator-version>"}}' --type=merge -n <namespace-name>
Substitua os espaços reservados para subscription-name, available-operator-version e namespace-name. Por exemplo:
kubectl patch subscription ibm-elm-operator --patch '{"spec":{"startingCSV":"ibm-elm-operator.v1.1.0"}}' --type=merge -n example
Verifique se o canal está atualizado para a assinatura usando o seguinte comando.
kubectl get subscription <subscription-name> -o jsonpath='Update channel : {.spec.channel}' -n <namespae-name
Substitua os espaços reservados para
subscription-name e
namespace-name. Por exemplo:
kubectl get subscription ibm-elm-operator -o jsonpath='Update channel : {.spec.channel}' -n example
- Identificar a estratégia de aprovação de assinaturas
- Assinatura com uma estratégia de aprovação automática
Uma estratégia de aprovação automática para implantações de operadores significa que a nova versão de um operador é automaticamente atualizada para a versão mais recente disponível no canal selecionado. O upgrade ocorre sem intervenção manual e aprovação de um administrador de cluster ou usuário com as permissões necessárias.
Valide se a versão do operador instalada é a versão mais recente disponível no canal usando o seguinte comando
kubectl get subscription <subscription-name> -o jsonpath='Installed Operator Version : {.status.installedCSV} {"\n"}Available Operator Version : {.status.currentCSV}' -n <namespace-name>
Substitua os espaços reservados para
subscription-name e
namespace-name. Por exemplo:
kubectl get subscription ibm-elm-operator -o jsonpath='Installed Operator Version : {.status.installedCSV} {"\n"}Available Operator Version : {.status.currentCSV}' -n example
- Assinatura com uma estratégia de aprovação manual
A estratégia de aprovação manual para implantações de operadores significa que a nova versão de um operador não é atualizada para a versão mais recente disponível no canal selecionado. Requer intervenção manual e aprovação de um administrador de cluster ou usuário com as permissões necessárias. O administrador do cluster ou o usuário com as permissões necessárias precisa corrigir a assinatura para mudar para a versão disponível do operador.
Liste a versão do operador disponível no canal atual usando o seguinte comando
kubectl get subscription <subscription-name> -o jsonpath='Installed Operator Version : {.status.installedCSV} {"\n"}Available Operator Version : {.status.currentCSV}' -n <namespace-name>
Substitua os espaços reservados para
subscription-name e
namespace-name. Por exemplo:
kubectl get subscription ibm-elm-operator -o jsonpath='Installed Operator Version : {.status.installedCSV} {"\n"}Available Operator Version : {.status.currentCSV}' -n <namespace-name>
Corrige a versão do operador disponível no canal atual.
kubectl patch subscription <subscription-name> --patch '{"spec":{"startingCSV":"<available-operator-version>"}}' --type=merge -n <namespace-name>
Substitua os espaços reservados para
subscription-name e
namespace-name. Por exemplo:
kubectl patch subscription ibm-elm-operator --patch '{"spec":{"startingCSV":"ibm-elm-operator.v1.1.0"}}' --type=merge -n example
- Aprovar InstallPlan
O InstallPlan precisa ser aprovado manualmente por um administrador de cluster ou por um usuário com as permissões necessárias. Quando aprovados, os recursos são criados para atender aos requisitos dos componentes especificados no plano.
- Obter InstallPlan
kubectl patch installplan <installplan-name> --patch '{"spec":{"approved":true}}' --type=merge -n <namespace-name>
Substitua os espaços reservados para subscription-name e namespace-name. Por exemplo:
kubectl patch installplan install-4hm69 --patch '{"spec":{"approved":true}}' --type=merge -n example
- Aprovar InstallPlan
kubectl patch installplan <installplan-name> --patch '{"spec":{"approved":true}}' --type=merge -n <namespace-name>
Substitua os espaços reservados para installplan-name e namespace-name. Por exemplo:
kubectl patch installplan install-4hm69 --patch '{"spec":{"approved":true}}' --type=merge -n example
- Verificar a atualização do operador
No upgrade bem-sucedido, se você descobrir que as versões instaladas e disponíveis do operador são as mesmas. Você precisa executar novamente o comando para verificar a atualização e verificar a versão do operador instalada usando o seguinte comando.
kubectl get subscription <subscription-name> -o jsonpath='Installed Operator Version : {.status.installedCSV} {"\n"}Available Operator Version : {.status.currentCSV}' -n <namespace-name>
Substitua os espaços reservados para
subscription-name e
namespace-name. Por exemplo:
kubectl get subscription ibm-elm-operator -o jsonpath='Installed Operator Version : {.status.installedCSV} {"\n"}Available Operator Version : {.status.currentCSV}' -n example