Awx-operator: Оператор AWX не может создавать поды после обновления k8s 1.21.3 до 1.22.0

Созданный на 11 авг. 2021  ·  6Комментарии  ·  Источник: ansible/awx-operator

ТИП ПРОБЛЕМЫ
  • Сообщение об ошибке
РЕЗЮМЕ

Оператор AWX не может создавать awx-pods после обновления k8s 1.21.3 до 1.22.0
Хорошо работал раньше.

ОКРУЖАЮЩАЯ ОБСТАНОВКА
  • Версия AWX: 19.2.2
  • Версия оператора: 0.12.0
  • Версия Kubernetes: v1.22.0
  • Метод установки AWX: локально с ubuntu 20.04 и докером
ДЕЙСТВИЯ ПО ВОСПРОИЗВЕДЕНИЮ

Начиная с версии 1.21.3 установите awx-operator и настройте awx. Работает хорошо.
Обновление до 1.22.0
Убейте и воссоздайте развертывание awx
pods awx postgres запущен
Сервер pods awx не работает

ОЖИДАЕМЫЕ РЕЗУЛЬТАТЫ

AWX должен быть в рабочем состоянии

ФАКТИЧЕСКИЕ РЕЗУЛЬТАТЫ

Только awx postgres работает

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, который я использую для создания подов:

---
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-ОПЕРАТОРА
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"}

Самый полезный комментарий

Наблюдая то же самое.

После обновления microk8s до 1.22 и последующей попытки развертывания оператора 0.13 контейнер оператора обновился, но, похоже, выдает ошибки при попытке обновить модуль 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"}

awx yaml чрезвычайно прост:

---
apiVersion: awx.ansible.com/v1beta1
kind: AWX
metadata:
  name: awx
spec:
  task_privileged: true

Все 6 Комментарий

Наблюдая то же самое.

После обновления microk8s до 1.22 и последующей попытки развертывания оператора 0.13 контейнер оператора обновился, но, похоже, выдает ошибки при попытке обновить модуль 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"}

awx yaml чрезвычайно прост:

---
apiVersion: awx.ansible.com/v1beta1
kind: AWX
metadata:
  name: awx
spec:
  task_privileged: true

Беседа с некоторыми людьми из команды operator-sdk.

Похоже, это может быть вызвано тем фактом, что наш оператор построен на версии 0.19 пакета SDK.

cc @Spredzy @rooftopcellist

Подтверждено командой operator-sdk, что операторы, созданные на основе 0.x, не будут работать с новой версией kubernetes. Мы сделали это в ближайшем будущем. Любые обновления будут публиковаться здесь.

Я могу подтвердить, что эта проблема существует в версии 1.22.1.
Возврат к версии 1.21.3 решает проблему 🥳

С добавлением этого PR - https://github.com/ansible/awx-operator/pull/508 , я могу развернуть awx-operator и awx-приложение в кластере 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

Все контейнеры запущены, и я могу войти в систему и запустить задание из пользовательского интерфейса.

image

Чтобы использовать это исправление, вам нужно будет собрать образ awx-оператора из devel на данный момент, поскольку выпуск с этим исправлением еще не вырезан.

Мне также удалось развернуть 0.19.3, отредактировав https://raw.githubusercontent.com/ansible/awx-operator/devel/deploy/awx-operator.yaml на:

...
      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'
...

обратите внимание на изменения в тегах image и OPERATOR_VERSION на devel и примените их

Спасибо!

Была ли эта страница полезной?
0 / 5 - 0 рейтинги