El operador de AWX no puede crear awx-pods después de actualizar de k8s 1.21.3 a 1.22.0
Trabajó bien antes.
Desde la versión 1.21.3, instale awx-operator y configure awx. Funciona bien.
Actualice a 1.22.0
Mata y recrea la implementación de awx
vainas awx postgres está activo
el servidor de pods awx no está activo
AWX debería estar funcionando
Solo awx postgres está activo
NAME READY STATUS RESTARTS AGE
awx-itd-postgres-0 1/1 Running 0 8m29s
awx-operator-545497f7d5-k88wr 1/1 Running 1 (34m ago) 55m
nfs-client-provisioner-5c95d8f86-9tm6k 1/1 Running 5 (34m ago) 5d4h
Archivo Yaml que uso para crear pods:
---
apiVersion: awx.ansible.com/v1beta1
kind: AWX
metadata:
name: awx-itd
spec:
service_type: LoadBalancer
loadbalancer_protocol: http
loadbalancer_port: 80
loadbalancer_annotations: |
metallb.universe.tf/address-pool: bde-172-17
hostname: awx.bde.lab
replicas: 2
projects_persistence: true
projects_storage_class: managed-nfs-storage
postgres_storage_class: managed-nfs-storage
#adminUser: admin
PLAY RECAP *********************************************************************
localhost : ok=29 changed=2 unreachable=0 failed=1 skipped=27 rescued=0 ignored=0
-------------------------------------------------------------------------------
{"level":"error","ts":1628693554.202394,"logger":"controller-runtime.controller","msg":"Reconciler error","controller":"awx-controller","request":"default/awx-itd","error":"event runner on failed","stacktrace":"github.com/go-logr/zapr.(*zapLogger).Error\n\tpkg/mod/github.com/go-logr/[email protected]/zapr.go:128\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler\n\tpkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:258\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\tpkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:232\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).worker\n\tpkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:211\nk8s.io/apimachinery/pkg/util/wait.BackoffUntil.func1\n\tpkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:155\nk8s.io/apimachinery/pkg/util/wait.BackoffUntil\n\tpkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:156\nk8s.io/apimachinery/pkg/util/wait.JitterUntil\n\tpkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:133\nk8s.io/apimachinery/pkg/util/wait.Until\n\tpkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:90"}
Observando lo mismo.
Después de actualizar microk8s a 1.22 y luego intentar implementar el operador 0.13, el contenedor del operador se actualizó, pero parece tener errores cuando intenta actualizar el módulo awx
"job":"6175742077372812453","name":"awx","namespace":"default","error":"exit status 2","stacktrace":"github.com/go-logr/zapr.(*zapLogger).Error\n\tpkg/mod/github.com/go-logr/[email protected]/zapr.go:128\ngithub.com/operator-framework/operator-sdk/pkg/ansible/runner.(*runner).Run.func1\n\tsrc/github.com/operator-framework/operator-sdk/pkg/ansible/runner/runner.go:239"}
{"level":"error","ts":1629084951.678016,"logger":"controller-runtime.controller","msg":"Reconciler error","controller":"awx-controller","request":"default/awx","error":"event runner on failed","stacktrace":"github.com/go-logr/zapr.(*zapLogger).Error\n\tpkg/mod/github.com/go-logr/[email protected]/zapr.go:128\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler\n\tpkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:258\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\tpkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:232\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).worker\n\tpkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:211\nk8s.io/apimachinery/pkg/util/wait.BackoffUntil.func1\n\tpkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:155\nk8s.io/apimachinery/pkg/util/wait.BackoffUntil\n\tpkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:156\nk8s.io/apimachinery/pkg/util/wait.JitterUntil\n\tpkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:133\nk8s.io/apimachinery/pkg/util/wait.Until\n\tpkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:90"}
el awx yaml es extremadamente básico:
---
apiVersion: awx.ansible.com/v1beta1
kind: AWX
metadata:
name: awx
spec:
task_privileged: true
Charlando con algunas personas del equipo operator-sdk.
Parece que esto podría deberse al hecho de que nuestro operador se basa en la versión 0.19 del sdk.
cc @Spredzy @rooftopcellist
Confirmado con el equipo operator-sdk que los operadores basados en 0.x no funcionarán en la versión más nueva de kubernetes. Hemos dado prioridad a superar esto en algún momento a corto plazo. Cualquier actualización se publicará aquí.
Puedo confirmar que este problema existe en la versión 1.22.1.
Volver a la versión 1.21.3 resuelve el problema 🥳
Con la adición de este PR - https://github.com/ansible/awx-operator/pull/508 , puedo implementar la aplicación awx-operator y awx en un clúster Openshift 4.9 (k8s v1.22.0).
$ oc version
Client Version: 4.6.8
Server Version: 4.9.0-0.nightly-2021-08-23-224104
Kubernetes Version: v1.22.0-rc.0+5c2f7cd
Todos los contenedores se están ejecutando y puedo iniciar sesión y ejecutar un trabajo desde la interfaz de usuario.
Para utilizar esta solución, deberá crear la imagen del operador awx desde devel en este momento, ya que aún no se ha eliminado una versión con esta solución.
También pude implementar 0.19.3 editando https://raw.githubusercontent.com/ansible/awx-operator/devel/deploy/awx-operator.yaml
a:
...
containers:
- name: awx-operator
image: 'quay.io/ansible/awx-operator:devel'
env:
- name: WATCH_NAMESPACE
- name: POD_NAME
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: metadata.name
- name: OPERATOR_NAME
value: awx-operator
- name: ANSIBLE_GATHERING
value: explicit
- name: OPERATOR_VERSION
value: devel
- name: ANSIBLE_DEBUG_LOGS
value: 'false'
...
observe los cambios en la etiqueta image
y OPERATOR_VERSION
a devel
y aplíquelo
¡Gracias!
Comentario más útil
Observando lo mismo.
Después de actualizar microk8s a 1.22 y luego intentar implementar el operador 0.13, el contenedor del operador se actualizó, pero parece tener errores cuando intenta actualizar el módulo awx
el awx yaml es extremadamente básico: