以前はDockerでAWX構築できたけどKubernetes上で動かすようになったみたい
とりあえず使いたいからAWXをデプロイしたい
概要
- RHEL8にK3sをインストールしてAWXをデプロイします
環境
- OS
- K3s
- v1.25.6+k3s1
- AWX
- 21.12.0
- AWXの推奨要件はこちらを確認
- AWX Operator
- 1.2.0
AWXをK3sにデプロイ
K3sのデプロイ
K3sの公式手順に従いインストールを実施
# K3sをインストール curl -sfL https://get.k3s.io | sh - # NodeのSTATUSが`Ready`であることを確認する sudo k3s kubectl get node
AWXのデプロイ
Kustomizeのインストール
curl -s "https://raw.githubusercontent.com/kubernetes-sigs/kustomize/master/hack/install_kustomize.sh" | bash
マニフェストファイル
kustomization.yml
を作成- 使用するAWX OperatorバージョンはGithubのtagバージョンから選んで書き換えてください。
- 今回は
1.2.0
を使用します
--- apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization resources: - github.com/ansible/awx-operator/config/default?ref=1.2.0 images: - name: quay.io/ansible/awx-operator newTag: 1.2.0 namespace: awx
マニフェストファイル
kustomization.yml
の適用./kustomize build . | kubectl apply -f -
マニフェストファイル
awx.yml
を作成--- apiVersion: awx.ansible.com/v1beta1 kind: AWX metadata: name: awx spec: service_type: nodeport nodePort_port: 30080
マニフェストファイル
kustomization.yml
にAWXのマニフェストファイル名を追加--- apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization resources: - github.com/ansible/awx-operator/config/default?ref=1.2.0 - awx.yml images: - name: quay.io/ansible/awx-operator newTag: 1.2.0 namespace: awx
マニフェストファイルを再度適用
./kustomize build . | kubectl apply -f -
Podが起動しているか確認
- STATUSが
Running
であることを確認する
kubectl get pods -l "app.kubernetes.io/managed-by=awx-operator" -n awx --- NAME READY STATUS RESTARTS AGE awx-postgres-13-0 1/1 Running 0 79m awx-785589d6c7-hlmth 4/4 Running 0 78m
- STATUSが
awx-serviceで公開しているPortを確認
kubectl get svc -l "app.kubernetes.io/managed-by=awx-operator" -n awx --- NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE awx-postgres-13 ClusterIP None <none> 5432/TCP 81m awx-service NodePort 10.43.36.159 <none> 80:30080/TCP 80m
AWXの管理画面にログインするため、adminの初期パスワードを確認
kubectl get -n awx secret awx-admin-password -o jsonpath="{.data.password}" | base64 --decode
ブラウザで
http://<サーバのIP>:30080
にアクセスし、ログインする。- ユーザー名:admin
- パスワード:確認したadminの初期パスワード