Instalando o Controlador de Entrada Nativo do OCI como um Complemento de Cluster

Descubra como instalar o controlador de entrada nativo do OCI como um complemento de cluster.

Depois de concluir os pré-requisitos, você poderá implantar o controlador de entrada nativo do OCI como um complemento de cluster. Consulte Implantando o Complemento do OCI Native Ingress Controller.

Observe que, depois de instalar o complemento de cluster do controlador de entrada nativo do OCI, para poder usá-lo, você também precisa criar os recursos relacionados à entrada do Kubernetes necessários. Consulte Criando IngressClassParameters, IngressClass e Recursos de Entrada

Implantando o Complemento do Controlador de Entrada Nativo do OCI

As instruções nas etapas abaixo descrevem como implantar o controlador de entrada nativo do OCI como um complemento de cluster (o 'complemento do controlador de entrada nativo do OCI') para implementar as regras e as opções de configuração definidas em um recurso de entrada do Kubernetes para balancear a carga e rotear o tráfego de entrada para pods de serviço em execução nos nós de trabalho de um cluster:

Etapa 1: Criar o arquivo de configuração complementar do controlador de entrada nativo do OCI

Observação

Estas instruções descrevem como criar um arquivo de configuração complementar do controlador de entrada nativo do OCI para permitir que você implante o complemento do controlador de entrada nativo do OCI usando a CLI. O arquivo de configuração contém argumentos de configuração de par chave/valor aprovados. Você precisa criar um arquivo de configuração ao implantar o complemento usando a CLI (ou usando a API). Você também pode usar a Console para implantar o complemento do controlador de entrada nativo do OCI, caso em que você especifica argumentos de configuração na interface do usuário. Para obter mais informações sobre como implantar o complemento do controlador de entrada nativo do OCI usando a Console, consulte Instalando um Complemento de Cluster.

  1. Em um editor adequado, crie um arquivo JSON com um nome de sua escolha (essas instruções pressupõem que o arquivo seja chamado native-ingress-controller-addon.json) contendo o seguinte:

    {
      "addonName": "NativeIngressController",
      "configurations": [
        {
          "key": "compartmentId",
          "value": "<compartment-ocid>"
        },
        {
          "key": "loadBalancerSubnetId",
          "value": "<load-balancer-subnet-ocid>"
        }    
      ]
    }

    em que:

    • <compartment-id> é o OCID do compartimento no qual o controlador de entrada nativo do OCI deve criar o balanceador de carga e o certificado do OCI.
    • <load-balancer-subnet-ocid> é o OCID da sub-rede do balanceador de carga.

    Por exemplo:

    {
      "addonName": "NativeIngressController",
      "configurations": [
        {
          "key": "compartmentId",
          "value": "ocid1.compartment.oc1..aaaaaaaa______ddq"
        },
        {
          "key": "loadBalancerSubnetId",
          "value": "ocid1.subnet.oc1.iad.aaaaaaaa______dba"
        }    
      ]
    }
  2. No arquivo native-ingress-controller-addon.json que você acabou de criar, use o parâmetro authType para especificar como você configurou o controlador de entrada nativo do OCI para acessar serviços e recursos do OCI:
    • Se você tiver configurado um controlador de instâncias para permitir que o controlador de entrada nativo do OCI acesse serviços e recursos do OCI, defina o parâmetro authType como instance.
    • Se você tiver configurado um controlador de identidades de carga de trabalho para permitir que o controlador de entrada nativo do OCI acesse serviços e recursos do OCI, defina o parâmetro authType como workload.
    • Se você tiver configurado um controlador de usuários para permitir que o controlador de entrada nativo do OCI acesse serviços e recursos do OCI, defina o parâmetro authType como user.

    Por exemplo:

          "key": "authType",
          "value": "workload"

    Observe que instance é o valor padrão do parâmetro authType; portanto, se você não especificar explicitamente um valor para authType, o controlador de entrada nativo do OCI usará a identidade da instância na qual ele está sendo executado para acessar serviços e recursos do OCI. Para obter mais informações, consulte Configurando um Controlador de Instâncias, um Controlador de Usuários ou um Controlador de Identidades de Carga de Trabalho para Ativar o Acesso aos Serviços e Recursos do OCI.

  3. No arquivo native-ingress-controller-addon.json criado, especifique outros parâmetros para o controlador de entrada nativo do OCI. Para obter informações sobre os parâmetros que você pode definir, consulte argumentos de configuração de add-on do OCI Native Ingress Controller.

    Por exemplo:

    {
      "addonName": "NativeIngressController",
      "configurations": [
        {
          "key": "compartmentId",
          "value": "ocid1.compartment.oc1..aaaaaaaa______ddq"
        },
        {
          "key": "loadBalancerSubnetId",
          "value": "ocid1.subnet.oc1.iad.aaaaaaaa______dba"
        },
        {
          "key": "authType",
          "value": "workload"
        },
        {
          "key": "logVerbosity",
          "value": "2"
        }        
      ]
    }
  4. Salvar e fechar o arquivo native-ingress-controller-addon.json.

Etapa 2: Implante o complemento do controlador de entrada nativo do OCI no cluster e confirme a implantação bem-sucedida

Observação

