Kubernetes: Usando Kubernetes na IBM Cloud: Difference between revisions
No edit summary |
|||
Line 45: | Line 45: | ||
= Deploy da sua Primeira aplicação no IBM Cloud= | = Deploy da sua Primeira aplicação no IBM Cloud= | ||
<br> | |||
== Push da imagem para o IBM Cloud Container Registry == | == Push da imagem para o IBM Cloud Container Registry == | ||
Clonando os exemplos do Github | 1) Clonando os exemplos do Github | ||
mkdir Curso | mkdir Curso | ||
<nowiki>git clone https://github.com/IBM/container-service-getting-started-wt.git</nowiki> | <nowiki>git clone https://github.com/IBM/container-service-getting-started-wt.git</nowiki> | ||
Login na IBM Cloud | 2) Login na IBM Cloud | ||
bx login --sso | bx login --sso | ||
Login na IBM Cloud Container Registry. | 3) Login na IBM Cloud Container Registry. | ||
bx cr login | bx cr login | ||
Criando uma namespace | 4) Criando uma namespace | ||
bx cr namespace-add <my_namespace> | bx cr namespace-add <my_namespace> | ||
Criando uma docker image | 5) Criando uma docker image | ||
docker build --tag registry.ng.bluemix.net/<my_namespace>/hello-world:1 . | docker build --tag registry.ng.bluemix.net/<my_namespace>/hello-world:1 . | ||
Verificando a imagem | 6) Verificando a imagem | ||
docker images | docker images | ||
Fazendo o push da image | 7) Fazendo o push da image | ||
docker push registry.ng.bluemix.net/<my_namespace>/hello-world:1 | docker push registry.ng.bluemix.net/<my_namespace>/hello-world:1 | ||
Verifique que o cluster está pronto pra uso | 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'''. | Anotar o ip público do '''worker'''. | ||
<br> | |||
== Deploy da aplicação == | == Deploy da aplicação == | ||
Execute o comando e defina as variáveis de ambiente | 1) Execute o comando e defina as variáveis de ambiente | ||
ibmcloud cs cluster-config <yourclustername> | |||
Exemplo no Mac | Exemplo no Mac: | ||
export KUBECONFIG=/Users/<user_name>/.bluemix/plugins/container-service/clusters/pr_firm_cluster/kube-config-prod-par02-pr_firm_cluster.yml | export KUBECONFIG=/Users/<user_name>/.bluemix/plugins/container-service/clusters/pr_firm_cluster/kube-config-prod-par02-pr_firm_cluster.yml | ||
Iniciando a aplicação | 2) Iniciando a aplicação | ||
kubectl run hello-world --image=registry.ng.bluemix.net/<my_namespace>/hello-world:1 | kubectl run hello-world --image=registry.ng.bluemix.net/<my_namespace>/hello-world:1 | ||
Verifique o status pelo comando | 3) Verifique o status pelo comando | ||
kubectl get pods | kubectl get pods | ||
Quando o status estiver como | 4) Quando o status estiver como RUNNING, execute | ||
kubectl expose deployment/hello-world --type="NodePort" --port=8080 | kubectl expose deployment/hello-world --type="NodePort" --port=8080 | ||
Line 113: | Line 117: | ||
Outros comandos: [[Kubernetes:_Trabalhando_com_o_kubectl#Para_achar_a_porta|Para achar a porta]], [[Kubernetes:_Trabalhando_com_o_kubectl#Para_remover_o_Deployment|Para remover o Deployment]] , [[Kubernetes:_Trabalhando_com_o_kubectl#Para_remover_o_Service|Para remover o Service]] | Outros comandos: [[Kubernetes:_Trabalhando_com_o_kubectl#Para_achar_a_porta|Para achar a porta]], [[Kubernetes:_Trabalhando_com_o_kubectl#Para_remover_o_Deployment|Para remover o Deployment]] , [[Kubernetes:_Trabalhando_com_o_kubectl#Para_remover_o_Service|Para remover o Service]] | ||
<br> | |||
= Escalando e atualizando aplicações -- services, replica sets e health checks = | = Escalando e atualizando aplicações -- services, replica sets e health checks = |
Revision as of 14:07, 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
bx login --sso
3) Login na IBM Cloud Container Registry.
bx cr login
4) Criando uma namespace
bx 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.