Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Exercicios minikube compativeis com host virtual Ubuntu

Ao que parece, estes exercicios só funcionam caso seja executado em um host Ubuntu não virtualizado, porém penso que para a maioria dos alunos, a unica opção viavel é criar ambiente virtual com host Ubuntu para fazer os exercicios .

No meu caso tenho um windows 10 , um host hyper-V Ubuntu onde tento executar o minikube , e apresenta mensagem de erro abaixo

Error: [VBOX_VTX_DISABLED] ...This Computer doesn't have VT-x / AMD-v enabled..

Gostaria de sugerir que o curso fosse editado em 2 pontos:

1-Ao recomendar que se use um ambiente igual do curso, que é o Ubuntu , deixar claro que se este ambiente for virtualizado, devera suportar virtualização aninhada

2-Tentar fornecer alguma alternativa a quem está executando um ambiente virtual incompatível com virtualização aninhada (é o caso do Ubuntu como VM do hyper V) . Estou tentando encontrar uma maneira de parametrizar o minikube para desativar Intel VT-x / AMD-v ao criar suas máquinas, já que o virtual box suporta isso, conforme link abaixo

https://superuser.com/questions/1100790/cannot-disable-vt-x-in-virtualbox

3 respostas

Oi André, tudo bem? Me parece que o Minikube espera que o gestor virtual das máquinas seja o VIrtualBox ao meu ver, e para usar o Hyper-V você precisa configurar outras coisas.

Eu encontrei esse post (em Inglês) no Medium onde o autor faz esse passo a passo: https://medium.com/@JockDaRock/minikube-on-windows-10-with-hyper-v-6ef0f4dc158c

Talvez ajude. Dá uma olhada e me avisa por favor?

solução!

Wanderson ,

Executei os tutoriais recomendados por você, e a conclusão é que funciona parcialmente ( o minikube hyper V instalado pelo chocolatey funcionou, mas foi necessário contornar alguns bugs , porém a versão kubectl instalada pelo chocolatey não funcionou, sendo necessário baixar outra versão) . Particularmente estou satisfeito porque agora estou conseguindo fazer os exercícios.

Então acho que chegamos numa segunda solução para windows, porém esta usa Hyper V ao invés de usar Oracle Virtual box - que é a opção descrita no curso . Considero esta solução mais próxima de um ambiente produtivo.

Gostaria de Reiterar que melhorassem o trecho da Atividade 1 da Aula 1 que diz "Evite utilizar o Windows, algumas funções do Docker e do Kubernetes podem não funcionar como mostrado no vídeo" , isso acaba induzindo os alunos que possuem Windows 10 a instalarem uma maquina virtual ubuntu e isso não ira dar certo (não a toa vi dezenas de duvidas no forum sobre "como executar o kubernetes sem VM")

Seria legal complementar a frase "Também não recomendamos que use um Linux em Maquina Virtual para os exercícios, dado que o minikube necessita de uma camada de virtualização exclusiva, a qual pode não ser suportada nesse cenário"

Seguem os detalhes do que funcionou e o que não funcionou do seu link recomendado na replica anterior:

Requisito 1: Instalando o Hyper V no Windows 10

Não segui tutorial algum pois meu Hyper V já estava instalado no windows 10

Requisito 2: Instalando o chocolatey

Fonte: https://medium.com/@JockDaRock/installing-the-chocolatey-package-manager-for-windows-3b1bdd0dbb49

Obs: O comando abaixo via prompt de comando não funcionou

@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"

De https://medium.com/@JockDaRock/installing-the-chocolatey-package-manager-for-windows-3b1bdd0dbb49

Solução: Utilizei o comando de instalação via Powershell, Elevado a Administrador, conforme abaixo:

Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))

De https://chocolatey.org/install

Voltando ao tutorial principal : Minikube on Windows 10 with Hyper-V

Fonte: https://medium.com/@JockDaRock/minikube-on-windows-10-with-hyper-v-6ef0f4dc158c

BUG:

O comando

choco install kubernetes-cli

retornou que já havia uma versão instalada ( v1.14.3 , provavelmente instalada pelo proprio Docker para Windows 10) , então ignorei, porém ao tentar seguir a lição 8 da Aula 2 , "Mãos à Obra : Objeto Pod", apresentou o erro abaixo ao executar o comando

kubectl create -f aplicacao.yaml

Ocorreu o seguinte erro:

SchemaError(io.k8s.api.apps.v1.RollingUpdateDaemonSet): invalid object doesn't have additional properties

Solução:

Baixei uma versão do kubectl ( https://storage.googleapis.com/kubernetes-release/release/v1.14.0/bin/windows/amd64/kubectl.exe ) e salvei no próprio diretório do arquivo aplicacao.yaml , e o comando

kubectl create -f aplicacao.yaml

surtiu efeito - o pod foi criado com êxito.

Após o comando abaixo, a VM minikube criada no Hyper - V não constava com alocação de memoria dinamica ativa, não sendo necessário portanto o processo de minikube stop / desativação da memoria RAM dinamica no Hyper V / minikube start da VM.

Oi André, sensacional! Obrigado por compartilhar com a gente seus pontos, tenho certeza que irá ajudar os demais alunos.

Eu particularmente estou aguardando o WSL 2 vir para o Windows 10 (Algo que deve acontecer em breve), isso vai possibilitar a gente rodar um Linux lado a lado com o Windows sem precisar de VM, ou seja, teremos o Docker e o Kubernetes nativos do Linux. Espero eu que nenhum desses passos precise ser feito nesse cenário.

Ai ajustaríamos o curso, sugerindo as pessoas a usarem o WSL 2, ao invés de qualquer outra coisa.

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