自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何在 Kubernetes 集群上安裝 Ansible AWX

系統(tǒng) Linux
在本文中,我們將逐步向你展示如何在 Kubernetes(k8s)集群上安裝 Ansible AWX。

Ansible AWX 是一個(gè)強(qiáng)大的開(kāi)源工具,用于管理和自動(dòng)化 IT 基礎(chǔ)設(shè)施。AWX 為 Ansible 提供圖形用戶界面,使你可以輕松創(chuàng)建、安排和運(yùn)行 Ansible 劇本Playbook。

另一方面,Kubernetes 是一種流行的容器編排平臺(tái),廣泛用于部署和管理容器化應(yīng)用。

先決條件:

  • Kubernetes 集群
  • Kubectl
  • 具有 sudo 權(quán)限和集群管理員權(quán)限的普通用戶
  • 互聯(lián)網(wǎng)連接

步驟 1:安裝 Helm

如果你的系統(tǒng)上安裝了 Helm,則在命令下運(yùn)行以進(jìn)行安裝,

$ curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3
$ chmod +x get_helm.sh
$ ./get_helm.sh
$ helm version

Install-helm-linux-command-line

Install-helm-linux-command-line

步驟 2:安裝 AWX chart

在 Kubernetes 上安裝 AWX 的最簡(jiǎn)單方法是使用 AWX Helm “海圖chart”。因此,要通過(guò) “海圖” 安裝 AWX,首先使用以下 helm 命令添加倉(cāng)庫(kù)。(LCTT 譯注:Kubernetes 生態(tài)中大量使用了和航海有關(guān)的比喻,因此本文在翻譯時(shí)也采用了這些比喻)

$ helm repo add awx-operator https://ansible.github.io/awx-operator/
"awx-operator" has been added to your repositories
$

注意:如果你之前已經(jīng)添加過(guò)此倉(cāng)庫(kù),請(qǐng)?jiān)诿钕逻\(yùn)行以獲取最新版本的軟件包。

$ helm repo update

要通過(guò) Helm 安裝 awx-operator,請(qǐng)運(yùn)行:

$ helm install ansible-awx-operator awx-operator/awx-operator -n awx --create-namespace

helm-install-awx-operator-kubernetes

helm-install-awx-operator-kubernetes

這將下載 AWX 海圖并將其安裝在 awx 命名空間中的 Kubernetes 集群上。安裝過(guò)程可能需要幾分鐘,請(qǐng)耐心等待。

步驟 3:驗(yàn)證 AWX 操作員安裝

安裝成功后,你可以通過(guò)運(yùn)行以下命令來(lái)驗(yàn)證 AWX 操作員operator

$ sudo kubectl get pods -n awx

你應(yīng)該看到這樣的東西:

awx-operator-pod-status-kubectl

awx-operator-pod-status-kubectl

步驟 4: 創(chuàng)建 PV、PVC 并部署 AWX yaml 文件

AWX 需要 postgres 容器莢pod

注意:在本文中,我使用本地文件系統(tǒng)作為持久卷。

$ vi local-storage-class.yaml
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: local-storage
  namespace: awxprovisioner: kubernetes.io/no-provisioner
volumeBindingMode: WaitForFirstConsumer

保存并關(guān)閉文件,然后運(yùn)行:

$ kubectl create -f local-storage-class.yaml
$ kubectl get sc -n awx
NAME            PROVISIONER                    RECLAIMPOLICY   VOLUMEBINDINGMODE      ALLOWVOLUMEEXPANSION   
local-storage   kubernetes.io/no-provisioner   Delete          WaitForFirstConsumer   false                 
$

接下來(lái)使用以下 pv.yaml 文件創(chuàng)建持久卷(PV):

$ vi pv.yaml
apiVersion: v1
kind: PersistentVolume
metadata:
  name: postgres-pv
  namespace: awx
spec:
  capacity:
    storage: 10Gi
  volumeMode: Filesystem
  accessModes:
  - ReadWriteOnce
  persistentVolumeReclaimPolicy: Delete
  storageClassName: local-storage
  local:
    path: /mnt/storage
  nodeAffinity:
    required:
      nodeSelectorTerms:
      - matchExpressions:
        - key: kubernetes.io/hostname
          operator: In
          values:
          - k8s-worker

保存并退出文件。

Postgres-pv-awx-kubernetes

Postgres-pv-awx-kubernetes

重要說(shuō)明:確保文件夾 /mnt/storage 存在于工作節(jié)點(diǎn)上,如果不存在,則在工作節(jié)點(diǎn)上使用 mkdir 命令創(chuàng)建它。在我們的例子中,工作節(jié)點(diǎn)是 k8s-worker

執(zhí)行下面的命令在 awx 命名空間中創(chuàng)建 postgres-pv。

$ kubectl create -f pv.yaml

成功創(chuàng)建 PV 后,使用 pvc.yaml 文件創(chuàng)建 PersistentVolumeClaim:

$ vi  pvc.yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: postgres-13-ansible-awx-postgres-13-0
  namespace: awx
spec:
  storageClassName: local-storage
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 10Gi

