
Recientemente tuve que mover mi clúster K3 con el operador AWX. Las direcciones IP de mis nodos tuvieron que cambiar de 10.0.3.51, 10.0.3.52, 10.0.3.53 a 10.6.3.44, 10.6.3.45, 10.6.3.71. Actualicé hostAlias en mi implementación de demostración de awx:
271 dnsPolicy: ClusterFirst
272 hostAliases:
273 - hostnames:
274 - awx.example.com
275 ip: 10.6.3.44
276 initContainers:
277 - command:
278 - /bin/sh
279 - -c
280 - |
281 hostname=$MY_POD_NAME
282 receptor --cert-makereq bits=2048 commonname=$hostname dnsname=$hostname nodeid=$hostname outreq=/etc/receptor/tls/receptor.req outkey=/etc/receptor/tls/receptor.key
283 receptor --cert-signreq req=/etc/receptor/tls/receptor.req cacert=/etc/receptor/tls/ca/receptor-ca.crt cakey=/etc/receptor/tls/ca/receptor-ca.key outcert=/etc/receptor/tls/ receptor.crt verify=yes
Pero aún en mis pods de trabajos de automatización, el archivo /etc/hosts tiene la dirección IP anterior. ¿Qué puedo hacer para corregir el archivo /etc/hosts cuando se crean mis pods de trabajos de automatización?
Puedo acceder al pod de automatización así y mostrar el archivo /etc/hosts
$ kubectl -n awx exec -it automation-job-19120-2npln -- bash
bash-4.4$ cat /etc/hosts
# Kubernetes-managed hosts file.
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
fe00::0 ip6-mcastprefix
fe00::1 ip6-allnodes
fe00::2 ip6-allrouters
10.42.1.31 automation-job-19120-2npln
# Entries added by HostAliases.
10.0.3.51 awx.example.com
bash-4.4$
Si edito el pod veo esto...
apiVersion: v1
kind: Pod
metadata:
... omitted ...
spec:
automountServiceAccountToken: false
containers:
- args:
- ansible-runner
- worker
- --private-data-dir=/runner
image: quay.io/ansible/awx-ee:latest
imagePullPolicy: Always
name: worker
resources:
requests:
cpu: 250m
memory: 100Mi
stdin: true
stdinOnce: true
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
dnsPolicy: ClusterFirst
enableServiceLinks: true
hostAliases:
- hostnames:
- awx.example.com
ip: 10.0.3.51
nodeName: rocky-k3-3
... omitted ...
¿De dónde diablos viene ese 10.0.3.51?
Respuesta1
Alguien en la lista de correo de AWX me recordó que necesito usar la consola de interfaz de usuario web de AWX para actualizar la Estación de administración >> Instancia de grupo >> 'predeterminada' y actualizar lo hostAliases
definido allí. De los documentos:https://docs.ansible.com/automation-controller/latest/html/administration/containers_instance_groups.html#customize-the-pod-spec