1
resposta

MSG de DEPRECATED

Segue uma crítica, se seguir o passo a passo do instrutor o sistema não funciona, dá incompatibilidade com a versão do minikube com o versão do docker.

Além disso, aparece uma msg de DEPRECATED no meio da apresentação e o instrutor nem corrige ou comenta.

kubectl run --generator=deployment/apps.v1 is DEPRECATED and will be removed in a future version. Use kubectl run --generator=run-pod/v1 or kubectl create instead.

1 resposta

Olá Hamilton, tudo bem? É verdade, isso acontece por conta das versões que foram utilizadas, e isso deve ser corrigido futuramente numa atualização do curso, porém não posso ti dar um prazo pra isso no momento! A mudança nos geradores foi tão grande que a partir desse mês de outubro de 2020 eles vão ser removidos completamente como indica essa Issue do GitHub do kubernetes.

Sobre as versões do Docker e minikube, tendo em vista esses problemas preparei um passo a passo que funcionou bem pra mim:

1 - Instalação KUBECTL: Temos que colocar as versão "v1.13.0" já que minikube só dá suporte para as últimas cinco (5) versões, e a versão do professor era a "v1.12.4" e o Kubernetes já está na versão "v1.18.6" (quando criei esse passo a passo) e por isso não tem mais suporte:

curl -LO "https://storage.googleapis.com/kubernetes-release/release/v1.13.0/bin/linux/amd64/kubectl"

chmod +x ./kubectl

sudo mv ./kubectl /usr/local/bin/

2 - Veja a versão com o comando abaixo:

kubectl version --client
  • O resultado deve ser parecido com:
    Client Version: version.Info{Major:"1", Minor:"13", GitVersion:"v1.13.0", GitCommit:"ddf47ac13c1a9483ea035a79cd7c10005ff21a6d", GitTreeState:"clean", BuildDate:"2018-12-03T21:04:45Z", GoVersion:"go1.11.2", Compiler:"gc", Platform:"linux/amd64"}

3 - Instalação Docker:

sudo apt-get update && sudo apt-get install docker.io -y

4 - Instalação MINIKUBE:

  • Execute o comando para fazer todo o processo:

    curl -Lo minikube https://storage.googleapis.com/minikube/releases/v1.10.0/minikube-linux-amd64 && chmod +x minikube && sudo cp minikube /usr/local/bin/ && rm minikube
  • Agora EXECUTE COMO ROOT:

    minikube start --vm-driver=none
  • Aqui você pode ter o seguinte erro:

    minikube v1.10.0 on Ubuntu 18.04
    Using the none driver based on user configuration
    Sorry, Kubernetes v1.18.1 requires conntrack to be installed in root's path
  • Para resolver precisamos instalar o conntrack com o seguinte comando:

    sudo apt-get install -y conntrack
  • Agora deve ser exibido algo como:

minikube v1.10.0 on Ubuntu 18.04
Using the none driver based on user configuration
Starting control plane node minikube in cluster minikube
Running on localhost (CPUs=2, Memory=1956MB, Disk=7876MB) ...
minikube 1.12.1 is available! Download it: https://github.com/kubernetes/minikube/releases/tag/v1.12.1
To disable this notice, run: 'minikube config set WantUpdateNotification false'

OS release is Ubuntu 18.04.4 LTS
Preparing Kubernetes v1.18.1 on Docker 19.03.6 ...
   kubelet.resolv-conf=/run/systemd/resolve/resolv.conf
    > kubeadm.sha256: 65 B / 65 B [--------------------------] 100.00% ? p/s 0s
    > kubelet.sha256: 65 B / 65 B [--------------------------] 100.00% ? p/s 0s
    > kubectl.sha256: 65 B / 65 B [--------------------------] 100.00% ? p/s 0s
    > kubectl: 41.99 MiB / 41.99 MiB [--------------] 100.00% 172.03 MiB p/s 0s
    > kubeadm: 37.97 MiB / 37.97 MiB [--------------] 100.00% 121.98 MiB p/s 0s
    > kubelet: 108.02 MiB / 108.02 MiB [------------] 100.00% 132.86 MiB p/s 1s


Configuring local host environment ...

The 'none' driver is designed for experts who need to integrate with an existing VM
Most users should use the newer 'docker' driver instead, which does not require root!
For more information, see: https://minikube.sigs.k8s.io/docs/reference/drivers/none/

kubectl and minikube configuration will be stored in /root
To use kubectl or minikube commands as your own user, you may need to relocate them. For example, to overwrite your own settings, run:

-> sudo mv /root/.kube /root/.minikube $HOME
-> sudo chown -R $USER $HOME/.kube $HOME/.minikube

This can also be done automatically by setting the env var CHANGE_MINIKUBE_NONE_USER=true
Verifying Kubernetes components...
Enabled addons: default-storageclass, storage-provisioner
Done! kubectl is now configured to use "minikube"

/usr/local/bin/kubectl is v1.13.0, which may be incompatible with Kubernetes v1.18.1.
You can also use 'minikube kubectl -- get pods' to invoke a matching version
  • Você desabilitar mensagem de atualização do minikube usando o comando:
    minikube config set WantUpdateNotification false

5 - Acertando as permissões para o Usuário:

  • Primeiro saia do usuário "root":

    exit
  • Agora execute separadamente os comandos:

    sudo mv /root/.kube /root/.minikube $HOME
    sudo chown -R $USER $HOME/.kube $HOME/.minikube

Espero ter ajudado!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software