AWX Operator kann nach dem Upgrade von k8s 1.21.3 auf 1.22.0 . keine awx-pods erstellen
Hat vorher gut funktioniert.
Ab 1.21.3 awx-operator installieren und awx einrichten. Es funktioniert gut.
Upgrade auf 1.22.0
Beenden Sie die awx-Bereitstellung und erstellen Sie sie neu.
pods awx postgres ist online
Pods Awx-Server ist nicht aktiv
AWX sollte im laufenden Zustand sein
Nur awx postgres ist online
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
Yaml-Datei, die ich zum Erstellen von Pods verwende:
---
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"}
Gleiches beobachten.
Nach dem Aktualisieren von microk8s auf 1.22 und dem anschließenden Versuch, Operator 0.13 bereitzustellen, wurde der Operator-Container aktualisiert, aber es scheint, dass beim Versuch, den awx-Pod zu aktualisieren, Fehler auftreten
"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"}
die awx yaml ist extrem einfach:
---
apiVersion: awx.ansible.com/v1beta1
kind: AWX
metadata:
name: awx
spec:
task_privileged: true
Chatten mit einigen Leuten vom Operator-sdk-Team.
Dies scheint darauf zurückzuführen zu sein, dass unser Operator auf der Version 0.19 des SDK basiert.
cc @Spredzy @rooftopcellist
Vom Operator-sdk-Team bestätigt, dass Operatoren, die auf 0.x basieren, auf der neueren Version von Kubernetes nicht funktionieren werden. Wir haben es priorisiert, dies irgendwann in naher Zukunft zu heben. Alle Updates werden hier veröffentlicht.
Ich kann bestätigen, dass dieses Problem in Version 1.22.1 besteht.
Die Rückkehr zu Version 1.21.3 behebt das Problem 🥳
Mit dem Hinzufügen dieser PR - https://github.com/ansible/awx-operator/pull/508 kann ich den awx-operator und die awx-App auf einem Openshift 4.9-Cluster (k8s v1.22.0) bereitstellen.
$ 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
Alle Container werden ausgeführt und ich kann mich anmelden und einen Job über die Benutzeroberfläche ausführen.
Um diesen Fix zu verwenden, müssen Sie derzeit das awx-Operator-Image von devel erstellen, da eine Version mit diesem Fix noch nicht geschnitten wurde.
Ich konnte auch 0.19.3 bereitstellen, indem ich https://raw.githubusercontent.com/ansible/awx-operator/devel/deploy/awx-operator.yaml
bearbeitete:
...
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'
...
Änderungen am Tag image
und OPERATOR_VERSION
in devel
notieren und anwenden
Danke!
Hilfreichster Kommentar
Gleiches beobachten.
Nach dem Aktualisieren von microk8s auf 1.22 und dem anschließenden Versuch, Operator 0.13 bereitzustellen, wurde der Operator-Container aktualisiert, aber es scheint, dass beim Versuch, den awx-Pod zu aktualisieren, Fehler auftreten
die awx yaml ist extrem einfach: