Creaci贸n de su primera implementaci贸n en un cl煤ster de Kubernetes

versi贸n kubectl

En este art铆culo, veremos c贸mo crear su primera implementaci贸n en un cl煤ster de Kubernetes. Como ejemplo, crearemos una implementaci贸n para NginX.

Una vez que tenemos un cl煤ster de Kubernetes en ejecuci贸n, podemos implementar nuestras aplicaciones en contenedores encima de 茅l. Podemos crear una configuraci贸n de implementaci贸n de Kubernetes para lograr esto.

Una implementaci贸n proporciona actualizaciones declarativas para Pods y ReplicaSets. Describimos un estado deseado en la implementaci贸n y el controlador de implementaci贸n cambia el estado real al estado deseado a una velocidad controlada.

Podemos crear y administrar una implementaci贸n mediante la interfaz de l铆nea de comandos 芦kubectl禄 de Kubernetes. Kubectl usa la API de Kubernetes para interactuar con el cl煤ster.

Hay tres etapas en un ciclo de vida de implementaci贸n:

  1. progresando: Kubernetes marca una implementaci贸n como en progreso cuando la implementaci贸n crea un nuevo conjunto de r茅plicas, la implementaci贸n est谩 ampliando su conjunto de r茅plicas m谩s nuevo o reduciendo su conjunto de r茅plicas m谩s antiguo o los nuevos pods est谩n listos o disponibles
  2. Completo: Kubernetes marca una implementaci贸n como completa cuando todas las r茅plicas asociadas con la implementaci贸n se han actualizado, est谩n disponibles y no se est谩n ejecutando r茅plicas antiguas para la implementaci贸n.
  3. Ha fallado: Esto puede ocurrir debido a una cuota insuficiente, fallas en la sonda de preparaci贸n, errores de obtenci贸n de im谩genes, permisos insuficientes.

requisitos previos

  1. Cuenta AWS (Crear si no tienes uno)
  2. Un cl煤ster de Kubernetes

Nota: Tambi茅n puede usar m谩quinas virtuales para crear un cl煤ster si no desea probar instancias de AWS EC2.

Lo que haremos

  1. Crear una implementaci贸n de Kubenetes para NginX

Crear una implementaci贸n de Kubenetes para NginX

Para crear nuestra primera implementaci贸n, simplemente creemos un nuevo directorio para crear nuestro objeto/archivo de implementaci贸n. Use el siguiente comando para crear un nuevo directorio en su sistema

mkdir mi primera implementaci贸n
cd mi-primera-implementaci贸n/

Antes de continuar, verifique el estado del cl煤ster.

Para verificar los Nodos disponibles en el cl煤ster y verificar la versi贸n del 芦kubectl禄 utilice los siguientes comandos.

versi贸n sudo kubectl
sudo kubectl obtener nodos

versi贸n kubectl

Una vez que tenga Nodos disponibles en su cl煤ster, estar谩 listo para crear su implementaci贸n.

Cree un archivo 芦my-first-deployment.yml禄 con el siguiente bloque de c贸digo

vim mi-primera-implementaci贸n.yml

---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
  labels:
    app: nginx
spec:
  replicas: 2
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.7.9
        ports:
        - containerPort: 80

Aqu铆,

  • apiVersion: APIVersion define el esquema versionado de esta representaci贸n de un objeto.
  • tipo: tipo de objeto que desea crear, como implementaci贸n, servicio, mapa de configuraci贸n y m谩s.
  • nombre: el nombre debe ser 煤nico dentro de un espacio de nombres.
  • etiquetas: Mapa de claves de cadena y valores que se pueden usar para organizar y categorizar objetos
  • Especificaciones: Especificaci贸n del comportamiento deseado del Deployment.
  • r茅plicas: N煤mero de pods deseados.
  • selector: Selector de etiquetas para pods. Los ReplicaSets existentes cuyos pods sean seleccionados por esto ser谩n los afectados por esta implementaci贸n. Debe coincidir con las etiquetas de la plantilla del pod.

Ahora est谩 listo para crear su implementaci贸n usando los siguientes comandos.

sudo kubectl apply -f mi-primera-implementaci贸n.yml
sudo kubectl obtener implementaciones

aplicar kubectl

En la captura de pantalla anterior, puede ver que la implementaci贸n se cre贸 con dos pods que est谩n disponibles para usar.

Puede obtener los detalles de los pods usando el siguiente comando.

sudo kubectl obtener vainas

kubectl obtener vainas

Si desea obtener m谩s informaci贸n sobre la implementaci贸n, puede usar este comando 芦kubectl describe禄 para obtener los detalles completos de la implementaci贸n.

sudo kubectl obtener implementaciones
sudo kubectl describe implementaciones nginx-deployment

kubectl obtener implementaciones

Si ya no necesita la implementaci贸n, puede eliminarla usando el 芦comando de eliminaci贸n de kubectl禄.

sudo kubectl obtener implementaciones
sudo kubectl eliminar implementaciones nginx-deployment
sudo kubectl obtener implementaciones

kubectl obtener implementaciones

En la captura de pantalla anterior, puede ver que la implementaci贸n ya no est谩 disponible despu茅s de eliminarla.

Una vez que elimine la implementaci贸n, los pods tambi茅n se eliminar谩n.

Puede verificar la disponibilidad de los pods usando el siguiente comando.

sudo kubectl obtener vainas

kubectl obtener vainas

En la captura de pantalla anterior, puede ver que los pods se eliminaron despu茅s de eliminar la implementaci贸n y no est谩n disponibles.

Conclusi贸n

En este art铆culo, vimos los pasos para crear su primera implementaci贸n de NginX en Kubernetes. Tambi茅n vimos c贸mo se pueden extraer los detalles sobre el despliegue. Junto con esto, exploramos los comandos para eliminar la implementaci贸n.

Deja una respuesta

Tu direcci贸n de correo electr贸nico no ser谩 publicada. Los campos obligatorios est谩n marcados con *