Kubernetes: Usando Kubernetes na IBM Cloud: Difference between revisions
No edit summary |
|||
Line 182: | Line 182: | ||
<br> | <br> | ||
<br> | <br> | ||
= Deploy de uma aplicação com IBM Watson = | |||
1) Começando o Lab3 | |||
cd .. | |||
cd Lab3 | |||
==Construindo as images do Watson== | |||
1) Build das images | |||
docker build -t registry.ng.bluemix.net/<namespace>/watson ./watson | |||
docker build -t registry.ng.bluemix.net/<namespace>/watson-talk ./watson-talk | |||
2) push da image Watson para o IBM Cloud Container Registry. | |||
docker push registry.ng.bluemix.net/<namespace>/watson | |||
docker push registry.ng.bluemix.net/<namespace>/watson-talk | |||
3) Atualizar o watson-deployment.yml | |||
Edite o arquivo watson-deployment.yml e altere a tag '''<namespace>'''. | |||
==Criando uma instância do Watson service== | |||
1) Verifique o space e o org | |||
ibmcloud login | |||
Se quiser alterar execute | |||
ibmcloud target --cf | |||
2) Criando o serviço | |||
ibmcloud cf create-service tone_analyzer standard ''tone'' | |||
onde ''tone'' é o nome do serviço | |||
Note: When you add the Tone Analyzer service to your account, a message is displayed that the service is not free. If you limit your API calls, this course does not incur charges from the Watson service. | |||
3) Conferindo se o serviço foi criado | |||
ibmcloud cf services | |||
==Criando uma instância do Watson service== | |||
= Ver também = | = Ver também = |
Revision as of 15:30, 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
Importante: os comandos bx ou bluemix foram depreciados, agora utilizar o comando ibmcloud
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
No Lab1, temos o deploy de uma aplicação que exibe o hostname. Os arquivos principais do lab são:
- Dockerfile : define os atributos da image. Busca uma image com o Node.js e instala a aplicação app.js
- app.js : Aplicação em Node.js que pronta o hostmame
- package.json: define as dependências necessários pela aplicação app.js
Clonando os exemplos do Github
mkdir Curso cd Curso git clone https://github.com/IBM/container-service-getting-started-wt.git
Push da imagem para o IBM Cloud Container Registry
1) Começando o Lab1
cd Lab1
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>
namespaces é um forma de organização de cluster. No dia a dia, seria projeto1_prod, projeto1_dev, projeto2_prod, ...
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
1) Começando o Lab2
cd .. cd Lab2
Adicionando Replicas
- 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.
Deploy de uma aplicação com IBM Watson
1) Começando o Lab3
cd .. cd Lab3
Construindo as images do Watson
1) Build das images
docker build -t registry.ng.bluemix.net/<namespace>/watson ./watson docker build -t registry.ng.bluemix.net/<namespace>/watson-talk ./watson-talk
2) push da image Watson para o IBM Cloud Container Registry.
docker push registry.ng.bluemix.net/<namespace>/watson docker push registry.ng.bluemix.net/<namespace>/watson-talk
3) Atualizar o watson-deployment.yml
Edite o arquivo watson-deployment.yml e altere a tag <namespace>.
Criando uma instância do Watson service
1) Verifique o space e o org
ibmcloud login
Se quiser alterar execute
ibmcloud target --cf
2) Criando o serviço
ibmcloud cf create-service tone_analyzer standard tone
onde tone é o nome do serviço
Note: When you add the Tone Analyzer service to your account, a message is displayed that the service is not free. If you limit your API calls, this course does not incur charges from the Watson service.
3) Conferindo se o serviço foi criado
ibmcloud cf services