Início Pré Requisitos Máquinas Certificados Configuração Criptografia ETCD Controllers Workers

Kubectl

Rotas DNS Teste Dashboard Destruir

Configurando o Kubectl (remoto)

Vamos gerar um kubeconfig para o kubectl para autenticação do usuário administrador. Cada kubeconfig requer um servidor Kubernetes API para se conectar. Para oferecer suporte à alta disponibilidade usaremos o endereço IP atribuído ao balanceador de carga externo frente a API Kubernetes.

Criando a configuração

KUBERNETES_PUBLIC_ADDRESS=$(aws elbv2 describe-load-balancers \
--load-balancer-arns ${LOAD_BALANCER_ARN} \
--output text --query 'LoadBalancers[].DNSName')

echo "$KUBERNETES_PUBLIC_ADDRESS"

kubectl config set-cluster kubernetes-the-hard-way \
  --certificate-authority=ca.pem \
  --embed-certs=true \
  --server=https://${KUBERNETES_PUBLIC_ADDRESS}:443

kubectl config set-credentials admin \
  --client-certificate=admin.pem \
  --client-key=admin-key.pem

kubectl config set-context kubernetes-the-hard-way \
  --cluster=kubernetes-the-hard-way \
  --user=admin

kubectl config use-context kubernetes-the-hard-way

Verificação

kubectl get componentstatuses

Resultado Esperado

NAME                 STATUS    MESSAGE             ERROR
controller-manager   Healthy   ok
scheduler            Healthy   ok
etcd-1               Healthy   {"health":"true"}
etcd-2               Healthy   {"health":"true"}
etcd-0               Healthy   {"health":"true"}

kubectl get nodes

Resultado Esperado

NAME             STATUS   ROLES    AGE     VERSION
ip-10-0-1-20   Ready       3m35s   v1.18.6
ip-10-0-1-21   Ready       3m35s   v1.18.6
ip-10-0-1-22   Ready       3m35s   v1.18.6