Ir ao conteúdo

Kubernetes The Hard Way no Slackware 15 – Parte 05

Salve Salve Pessoal!

Dando continuidade a nossa serie de posts Kubernetes The Hard Way no Slackware 15, neste post vamos ver como gerar os arquivos de configurações para autenticação dos componentes do kubernetes, nós vamos gerar os arquivos para o controller manager, kubelet, kube-proxy, kube-scheduler e para o usuário admin.

Observem que quando necessário estou passando uma varivável no inicio do script com o endereço IP do Load Balancer.

Se você não viu os outros posts, você pode ler nos links abaixo.

Kubernetes The Hard Way no Slackware 15 – Parte 01
Kubernetes The Hard Way no Slackware 15 – Parte 02
Kubernetes The Hard Way no Slackware 15 – Parte 03
Kubernetes The Hard Way no Slackware 15 – Parte 04

Arquivo de configuração do Kubelet

Execute o seguinte script na linha de comando.

KUBERNETES_PUBLIC_ADDRESS="10.20.30.80"

for instance in k8s-node-01 k8s-node-02 k8s-node-03; do
  kubectl config set-cluster kubernetes-the-hard-way \
    --certificate-authority=ca.pem \
    --embed-certs=true \
    --server=https://${KUBERNETES_PUBLIC_ADDRESS}:6443 \
    --kubeconfig=${instance}.kubeconfig

  kubectl config set-credentials system:node:${instance} \
    --client-certificate=${instance}.pem \
    --client-key=${instance}-key.pem \
    --embed-certs=true \
    --kubeconfig=${instance}.kubeconfig

  kubectl config set-context default \
    --cluster=kubernetes-the-hard-way \
    --user=system:node:${instance} \
    --kubeconfig=${instance}.kubeconfig

  kubectl config use-context default --kubeconfig=${instance}.kubeconfig
done

Arquivos esperados:

Arquivo de configuração do Kube Proxy

Execute o seguinte script na linha de comando.

KUBERNETES_PUBLIC_ADDRESS="10.20.30.80"

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

  kubectl config set-credentials system:kube-proxy \
    --client-certificate=kube-proxy.pem \
    --client-key=kube-proxy-key.pem \
    --embed-certs=true \
    --kubeconfig=kube-proxy.kubeconfig

  kubectl config set-context default \
    --cluster=kubernetes-the-hard-way \
    --user=system:kube-proxy \
    --kubeconfig=kube-proxy.kubeconfig

  kubectl config use-context default --kubeconfig=kube-proxy.kubeconfig
}

Arquivo esperado:

Arquivo de configuração do Controller Manager

Execute o seguinte script na linha de comando.

{
  kubectl config set-cluster kubernetes-the-hard-way \
    --certificate-authority=ca.pem \
    --embed-certs=true \
    --server=https://127.0.0.1:6443 \
    --kubeconfig=kube-controller-manager.kubeconfig

  kubectl config set-credentials system:kube-controller-manager \
    --client-certificate=kube-controller-manager.pem \
    --client-key=kube-controller-manager-key.pem \
    --embed-certs=true \
    --kubeconfig=kube-controller-manager.kubeconfig

  kubectl config set-context default \
    --cluster=kubernetes-the-hard-way \
    --user=system:kube-controller-manager \
    --kubeconfig=kube-controller-manager.kubeconfig

  kubectl config use-context default --kubeconfig=kube-controller-manager.kubeconfig
}

Arquivo esperado:

Arquivo de configuração do Kube Scheduler

Execute o seguinte script na linha de comando.

{
  kubectl config set-cluster kubernetes-the-hard-way \
    --certificate-authority=ca.pem \
    --embed-certs=true \
    --server=https://127.0.0.1:6443 \
    --kubeconfig=kube-scheduler.kubeconfig

  kubectl config set-credentials system:kube-scheduler \
    --client-certificate=kube-scheduler.pem \
    --client-key=kube-scheduler-key.pem \
    --embed-certs=true \
    --kubeconfig=kube-scheduler.kubeconfig

  kubectl config set-context default \
    --cluster=kubernetes-the-hard-way \
    --user=system:kube-scheduler \
    --kubeconfig=kube-scheduler.kubeconfig

  kubectl config use-context default --kubeconfig=kube-scheduler.kubeconfig
}

Arquivo esperado:

Arquivo de configuração do usuário admin

Execute o seguinte script na linha de comando.

{
  kubectl config set-cluster kubernetes-the-hard-way \
    --certificate-authority=ca.pem \
    --embed-certs=true \
    --server=https://127.0.0.1:6443 \
    --kubeconfig=admin.kubeconfig

  kubectl config set-credentials admin \
    --client-certificate=admin.pem \
    --client-key=admin-key.pem \
    --embed-certs=true \
    --kubeconfig=admin.kubeconfig

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

  kubectl config use-context default --kubeconfig=admin.kubeconfig
}

Arquivo esperado:

Pronto, acabamos de gerar todos os arquivos necessários, agora vamos enviar os arquivos para os devidos servidores.

Enviar os arquivos para os Servidores

Envie primeiro para o k8s-node-01.

scp k8s-node-01.kubeconfig kube-proxy.kubeconfig [email protected]:/root

Agora para o k8s-node-02.

scp k8s-node-02.kubeconfig kube-proxy.kubeconfig [email protected]:/root

Agora para o k8s-node-03.

scp k8s-node-03.kubeconfig kube-proxy.kubeconfig [email protected]:/root

Agora para o k8s-cp-01.

scp admin.kubeconfig kube-controller-manager.kubeconfig kube-scheduler.kubeconfig [email protected]:/root

Agora para o k8s-cp-02.

scp admin.kubeconfig kube-controller-manager.kubeconfig kube-scheduler.kubeconfig [email protected]:/root

Agora para o k8s-cp-03.

scp admin.kubeconfig kube-controller-manager.kubeconfig kube-scheduler.kubeconfig [email protected]:/root

Pronto, arquivos criados e enviados para os devidos hosts.

Até o próximo post pessoal

😀

Referência:

https://github.com/kelseyhightower/kubernetes-the-hard-way/blob/master/docs/05-kubernetes-configuration-files.md

Publicado emKUBERNETESLINUX

Seja o primeiro a comentar

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.

Descubra mais sobre Rodrigo Lira

Assine agora mesmo para continuar lendo e ter acesso ao arquivo completo.

Continue reading