Kubernetes create pod: Como criar um Kubernetes pod

Kubernetes pods são configurados de forma imperativa, declarativa ou usando interfaces de API. Também é possível especificar e personalizar recursos adicionais para os respectivos contêineres. Aprenda a criar um Kubernetes pod.

Kubernetes create pod: Pré-requisitos

Para executar um Kubernetes pod, você precisa que um cluster do Kubernetes esteja em execução, seja localmente em um sistema de desenvolvimento, na nuvem ou internamente. Para realizar sua instalação, recomendamos a leitura do nosso tutorial Kubernetes. Também é necessário que a ferramenta de linha de comando kubectl esteja disponível e configurada no computador para habilitar a interação com o cluster do Kubernetes. Você ainda deverá verificar se o arquivo kubeconfig foi configurado corretamente para estabelecer uma conexão bem-sucedida com o cluster.

Dica

A solução Managed Kubernetes da IONOS assegura alta disponibilidade para o desenvolvimento dos seus projetos no K8s ao mesmo tempo em que otimiza os custos. A integração com o ecossistema em nuvem da IONOS também oferece armazenamento de dados persistente, avançado e totalmente integrado.

Kubernetes create pod: Passo a passo para criar Kubernetes pod

Existem três formas de se criar Kubernetes pods:

  1. Configuração imperativa
  2. Configuração declarativa
  3. Uso de interface de API

Configuração imperativa

No método imperativo, você transmite instruções explícitas ao sistema por meio da linha de comando kubectl, informando como criar o Kubernetes pod sem ter preparado um arquivo de configuração detalhado com antecedência.

kubectl run nginx --image=nginx --restart=Never
shell

Esse comando cria um pod único chamado nginx que contém o servidor web Nginx.

Como o método imperativo aplica alterações diretas sem uma definição clara do estado pretendido, a abordagem declarativa costuma ser mais recomendada.

Configuração declarativa

A abordagem declarativa no Kubernetes requer que o estado desejado dos recursos seja definido por meio de arquivos de configuração YAML.

Abra um editor de texto e crie um arquivo YAML (por exemplo, nginx-pod.yaml) que descreva o estado desejado do pod Nginx.

apiVersion: apps/v1
kind: Deployment
metadata:
    name: nginx-deployment
spec:
    selector:
        matchLabels:
            app: nginx
    minReadySeconds: 5
    template:
        metadata:
            labels:
                app: nginx
        spec:
            containers:
            - name: nginx-container
                image: nginx:latest
                ports:
                - containerPort: 80
yaml

Use o comando kubectl apply para ativar o Kubernetes pod baseado na configuração declarativa.

kubectl apply -f nginx-pod.yaml
shell

As configurações declarativas que você especifica nos arquivos YAML são um registro concreto do estado pretendido, incluindo a versão do pod a ser criado. Elas possibilitam o gerenciamento e o monitoramento transparentes dos recursos no seu cluster do Kubernetes.

Uso de interface de API

O Kubernetes disponibiliza uma API RESTful que você pode usar para interagir com o cluster. Antes de usar a API, é preciso realizar o processo de autenticação e autorização. Isso costuma ser feito com tokens ou certificados de acesso, dependendo da configuração do cluster do Kubernetes.

O exemplo abaixo mostra como criar um arquivo JSON para um pod Nginx usando a API REST.

cat > nginx-pod.json <<EOF
{
    "apiVersion": "apps/v1",
    "kind": "Deployment",
    "metadata": {
        "name": "nginx-deployment"
    },
    "spec": {
        "selector": {
            "matchLabels": {
                "app": "nginx"
            }
        },
        "minReadySeconds": 5,
        "template": {
            "metadata": {
                "labels": {
                    "app": "nginx"
                }
            },
            "spec": {
                "containers": [
                    {
                        "name": "nginx-container",
                        "image": "nginx:latest",
                        "ports": [
                            {
                                "containerPort": 80
                            }
                        ]
                    }
                ]
            }
        }
    }
}
EOF
shell

Para ativar o Kubernetes pod, use a ferramenta curl para se comunicar com a API REST do cluster do Kubernetes:

curl -k -v -X POST -H "Authorization: Bearer <JWT_TOKEN>" -H "Content-Type: application/json" https://cluster-ip:6443/api/v1/namespaces/default/pods -d@nginx-pod.json
shell

Esse comando curl envia uma solicitação HTTPS-POST para um endpoint do cluster do Kubernetes. As opções -k e -v indicam que a verificação do certificado SSL e o modo detalhado (verbose mode) devem ser ignorados. Uma solicitação POST é definida com -X POST. O cabeçalho Authorization contém um token do portador, também chamado de bearer token (substitua <JWT_TOKEN> pelo token real), enquanto Content-Type especifica o tipo do formato de dados como JSON. A opção -d@nginx-pod.json envia os dados para o servidor.

Visualizar pods

Para verificar o status atual de todos os pods no respectivo namespace, insira o comando a seguir:

kubectl get pods
shell

O resultado traz uma lista dos pods existentes e seus respectivos status, momento de inicialização e demais detalhes.

Para obter informações mais detalhadas, insira o comando a seguir:

kubectl describe pod my-pod
shell

Esse comando retorna as informações detalhadas sobre o pod, incluindo configurações, eventos e transições de estados.

Para visualizar os logs do contêiner principal no Kubernetes pod, use o comando a seguir:

kubectl logs my-pod
shell

Se houver vários contêineres, você pode marcar o contêiner com a opção -c.

Excluir pod

A exclusão de pods é um processo direto que pode ser feito com um comando simples.

kubectl delete pod nginx
shell

O Kubernetes pod selecionado será interrompido, e o contêiner associado a ele também será desativado. No exemplo, removemos o pod “nginx” do cluster.

Managed Kubernetes da IONOS
O jeito mais simples de gerenciar cargas de trabalho em contêineres.

Instalação de clusters Kubernetes totalmente automatizada, visibilidade máxima e controle de clusters K8s.

Este artigo foi útil?
Para melhorar a sua experiência, este site usa cookies. Ao acessar o nosso site, você concorda com nosso uso de cookies. Mais informações
Page top