AWX ์ด์์๋ k8s 1.21.3์์ 1.22.0์ผ๋ก ์
๊ทธ๋ ์ด๋ํ ํ awx-pods๋ฅผ ์์ฑํ ์ ์์ต๋๋ค.
์ ์ ์ํ์ต๋๋ค.
1.21.3์์ awx-operator๋ฅผ ์ค์นํ๊ณ awx๋ฅผ ์ค์ ํฉ๋๋ค. ์ ์๋ํฉ๋๋ค.
1.22.0์ผ๋ก ์
๊ทธ๋ ์ด๋
awx ๋ฐฐํฌ ์ข
๋ฃ ๋ฐ ์ฌ์์ฑ
ํฌ๋ awx postgres๊ฐ ์คํ ์ค์
๋๋ค.
ํฌ๋ 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๋ก ์ ๋ฐ์ดํธํ ๋ค์ operator 0.13์ ๋ฐฐํฌํ๋ ค๊ณ ์๋ํ ํ operator ์ปจํ ์ด๋๊ฐ ์ ๊ทธ๋ ์ด๋๋์์ง๋ง 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 ํ์ ์ผ๋ถ ์ฌ๋๋ค๊ณผ ์ฑํ .
์ด๊ฒ์ ์ฐ๋ฆฌ ์ฐ์ฐ์๊ฐ sdk์ ๋ฒ์ 0.19๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ตฌ์ถ๋์๋ค๋ ์ฌ์ค์ ๊ธฐ์ธํ ๊ฒ ๊ฐ์ต๋๋ค.
cc @Spredzy @rooftopcellist
0.x๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ตฌ์ถ๋ ์ด์์๋ ์ต์ ๋ฒ์ ์ kubernetes์์ ์๋ํ์ง ์์ ๊ฒ์์ operator-sdk ํ๊ณผ ํ์ธํ์ต๋๋ค. ์ฐ๋ฆฌ๋ ๊ฐ๊น์ด ์์ผ ๋ด์ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๊ฒ์ ์ฐ์ ์ํ์ต๋๋ค. ๋ชจ๋ ์ ๋ฐ์ดํธ๊ฐ ์ฌ๊ธฐ์ ๊ฒ์๋ฉ๋๋ค.
์ด ๋ฌธ์ ๊ฐ ๋ฒ์ 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
๋ชจ๋ ์ปจํ ์ด๋๊ฐ ์คํ ์ค์ด๋ฉฐ UI์์ ๋ก๊ทธ์ธํ์ฌ ์์ ์ ์คํํ ์ ์์ต๋๋ค.
์ด ์์ ์ฌํญ์ ์ฌ์ฉํ๋ ค๋ฉด ์ด ์์ ์ฌํญ์ด ํฌํจ๋ ๋ฆด๋ฆฌ์ค๊ฐ ์์ง ์ญ์ ๋์ง ์์์ผ๋ฏ๋ก ํ์ฌ devel์์ awx-operator ์ด๋ฏธ์ง๋ฅผ ๋น๋ํด์ผ ํฉ๋๋ค.
๋ํ https://raw.githubusercontent.com/ansible/awx-operator/devel/deploy/awx-operator.yaml
๋ฅผ ๋ค์๊ณผ ๊ฐ์ด ํธ์งํ์ฌ 0.19.3์ ๋ฐฐํฌํ ์ ์์์ต๋๋ค.
...
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๋ก ์ ๋ฐ์ดํธํ ๋ค์ operator 0.13์ ๋ฐฐํฌํ๋ ค๊ณ ์๋ํ ํ operator ์ปจํ ์ด๋๊ฐ ์ ๊ทธ๋ ์ด๋๋์์ง๋ง awx ํฌ๋๋ฅผ ์ ๊ทธ๋ ์ด๋ํ๋ ค๊ณ ํ ๋ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ ๊ฒ ๊ฐ์ต๋๋ค.
awx yaml์ ๋งค์ฐ ๊ธฐ๋ณธ์ ์ ๋๋ค.