Verificar a prontidão do cluster híbrido
Antes de aplicar a configuração e instalar os gráficos do Helm híbridos, é necessário verificar se o cluster do Kubernetes está pronto para a instalação da Apigee híbrida.
Para verificar a prontidão do cluster, crie um arquivo YAML com uma definição de job do Kubernetes e aplique-o com comandos kubectl
para verificar o cluster.
Em seguida, verifique o status do job de teste do Kubernetes com um comando kubectl get jobs
.
- Verifique se
kubectl
está definido para o contexto correto usando o seguinte comando. O contexto atual será definido como o cluster ao qual você está implantando a Apigee híbrida.kubectl config current-context
O resultado precisa incluir o nome do cluster em que você está implantando a Apigee híbrida. Por exemplo, no GKE, o nome do contexto geralmente está no formato
gke_project-id_cluster-location_cluster-name
, como em:gke_my-project_us-central1_my-cluster
Se o nome do cluster não for correspondente, o comando a seguir receberá as credenciais da
gcloud
do cluster e definirá o contextokubectl
:Clusters regionais
gcloud container clusters get-credentials $CLUSTER_NAME \ --region $CLUSTER_LOCATION \ --project $PROJECT_ID
Clusters zonais
gcloud container clusters get-credentials $CLUSTER_NAME \ --zone $CLUSTER_LOCATION \ --project $PROJECT_ID
- No diretório helm-charts, crie um diretório
cluster-check
:mkdir $APIGEE_HELM_CHARTS_HOME/cluster-check
- No diretório
$APIGEE_HELM_CHARTS_HOME/cluster-check
, crie um arquivo chamadoapigee-k8s-cluster-ready-check.yaml
com o seguinte conteúdo:apiVersion: v1 kind: ServiceAccount metadata: name: apigee-k8s-cluster-ready-check --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: cluster-check-admin roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: cluster-admin subjects: - apiGroup: "" kind: ServiceAccount namespace: default name: apigee-k8s-cluster-ready-check --- apiVersion: batch/v1 kind: Job metadata: name: apigee-k8s-cluster-ready-check spec: template: spec: hostNetwork: true serviceAccountName: apigee-k8s-cluster-ready-check containers: - name: manager image: gcr.io/apigee-release/hybrid/apigee-operators:1.12.2 command: - /manager args: - --k8s-cluster-ready-check env: - name: POD_IP valueFrom: fieldRef: fieldPath: status.podIP securityContext: runAsGroup: 998 runAsNonRoot: true runAsUser: 999 restartPolicy: Never backoffLimit: 1
- Aplique
apigee-k8s-cluster-ready-check.yaml
com o comandokubectl
a seguir. Isso executará o teste:kubectl apply -f $APIGEE_HELM_CHARTS_HOME/cluster-check/apigee-k8s-cluster-ready-check.yaml
A saída deve mostrar que a conta de serviço e o job foram criados. Exemplo:
kubectl apply -f $APIGEE_HELM_CHARTS_HOME/cluster-check/apigee-k8s-cluster-ready-check.yaml
serviceaccount/apigee-k8s-cluster-ready-check created job.batch/apigee-k8s-cluster-ready-check created - Verifique o status do job do Kubernetes com o seguinte comando:
kubectl get jobs apigee-k8s-cluster-ready-check
Se o cluster estiver pronto, a saída será semelhante a esta:
NAME COMPLETIONS DURATION AGE apigee-k8s-cluster-ready-check 1/1 8s 1h23m
Se o teste falhar e o cluster não estiver pronto, a saída será semelhante a esta:
NAME COMPLETIONS DURATION AGE apigee-k8s-cluster-ready-check 0/1 44s 44s
Procure o número de conclusões:
- 1/1 Seu cluster está pronto para a instalação da Apigee híbrida.
- 0/1 O teste falhou. O cluster não está pronto. Prossiga para as etapas a seguir a fim de solucionar os problemas do cluster.
- Se o teste não foi bem-sucedido, verifique os registros com os comandos a seguir.
- Confira o nome do pod para o job de pré-verificação do cluster:
kubectl get pods | grep apigee-k8s-cluster-ready-check
- Verifique os registros do Kubernetes para o pod:
kubectl logs pod_name
Em que pod_name é o nome do pod apigee-k8s-cluster-ready-check.
- Confira o nome do pod para o job de pré-verificação do cluster:
- Faça uma limpeza antes de prosseguir para a próxima etapa. Exclua o job do Kubernetes com o seguinte
comando:
kubectl delete -f $APIGEE_HELM_CHARTS_HOME/cluster-check/apigee-k8s-cluster-ready-check.yaml
A saída deve mostrar que a conta de serviço e o job foram excluídos. Exemplo:
kubectl delete -f $APIGEE_HELM_CHARTS_HOME/cluster-check/apigee-k8s-cluster-ready-check.yaml
serviceaccount "apigee-k8s-cluster-ready-check" deleted job.batch "apigee-k8s-cluster-ready-check" deleted
Você acabou de verificar se o cluster da Apigee híbrida está pronto. Em seguida, instale os gráficos para aplicar a configuração ao ambiente de execução híbrido.
Solução de problemas
- Verificação de DNS do Cassandra: se você encontrou registros de erros semelhantes a
DNS resolution was successful but IP doesn't match POD IP
,could not resolve hostname
ouerror determining hostname
, isso significa que o DNS do cluster não está configurado corretamente para uma configuração multirregional. Ignore esse erro se você não pretende usar a configuração multirregional. - Verificação de conectividade do plano de controle: se você encontrar registros de erro semelhantes a
error creating TCP connection with host
, será necessário resolver a conectividade do cluster com o apigee.googleapis.com e executar o job novamente.