Kubernetes: Usando Kubernetes na IBM Cloud: Difference between revisions

From Wiki
Line 56: Line 56:
2) Login na IBM Cloud
2) Login na IBM Cloud


  bx login --sso
  ibmcloud login --sso


3) Login na IBM Cloud Container Registry.
3) Login na IBM Cloud Container Registry.


  bx cr login
  ibmcloud cr login


4) Criando uma namespace
4) Criando uma namespace


  bx cr namespace-add <my_namespace>
  ibmcloud cr namespace-add <my_namespace>


5) Criando uma docker image
5) Criando uma docker image

Revision as of 14:09, 28 October 2018

Existe um curso sobre Kubernetes na IBM Cloud, o link é o seguinte https://courses.cognitiveclass.ai/

Os exemplos do curso estão no GitHub https://github.com/IBM/container-service-getting-started-wt


Pré-requisitos

1) Instalando os pré-requisitos no MacOS

brew install kubectl 
brew cask install ibm-cloud-cli
brew install cfssl
brew install docker

2) Login na IBM Cloud

 ibmcloud login

Para Login Federado ou para Funcionário IBM use "ibmcloud login -sso"

3) Adicionando os plugins para criar e gerenciar clusters Kubernetes

ibmcloud plugin install container-service -r Bluemix
ibmcloud plugin install container-registry -r Bluemix

4) Listando plug-ins instalados...

ibmcloud plugin list




Provisionando um Cluster na IBM Cloud

  • Via linha de comando
ibmcloud cs cluster-create --name <name-of-cluster>
  • Via console
Vá no endereço https://console.bluemix.net/catalog/ e localize a entrada IBM Cloud Kubernetes Service.




Deploy da sua Primeira aplicação no IBM Cloud


Push da imagem para o IBM Cloud Container Registry

1) Clonando os exemplos do Github

mkdir Curso
git clone https://github.com/IBM/container-service-getting-started-wt.git

2) Login na IBM Cloud

ibmcloud login --sso

3) Login na IBM Cloud Container Registry.

ibmcloud cr login

4) Criando uma namespace

ibmcloud cr namespace-add <my_namespace>

5) Criando uma docker image

docker build --tag registry.ng.bluemix.net/<my_namespace>/hello-world:1 .

6) Verificando a imagem

docker images

7) Fazendo o push da image

docker push registry.ng.bluemix.net/<my_namespace>/hello-world:1

8) Verifique que o cluster está pronto pra uso

ibmcloud cs clusters

verificar se o estado está NORMAL

ibmcloud cs workers <yourclustername>

Verifica se os workers estão no estado NORMAL com o status READY

Anotar o ip público do worker.

Deploy da aplicação

1) Execute o comando e defina as variáveis de ambiente

ibmcloud cs cluster-config <yourclustername>

Exemplo no Mac:

export KUBECONFIG=/Users/<user_name>/.bluemix/plugins/container-service/clusters/pr_firm_cluster/kube-config-prod-par02-pr_firm_cluster.yml

2) Iniciando a aplicação

kubectl run hello-world --image=registry.ng.bluemix.net/<my_namespace>/hello-world:1

3) Verifique o status pelo comando

kubectl get pods

4) Quando o status estiver como RUNNING, execute

kubectl expose deployment/hello-world --type="NodePort" --port=8080


Com o navegador, acesse o ip e porta para visualizar

Outros comandos: Para achar a porta, Para remover o Deployment , Para remover o Service

Escalando e atualizando aplicações -- services, replica sets e health checks

Adicionando replicas via linha de comando

Adicionando via linha de comando

$ kubectl scale --replicas=10 deployment hello-world


Adicionando replicas via arquivo de configuração

Adicionando via edição da configuração

kubectl edit deployment/<name-of-deployment>

Alterar o item replicas

...
   spec:
     replicas: 1

Salve e feche o arquivo

Verificando o rollout da alteração

Verificando o rollout da alteração

kubectl rollout status deployment/hello-world

Após o rollout verifique se os pods estão executando.

kubectl get pods

o STATUS deve ser RUNNING.

Ver também