跳至内容

Kind 上的 AWX 运算符

Kind 安装

运行以下命令安装 Kind。有关更多信息,请参阅官方 Kind 文档

# For Intel Macs
[ $(uname -m) = x86_64 ] && curl -Lo ./kind https://kind.kubernetes.ac.cn/dl/v0.20.0/kind-darwin-amd64
# For M1 / ARM Macs
[ $(uname -m) = arm64 ] && curl -Lo ./kind https://kind.kubernetes.ac.cn/dl/v0.20.0/kind-darwin-arm64
chmod +x ./kind
mv ./kind /some-dir-in-your-PATH/kind

创建 Kind 集群

创建一个名为 kind.config 的文件

apiVersion: kind.x-k8s.io/v1alpha4
kind: Cluster
nodes:
- role: control-plane
  extraPortMappings:
  - containerPort: 32000
    hostPort: 32000
    listenAddress: "0.0.0.0" # Optional, defaults to "0.0.0.0"
    protocol: tcp # Optional, defaults to tcp
- role: worker

然后使用该配置创建一个集群

kind create cluster --config=kind.config

设置 kubectl 的集群上下文

kubectl cluster-info --context kind-kind

安装 NGINX 入口控制器

kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/main/deploy/static/provider/kind/deploy.yaml

AWX

设置命名空间上下文

kubectl config set-context --current --namespace=awx

检出要从其安装的标签

git checkout 2.7.2

在本地 awx-operator 克隆的根目录中创建一个名为 kustomization.yaml 的文件。包含以下内容

apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
  # Find the latest tag here: https://github.com/ansible/awx-operator/releases
  - github.com/ansible/awx-operator/config/default?ref=2.7.2

# Set the image tags to match the git version from above
images:
  - name: quay.io/ansible/awx-operator
    newTag: 2.7.2

# Specify a custom namespace in which to install AWX
namespace: awx

运行以下命令以应用 yaml

kubectl apply -k .

创建一个名为 awx-cr.yaml 的文件,其内容如下,以及您可能希望添加的任何配置更改。

---
apiVersion: awx.ansible.com/v1beta1
kind: AWX
metadata:
  name: awx-demo
spec:
  service_type: nodeport
  nodeport_port: 32000

创建您的 AWX CR

kubectl create -f awx-cr.yaml

您的 AWX 实例现在应该可以通过 https://127.0.0.1:32000/ 访问

注意

如果您配置了自定义 nodeport_port,则可以通过运行 kubectl -n awx get svc awx-demo-service 找到它

清理

完成后,可以通过运行以下命令删除所有这些

kind delete cluster