1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

awx-operatorを使ってk8s上にAWXをデプロイする

Last updated at Posted at 2021-04-24

執筆日: 2021-04-24

環境

OS: Ubuntu 20.10
K8s: MicroK8s

MicroK8sインストール

Kubernetes環境を他の方法で用意した場合はこの章をスキップ

参考: https://microk8s.io/

1コマンドで完了

# snap install microk8s --classic

しばらく時間が掛かるので放置する。microk8sが使えるようになると以下のコマンドが実施できる

# microk8s status
microk8s is running
high-availability: no
  datastore master nodes: 127.0.0.1:19001
  datastore standby nodes: none
addons:
  enabled:
    dns                  # CoreDNS
    ha-cluster           # Configure high availability on the current node
    storage              # Storage class; allocates storage from host directory
  disabled:
    ambassador           # Ambassador API Gateway and Ingress
    cilium               # SDN, fast with full network policy
    dashboard            # The Kubernetes dashboard
    fluentd              # Elasticsearch-Fluentd-Kibana logging and monitoring
    gpu                  # Automatic enablement of Nvidia CUDA
    helm                 # Helm 2 - the package manager for Kubernetes
    helm3                # Helm 3 - Kubernetes package manager
    host-access          # Allow Pods connecting to Host services smoothly
    ingress              # Ingress controller for external access
    istio                # Core Istio service mesh services
    jaeger               # Kubernetes Jaeger operator with its simple config
    keda                 # Kubernetes-based Event Driven Autoscaling
    knative              # The Knative framework on Kubernetes.
    kubeflow             # Kubeflow for easy ML deployments
    linkerd              # Linkerd is a service mesh for Kubernetes and other frameworks
    metallb              # Loadbalancer for your Kubernetes cluster
    metrics-server       # K8s Metrics Server for API access to service metrics
    multus               # Multus CNI enables attaching multiple network interfaces to pods
    portainer            # Portainer UI for your Kubernetes cluster
    prometheus           # Prometheus operator for monitoring and logging
    rbac                 # Role-Based Access Control for authorisation
    registry             # Private image registry exposed on localhost:32000
    traefik              # traefik Ingress controller for external access

  • AWX用のPostgresがPVCを必要とする
  • WebGUIとPostgresがPod間の名前解決を必要とする

上記の理由から以下のコマンドでCoreDNS/Storageを有効化しておく

# microk8s enable dns storage

AWXのインストール

参考: https://github.com/ansible/awx/blob/devel/INSTALL.md

awx-operatorの適用

現時点でのawx-opperatorの最新タグが0.8.0のため、以下コマンドでoperatorをインストール

# kubectl apply -f https://raw.githubusercontent.com/ansible/awx-operator/0.8.0/deploy/awx-operator.yaml

OperatorのPodが起動するまで放置

AWXデプロイ

AWX用のnamespaceを作成してデプロイする

# cat awx.yaml 
apiVersion: awx.ansible.com/v1beta1
kind: AWX
metadata:
  name: awx
  namespace: awx
spec:
  tower_ingress_type: Ingress
# kubectl create ns awx
# kubectl apply -f awx.yaml

デプロイ完了まで放置
AWXのWebGUIのアクセスURLは以下で確認する
NodePortが30195なので、Webブラウザからhttp://localhost:30195にアクセスすることでAWXのトップページにアクセスできる。

# kubectl get svc -n awx
NAME           TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)        AGE
awx-postgres   ClusterIP   None             <none>        5432/TCP       39m
awx-service    NodePort    10.152.183.252   <none>        80:30195/TCP   38m

Pod起動後はAWX自体のアップグレード処理が内部で走るため、こちらもしばらく放置することになる。
処理が完了すると、ログイン画面が表示される

Screenshot from 2021-04-24 13-29-26.png

adminユーザーのパスワードは以下で確認可能。

# kubectl get secret awx-admin-password -o jsonpath='{.data.password}' | base64 --decode

adminユーザーでログインできないときは

インストールのとき試行錯誤したためか、ログインに失敗した。このときはadminではないsuperuserを新たに作成することで対応した。

# kubectl exec -n awx pod/awx-b5f6cf4d4-sqmsd --container awx-web -it awx-manage createsuperuser

参考: https://github.com/ansible/awx-operator/issues/123

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?