Estas instruções descrevem como implantar o complemento do controlador de entrada nativo do OCI usando a CLI e um arquivo de configuração. Você também pode implantar o complemento usando a Console e a API. Para obter mais informações, consulte Instalando um Complemento de Cluster.

  1. Se você ainda não tiver feito isso, siga as etapas para configurar o arquivo de configuração kubeconfig do cluster e (se necessário) defina a variável de ambiente KUBECONFIG para apontar para o arquivo. Observe que você deve configurar seu próprio arquivo kubeconfig. Não é possível acessar um cluster usando um arquivo kubeconfig que outro usuário tenha configurado. Consulte Configurando o Acesso ao Cluster.
  2. Confirme se o complemento do controlador de entrada nativo do OCI ainda não foi instalado no cluster digitando:
    oci ce cluster list-addons --cluster-id <cluster-ocid>

    em que <cluster-ocid> é o OCID do cluster no qual você deseja implantar o add-on do controlador de entrada nativo do OCI.

  3. Implante o complemento do controlador de entrada nativo do OCI no cluster digitando:

    oci ce cluster install-addon --addon-name NativeIngressController --cluster-id <cluster-ocid> --from-json file://./<path-to-config-file>

    em que:

    • --cluster-id <cluster-ocid> é o OCID do cluster no qual você deseja implantar o add-on do controlador de entrada nativo do OCI.
    • --from-json file://<path-to-config-file> especifica o local do arquivo de configuração complementar do controlador de entrada nativo do OCI criado anteriormente. Por exemplo, --from-json file://./native-ingress-controller-addon.json

    Por exemplo:

    oci ce cluster install-addon --addon-name NativeIngressController --from-json file://./native-ingress-controller-addon.json --cluster-id ocid1.cluster.oc1.iad.aaaaaaaam______dfr

    Uma solicitação de serviço é criada para implantar o complemento do controlador de entrada nativo do OCI.

  4. Confirme a implantação bem-sucedida do complemento do controlador de entrada nativo do OCI digitando:

    oci ce cluster list-addons --cluster-id <cluster-ocid>

    Supondo uma implantação bem-sucedida, a saída mostra o complemento do controlador de entrada nativo do OCI com um estado de ciclo de vida ACTIVE. Por exemplo:

    {
      "data": [
        {
          "addon-error": null,
          "current-installed-version": "v1.19.0",
          "lifecycle-state": "ACTIVE",
          "name": "NativeIngressController",
          "time-created": "2023-11-06T11:21:11+00:00",
          "version": null
        }
      ]
    }

Atualizando o Complemento do Controlador de Entrada Nativo do OCI

Observação

Estas instruções descrevem como atualizar o complemento do controlador de entrada nativo do OCI usando a CLI e um arquivo de configuração. Você também pode atualizar o complemento usando a Console e a API. Para obter mais informações, consulte Atualizando um Complemento de Cluster.

  1. Abra o arquivo de configuração complementar do controlador de entrada nativo do OCI em um editor adequado.

  2. Adicione, remova ou altere argumentos de configuração no arquivo de configuração conforme necessário. Para obter informações sobre os argumentos que você pode definir, consulte argumentos de configuração de complemento do OCI Native Ingress Controller.

  3. Atualize o complemento do controlador de entrada nativo do OCI usando o comando OCI ce cluster update-addon, digitando:
    oci ce cluster update-addon --addon-name NativeIngressController --from-json file://<path-to-config-file> --cluster-id <cluster-ocid>

    em que:

    • --cluster-id <cluster-ocid> é o OCID do cluster no qual você deseja atualizar o add-on do controlador de entrada nativo do OCI.
    • --from-json file://<path-to-config-file> especifica o local do arquivo de configuração do add-on do controlador de entrada nativo do OCI a ser usado ao atualizar o add-on. Por exemplo, --from-json file://./native-ingress-controller-addon.json

    Por exemplo:

    oci ce cluster update-addon --addon-name NativeIngressController --from-json file://./native-ingress-controller-addon.json --cluster-id ocid1.cluster.oc1.iad.aaaaaaaam______dfr

    Uma solicitação de serviço é criada para atualizar o complemento do controlador de entrada nativo do OCI.

Desativando (e Removendo) o Complemento do Controlador de Entrada Nativo do OCI

Observação

Estas instruções descrevem como desativar e remover o complemento do controlador de entrada nativo do OCI usando a CLI e um arquivo de configuração. Você também pode atualizar o complemento usando a Console e a API. Para obter mais informações, consulte Desativando (e Removendo) um Complemento de Cluster.

  1. Desative (e, opcionalmente, remova) o complemento do controlador de entrada nativo do OCI usando o comando OCI ce cluster disable-addon, digitando:

    oci ce cluster disable-addon --addon-name NativeIngressController --cluster-id <cluster-ocid> --is-remove-existing-add-on <true|false>

    em que:

    • --cluster-id <cluster-ocid> é o OCID do cluster no qual você deseja desativar (e, opcionalmente, remover) o complemento do controlador de entrada nativo do OCI.
    • --is-remove-existing-add-on <true|false> especifica remover completamente o add-on do controlador de entrada nativo do OCI (quando definido como true) ou não remover o add-on, mas simplesmente desativá-lo e não usá-lo (quando definido como false). Se desativar a extensão, a Oracle não a atualizará mais automaticamente quando novas versões estiverem disponíveis.

    Por exemplo:

    oci ce cluster disable-addon --addon-name NativeIngressController --cluster-id ocid1.cluster.oc1.iad.aaaaaaaam______dfr --is-remove-existing-add-on true

    Uma solicitação de serviço é criada para desativar (e, opcionalmente, remover) o complemento do controlador de entrada nativo do OCI.

  2. (Opcional) Remova os recursos relacionados à entrada do Kubernetes (como os recursos IngressClassParameters, IngressClass e Ingress), que não são gerenciados pelo add-on do controlador de entrada nativo do OCI, usando o comando kubectl delete.