Kubernetes: Criando um serviço e expondo-o ao mundo externo com o NodePort via Linha de Comando: Difference between revisions

From Wiki
Line 45: Line 45:
  web-service  NodePort    10.100.253.18  <none>        80:31240/TCP  14s
  web-service  NodePort    10.100.253.18  <none>        80:31240/TCP  14s


O webservice foi criado no IP 10.100.253.18, e ao receber requisições na porta xx encaminha para a porta xx
O webservice foi criado no IP 10.100.253.18, e ao receber requisições na porta 31240 encaminha para a porta 80. O Pod a ser utilizado é realizado da instrução '''select'''.
 
Para o K8s é indiferente a ordem para criar o deployment ou o serviço.
 
Vamos pegar mais detalhes:
 
'''kubectl describe svc web-service'''
<nowiki>Name:                    web-service
Namespace:                default
Labels:                  run=web-service
Annotations:              <none>
Selector:                app=nginx
Type:                    NodePort
IP:                      10.100.253.18
Port:                    <unset>  80/TCP
TargetPort:              80/TCP
NodePort:                <unset>  31240/TCP
Endpoints:                172.17.0.3:80,172.17.0.5:80,172.17.0.6:80
Session Affinity:        None
External Traffic Policy:  Cluster
Events:                  <none>
</nowiki>
 
O valor em '''Endpoints''' informa os ips dos Pods.


= Ver também =
= Ver também =

Revision as of 23:09, 27 February 2019

Vamos criar um serviço e expor ele ao mundo externo com o NodePort via Linha de Comando

Este exemplo continua o que foi realizado em Kubernetes: Deploy de uma aplicação via Linha de comando


Procedimento

Arquivo de deployment webserver-svc.yaml

1) Crie o arquivo webserver-svc.yaml e adicione o conteúdo:

apiVersion:   v1
kind:         Service
metadata:
  name:       web-service
  labels:
    run:      web-service
spec:
  type:       NodePort
  ports:
  - port:     80
    protocol: TCP
  selector:
    app:      nginx 
 

Salve e feche o arquivo.

2) Execute o comando kubectl para fazer o deploy das informações no arquivo

kubectl create -f webserver-svc.yaml

service "web-service" created

Verificando o que foi criado

  • Services
kubectl get services

NAME          TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)        AGE
kubernetes    ClusterIP   10.96.0.1       <none>        443/TCP        6d20h
web-service   NodePort    10.100.253.18   <none>        80:31240/TCP   14s

O webservice foi criado no IP 10.100.253.18, e ao receber requisições na porta 31240 encaminha para a porta 80. O Pod a ser utilizado é realizado da instrução select.

Para o K8s é indiferente a ordem para criar o deployment ou o serviço.

Vamos pegar mais detalhes:

kubectl describe svc web-service

Name:                     web-service
Namespace:                default
Labels:                   run=web-service
Annotations:              <none>
Selector:                 app=nginx
Type:                     NodePort
IP:                       10.100.253.18
Port:                     <unset>  80/TCP
TargetPort:               80/TCP
NodePort:                 <unset>  31240/TCP
Endpoints:                172.17.0.3:80,172.17.0.5:80,172.17.0.6:80
Session Affinity:         None
External Traffic Policy:  Cluster
Events:                   <none>

O valor em Endpoints informa os ips dos Pods.

Ver também