Pide tu presupuesto ya!
8th January 2024
El desarrollo se vuelve significativamente más eficiente cuando no tienes que repetirte. La buena noticia es que Kustomize le garantiza que solo administrará las configuraciones necesarias una vez y las adaptará sin problemas a diferentes entornos.
En este ejemplo, implementará un Servidor HTTP Apache y cree un servicio para exponer el servidor en su clúster.
Para crear una implementación personalizada, lleve a cabo lo siguiente:
1. Crear (mkdir) y navegar (cd) en un directorio de trabajo llamado kustomize (arbitrario). Estos comandos no tienen salida pero le preparan un espacio de trabajo.
mkdir kustomize
cd kustomize
2. A continuación, cree un directorio llamado base en el directorio de su espacio de trabajo (~/personalizar) para que sirva como base para sus configuraciones de Kubernetes.
Este base El directorio contendrá las configuraciones esenciales e inalteradas que forman el punto de partida para su implementación.
3. Crea un archivo llamado httpd-deploy.yaml con su editor preferido, como Vim, complete la siguiente configuración, guarde el archivo y cierre el editor.
Esta configuración define una implementación para el servidor HTTP Apache, indicando a Kubernetes que mantenga dos réplicas de pods que ejecutan la imagen especificada (httpd).
apiVersion: apps/v1
# Specifies a Kubernetes deployment object.
kind: Deployment
metadata:
labels:
# Label the application as "httpd".
app: httpd
name: httpd
spec:
# The two instances of the Apache HTTP Server should be created.
replicas: 2
selector:
matchLabels:
# Select pods with the label 'app: httpd'.
app: httpd
template:
metadata:
labels:
# Label the application inside the pod as "httpd".
app: httpd
spec:
containers:
# Specifies the name of the official Apache HTTP Server image.
- image: httpd
# Specifies the name of the Apache HTTP Server image container.
name: httpd
4. Ahora, crea otro archivo llamado httpd-svc.yaml, agregue la configuración a continuación, guarde el archivo y cierre el editor.
Esta configuración crea un servicio llamado httpd-service de tipo ClusterIPdirigiendo el tráfico a los pods etiquetados con app: httpd en port: 80. Esta configuración permite que otros componentes dentro de su clúster de Kubernetes accedan a los pods del servidor Apache HTTP a través del servicio definido.
apiVersion: v1
# Specifies a Kubernetes service object.
kind: Service
metadata:
# The name of the service
name: httpd-service
spec:
# Specifies that this service is of type ClusterIP
type: ClusterIP
selector:
# Select the pods with the label 'app: httpd'
app: httpd
ports:
- protocol: TCP
# The port that the service exposes
port: 80
# The target port on the container to send traffic to
targetPort: 80
5. Regrese al directorio de su espacio de trabajo (~/personalizar).
6. A continuación, cree otro archivo llamado personalización.yamlagregue la configuración a continuación, guarde el archivo y cierre el editor.
Kustomize busca un archivo llamado personalización.yaml (o personalización.yml) de forma predeterminada para comprender cómo ensamblar y aplicar sus recursos de Kubernetes. Este archivo es el ancla de su configuración y le indica a Kustomize qué recursos incluir, cómo modificarlos y dónde implementarlos.
La siguiente configuración funciona de la siguiente manera:
httpd-deployment.yaml y httpd-svc.yaml) en el ./base/ directorio.apiVersion: kustomize.config.k8s.io/v1beta1
# Specify the API version for the Kustomization resource.
kind: Kustomization
resources:
# Specify the relative paths to the base configuration files.
- ./base/httpd-deployment.yaml
- ./base/httpd-svc.yaml
7. Con las configuraciones establecidas, ejecute lo siguiente kubectl comando para realizar lo siguiente:
kustomization.yaml y procese las configuraciones según las instrucciones proporcionadas.Este comando garantiza que estos manifiestos se apliquen a su clúster de Kubernetes, lo que dará como resultado la creación o actualización de los recursos especificados.
💡 Kustomize está integrado en Kubernetes desde la versión 1.14 en adelante y no requiere una instalación por separado cuando se usa Kubernetes 1.14 o posterior. Kustomize funciona perfectamente con el
kubectlherramienta de línea de comandos, que le permite aprovechar las funciones de Kustomize directamente a través dekubectlcomandos.
8. Por último, ejecute todos los comandos siguientes para confirmar que se hayan creado los objetos de implementación y servicio.
# Check the status of deployments
kubectl get deployment
# List all pods
kubectl get pods
# Display information about services
kubectl get service
Si todo va bien, verá un resultado similar al siguiente.

Leave a comment