Оператор AWX не может создавать awx-pods после обновления k8s 1.21.3 до 1.22.0
Хорошо работал раньше.
Начиная с версии 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
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
Беседа с некоторыми людьми из команды 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
Все контейнеры запущены, и я могу войти в систему и запустить задание из пользовательского интерфейса.
Чтобы использовать это исправление, вам нужно будет собрать образ 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
и примените их
Спасибо!
Самый полезный комментарий
Наблюдая то же самое.
После обновления microk8s до 1.22 и последующей попытки развертывания оператора 0.13 контейнер оператора обновился, но, похоже, выдает ошибки при попытке обновить модуль awx.
awx yaml чрезвычайно прост: