Saltar al contenido

¿Se pueden asignar alias de host a implementaciones en Kubernetes? ¿Si es así, cómo?

Solución:

Sí, esto es posible. Todo lo que necesita hacer es seguir el mismo consejo que recibió para una especificación de pod, pero en lugar de aplicarlo a un archivo YAML para pods, lo aplica a un archivo YAML para una implementación. Por ejemplo, si ya está ejecutando una implementación, puede editar la implementación actual emitiendo el siguiente comando.

$ kubectl editar implementación DEPLOYMENT_NAME

Esto le permitirá acceder al modo de edición de la implementación que se está ejecutando actualmente en formato YAML.

Debe agregar la sección ‘hostAliases’ en el campo de implementaciones ‘template: spec’ que le permite configurar la plantilla para el pod / contenedores. Entonces, para demostrar esto visualmente, aquí está el YAML para una implementación que estoy ejecutando en mi proyecto que puedo editar ejecutando el comando que mencioné anteriormente:

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  annotations:
    deployment.kubernetes.io/revision: "6"
  creationTimestamp: 2018-01-30T14:42:48Z
  generation: 7
  labels:
    app: nginx-site-app
  name: nginx-site
  namespace: default
  resourceVersion: "778922"
  selfLink: /apis/extensions/v1beta1/namespaces/default/deployments/nginx-site
  uid: dc4535333d-05cb-11e8-b5c0-7878748e0178
spec:
  replicas: 1
  selector:
    matchLabels:
      app: nginx-site-app
  strategy:
    rollingUpdate:
      maxSurge: 1
      maxUnavailable: 1
    type: RollingUpdate
  template:
    metadata:
      creationTimestamp: null
      labels:
        app: nginx-site-app
    spec:
      containers:
      - image: gcr.io/myprojectid/tuneup-nginx:latest
        imagePullPolicy: Always
        name: nginx-container
        ports:
        - containerPort: 80
          protocol: TCP
        resources: {}
        terminationMessagePath: /dev/termination-log
        terminationMessagePolicy: File
      dnsPolicy: ClusterFirst
      restartPolicy: Always
      schedulerName: default-scheduler
      securityContext: {}
      terminationGracePeriodSeconds: 30
status:
  availableReplicas: 1
  conditions:
  - lastTransitionTime: 2018-01-30T14:55:28Z
    lastUpdateTime: 2018-01-30T14:55:28Z
    message: Deployment has minimum availability.
    reason: MinimumReplicasAvailable
    status: "True"
    type: Available
  observedGeneration: 7
  readyReplicas: 1
  replicas: 1
  updatedReplicas: 1

Si quiero agregar ‘hostAliases’ a los pods dentro de esta implementación, necesito agregar esta información a la sección de especificaciones de la plantilla de pod como se muestra a continuación (tenga en cuenta que está en línea con ‘contenedores’ (*** importante, vale la pena señalar que hay dos secciones de ‘especificaciones’ dentro de mi archivo; no quiero agregarlas a la primera sección de especificaciones, sino a la sección de especificaciones de la plantilla que define la plantilla de pod):

     spec:
       containers:
       - image: gcr.io/development-project-192309/tuneup-nginx:latest
         imagePullPolicy: Always
         name: nginx-container
         ports:
         - containerPort: 80
           protocol: TCP
       hostAliases:
       - ip: 127.0.0.1
         hostnames:
         - myadded.examplehostname

hostAliases es parte del PodSpec, que es lo que también encontrará en Implementación en spec.template.spec en su Implementación para que pueda usarlo fácilmente de la misma manera en su plantilla de especificaciones del Pod de Implementaciones que lo hace para el Pod en sí.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

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