posgres-pvc-awx-kubernetes

posgres-pvc-awx-kubernetes

要?jiǎng)?chuàng)建 PVC,請(qǐng)運(yùn)行以下 kubectl 命令:

$ kubectl create -f pvc.yaml

使用下面的命令驗(yàn)證 PV 和 PVC 的狀態(tài):

$ kubectl get pv,pvc -n awx

現(xiàn)在,我們都準(zhǔn)備好部署 AWX 實(shí)例了。創(chuàng)建一個(gè)包含以下內(nèi)容的 ansible-awx.yaml 文件:

$ vi ansible-awx.yaml
---
apiVersion: awx.ansible.com/v1beta1
kind: AWX
metadata:
  name: ansible-awx
  namespace: awx
spec:
  service_type: nodeport
  postgres_storage_class: local-storage

Ansible-awx-yaml-file

Ansible-awx-yaml-file

保存并關(guān)閉文件。

執(zhí)行以下 kubectl 命令來(lái)部署 awx 實(shí)例:

$ kubectl create -f ansible-awx.yaml

等待幾分鐘,然后檢查 awx 命名空間中的容器莢狀態(tài)。

$ kubectl get pods -n awx

Ansible-AWX-Pods-Status-Kubernetes

Ansible-AWX-Pods-Status-Kubernetes

步驟 5:訪問(wèn) AWX Web 界面

要訪問(wèn) AWX Web 界面,你需要?jiǎng)?chuàng)建一個(gè)公開(kāi) awx-web 部署的服務(wù):

$ kubectl expose deployment ansible-awx-web --name ansible-awx-web-svc --type NodePort -n awx

此命令將創(chuàng)建一個(gè) NodePort 服務(wù),該服務(wù)將 AWX Web 容器的端口映射到 Kubernetes 節(jié)點(diǎn)上的端口。你可以通過(guò)運(yùn)行以下命令找到端口號(hào):

$ kubectl get svc ansible-awx-web-svc  -n awx

這將輸出如下內(nèi)容:

NAME                 TYPE       CLUSTER-IP      EXTERNAL-IP   PORT(S)          AGE
ansible-awx-web-svc   NodePort   10.99.83.248   <none>        8052:32254/TCP   82s

在此示例中,Web 服務(wù)在端口 32254 上可用。

Expose-Ansible-AWX-Web-NodePort-Kubernetes

Expose-Ansible-AWX-Web-NodePort-Kubernetes

默認(rèn)情況下,admin 用戶是 Web 界面的 admin,密碼在 <resourcename>-admin-password 機(jī)密信息中。要檢索管理員密碼,請(qǐng)運(yùn)行:

$ kubectl get secrets -n awx | grep -i admin-password
ansible-awx-admin-password        Opaque               1      109m
$
$ kubectl get secret ansible-awx-admin-password -o jsonpath="{.data.password}" -n awx | base64 --decode ; echo
l9mWcIOXQhSKnzZQyQQ9LZf3awDV0YMJ
$

你現(xiàn)在可以打開(kāi) Web 瀏覽器并進(jìn)入 http://<node-ip>:<node-port>/ 來(lái)訪問(wèn) AWX Web 界面。在上面的示例中,URL 是:

http://192.168.1.223:3225

AWX-Login-URL-Kubernetes

AWX-Login-URL-Kubernetes

輸入憑據(jù)后單擊登錄。

Ansible-AWX-Web-Dashboard

Ansible-AWX-Web-Dashboard

恭喜! 你已在 Kubernetes 上成功安裝 Ansible AWX。你現(xiàn)在可以使用 AWX 來(lái)自動(dòng)化你的 IT 基礎(chǔ)架構(gòu),并讓你作為系統(tǒng)管理員的生活更輕松。


責(zé)任編輯:龐桂玉 來(lái)源: Linux中國(guó)
相關(guān)推薦

2019-09-08 17:04:00

DebianLinuxAnsible

2022-11-30 09:39:44

KubeadmDebian 11Kubernetes

2022-03-17 14:56:26

KubernetesMinikubeLinux

2024-07-22 15:49:07

KubernetesRedis

2019-07-12 16:28:32

MacKubernetes

2021-08-09 09:00:00

Kubernetes云計(jì)算架構(gòu)

2022-02-17 11:08:00

KubernetesMySQL運(yùn)維

2014-06-30 09:27:17

UbuntuTomcat集群

2023-07-29 11:54:44

KuberneteNFS

2019-12-02 15:45:53

CentOS 8AnsibleLinux

2020-04-21 14:21:31

LinuxPython

2023-11-26 16:23:16

FedoraVSCodium

2019-07-22 08:05:21

MacOSElasticsear

2020-06-22 08:50:15

WindowsPython編程語(yǔ)言

2020-07-08 15:29:05

MacJava編程語(yǔ)言

2019-08-30 11:20:28

UbuntuVirtualBoxLinux

2018-10-15 15:23:50

UbuntupipPython

2023-08-08 12:38:52

2021-10-12 08:43:19

LinuxSambaWindows

2024-01-04 11:50:00

UbuntuDocker
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)