Esboço de aprendizagem do Kubernetes

Kubernetes (frequentemente abreviado como K8s) é uma plataforma de código aberto para automatizar a implantação, escalonamento e gerenciamento de aplicativos em contêineres (geralmente contêineres Docker). A seguir estão alguns conceitos básicos do Kubernetes e comandos relacionados.

1. Cluster e nós

Um cluster é a unidade básica do Kubernetes e consiste em um conjunto de nós (máquinas físicas ou virtuais).

Ordem:

kubectl get nodes

Análise:

Liste todos os nós do cluster.

2. Vagem

Pod é a menor unidade de implantação do Kubernetes, geralmente hospedando um ou mais contêineres.

Ordem:

kubectl run nginx --image=nginx
kubectl get pods

Análise:

  • Execute um pod chamado nginx e use a imagem nginx.
  • Liste todos os pods.

3. Serviço

Serviço é uma camada de abstração usada para expor os serviços de rede do Pod.

Ordem:

kubectl expose pod nginx --port=80 --type=ClusterIP
kubectl get svc

Análise:

  • Use ClusterIPo tipo para expor o serviço nginx Pod na porta 80.
  • Liste todos os serviços.

4. Implantação

As implantações são usadas para declarar o estado desejado do aplicativo e são garantidas automaticamente pelo Kubernetes.

Ordem:

kubectl create deployment nginx-deploy --image=nginx
kubectl get deployments

Análise:

  • Crie uma nginx-deployimplantação chamada .
  • Liste todas as implantações.

5. ConfigMap e segredo

Usado para gerenciar dados de configuração e informações confidenciais.

Ordem:

kubectl create configmap my-config --from-literal=key1=value1
kubectl create secret generic my-secret --from-literal=password=mypassword

Análise:

  • Crie um ConfigMap.
  • Crie um segredo.

6. Espaços para nome

Usado para separar recursos em áreas logicamente independentes.

Ordem:

kubectl create namespace my-namespace

Análise:

Crie um novo espaço para nome.

7. Volume

Usado para armazenamento persistente.

Ordem:

kubectl apply -f my-volume.yaml

Análise:

Defina um volume através de um arquivo YAML e kubectl applycrie-o com o comando.

8. Escalonador automático de pod horizontal (HPA)

Dimensione automaticamente o número de pods com base no uso da CPU ou outras métricas.

Ordem:

kubectl autoscale deployment nginx-deploy --min=2 --max=5 --cpu-percent=80

Análise:

Dimensione automaticamente nginx-deploya implantação nomeada com base no uso da CPU.

9. Recursos personalizados (CRDs)

Usado para estender a API Kubernetes.

Ordem:

kubectl apply -f my-custom-resource.yaml

Análise:

Use para kubectl applycriar recursos personalizados.

10. Leme

Helm é o gerenciador de pacotes do Kubernetes.

Ordem:

helm install my-release my-chart

Análise:

Usando o Helm Instale um my-releasegráfico do Helm chamado .

[Lembrete] Funções avançadas do Kubernetes, como DaemonSets, StatefulSets, Políticas de Rede, etc., têm seus cenários de uso específicos. Aqui estão algumas explicações básicas e exemplos desses recursos avançados.

1. Conjuntos de Daemons

Um DaemonSet garante que uma cópia de um pod esteja em execução em cada nó e normalmente é usado para executar daemons em todo o cluster.

Ordem:

kubectl apply -f daemonset.yaml

Análise:

Crie um DaemonSet usando um arquivo YAML que contém a configuração do DaemonSet.

Exemplo daemonset.yaml:

apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: my-daemonset
spec:
  selector:
    matchLabels:
      app: my-daemonset
  template:
    metadata:
      labels:
        app: my-daemonset
    spec:
      containers:
      - name: my-daemon
        image: my-daemon-image

2. Conjuntos de estado

StatefulSets são objetos de API de carga de trabalho usados ​​para gerenciar aplicativos com estado.

Ordem:

kubectl apply -f statefulset.yaml

Análise:

Crie um StatefulSet usando um arquivo YAML que contém a configuração do StatefulSet.

Exemplo statefulset.yaml:

apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: web
spec:
  serviceName: "nginx"
  replicas: 3
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx

3. Políticas de Rede

Políticas de rede são um recurso do Kubernetes usado para controlar a comunicação entre pods.

Ordem:

kubectl apply -f network-policy.yaml

Análise:

Crie uma política de rede usando um arquivo YAML que contém a configuração da política de rede.

Exemplo de política de rede.yaml:

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: default-deny
spec:
  podSelector: {
    
    }
  policyTypes:
  - Ingress

Este exemplo define uma política de rede que nega todo o tráfego de entrada.

Os itens acima são apenas exemplos básicos de cada recurso avançado. Todos eles possuem uso mais avançado e complexo, sendo recomendável consultar a documentação oficial para orientações detalhadas e abrangentes.

Supongo que te gusta

Origin blog.csdn.net/m0_57021623/article/details/132958782
Recomendado
Clasificación