Awx-operator: AWX Operator kann nach dem Upgrade von k8s 1.21.3 auf 1.22.0 . keine Pods erstellen

Erstellt am 11. Aug. 2021  ·  6Kommentare  ·  Quelle: ansible/awx-operator

AUSGABETYP
  • Fehlerbericht
ZUSAMMENFASSUNG

AWX Operator kann nach dem Upgrade von k8s 1.21.3 auf 1.22.0 . keine awx-pods erstellen
Hat vorher gut funktioniert.

UMGEBUNG
  • AWX-Version: 19.2.2
  • Betreiberversion: 0.12.0
  • Kubernetes-Version: v1.22.0
  • AWX-Installationsmethode: On-Premise mit Ubuntu 20.04 und Docker
SCHRITTE ZUM REPRODUZIEREN

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

ERWARTETE ERGEBNISSE

AWX sollte im laufenden Zustand sein

TATSÄCHLICHE ERGEBNISSE

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
ZUSÄTZLICHE INFORMATION

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
AWX-BEDIENERLOGS
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"}

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

"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

Alle 6 Kommentare

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.

image

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!

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen