Skip to content

Latest commit

 

History

History
56 lines (44 loc) · 2.34 KB

File metadata and controls

56 lines (44 loc) · 2.34 KB

Rodando uma pod

Uma Pod é um conjunto de containers, que rodam isolados no cluster. Os containers rodam em conjunto e tem acesso ao mesmo sistema de arquivos.

A criação de pods é feita utilizando-se arquivos YAML, como o que está listado a seguir:

apiVersion: v1 # Obrigatorio, versão da API do Kubernetes que contém esse recursos
kind: Pod  # Tipo de objeto a ser criado
metadata:
  name: getting-started #Nome da pod
  labels: # Labels a serem aplicados, podem ter quaisquer nomes e valores
    role: myrole
spec: # contém as especificações da pod, como os containers que irão rodar, recursos, discos, etc...
  containers: # Lista de containers da POD
    - name: web # Nome do container dentro da POD
      image: docker/getting-started # Imagem do Docker que será utilizado
      ports: # portas que a POD expões para o cluster. Essa porta não é acessível fora do cluster
        - name: web # Nome da porta
          containerPort: 80 # PORTA
          protocol: TCP # Tipo de protocolo (TCP ou UDP)
      resources: # Recursos que a POD usa (CPU, memória, etc...)
        limits: # Limite máximo de recursos
          cpu: 500m # 500 milis cpus (meia CPU) é o limite máximo que este container pode usar
          memory: 200Mi # 200 MB de memória é o  o limite máximo que este container pode usar
        requests: # limite mínimo que o container precisa
          cpu: 100m # 100 milis cpis (0,1 CPU) é o mínimo que este container precisa ter reservado
          memory: 100Mi # 100 MB de memória é o mínimimo que este container precisa ter reservado

Para aplicar esse arquivo no cluster, deve-se usar o comando apply, passando-se o arquivo e o nome do namespace onde será rodado.

kubectl apply -f getting-started.yaml --namespace=my-namespace

Para listar as Pods, deve-se rodar o comando:

kubectl get pod --namespace=my-namespace

A Pod está expondo a porta 80 para o cluster, porém para acessá-la de fora é necessário criar um port-forward, utilizando-se o comando:

kubectl port-forward getting-started 3001:80 --namespace=my-namespace

Assim, expomos a porta 80 do container como a porta 3001 do computador local.

Por fim, para limpar o ambiente, podemos apagar a pod, com o comando:

kubectl delete pod getting-started --namespace=my-namespace