这个错误表明你尝试添加的 Helm 仓库 URL 无法访问,或者 index.yaml
文件不存在,可能是 AWX Operator 的 Helm 仓库已经变更或不再支持这个 URL。
根据 AWX Operator 项目的最新文档,它不再使用 Helm 作为主要的安装方式,而是通过直接应用 Kubernetes 自定义资源(CRD)和 Operator 来安装。你可以按照以下步骤来安装 AWX Operator,而不需要使用 Helm。
安装 AWX Operator(推荐方法)
-
安装 Kubernetes Operator(通过
kubectl
方式)首先,确保你有一个 Kubernetes 集群并且
kubectl
已经正确配置。 -
克隆 AWX Operator 仓库
你可以直接从 GitHub 上克隆 AWX Operator 仓库:
git clone https://github.com/ansible/awx-operator.git cd awx-operator
-
部署 AWX Operator
使用
kustomize
来应用 AWX Operator:export NAMESPACE=awx # 你可以选择其他命名空间 kubectl create namespace $NAMESPACE kubectl config set-context --current --namespace=$NAMESPACE kubectl apply -k awx-operator/config/default
这会在你指定的命名空间中部署 AWX Operator。
-
创建 AWX 实例
创建一个
awx.yaml
文件来定义 AWX 实例:apiVersion: awx.ansible.com/v1beta1 kind: AWX metadata: name: awx spec: service_type: nodeport ingress_type: none hostname: awx.example.com # 你可以修改为你的主机名 postgres_storage_class: "standard" # 你的存储类名称 postgres_storage_requirements: requests: storage: 10Gi # PostgreSQL 存储大小
然后应用这个 YAML 文件:
kubectl apply -f awx.yaml
-
检查 AWX 状态
使用以下命令来检查 AWX Operator 和 AWX 实例的状态:
kubectl get pods -n $NAMESPACE
总结
AWX Operator 项目不再通过 Helm Chart 来安装。你可以通过直接克隆 AWX Operator 仓库并使用 kubectl
或 kustomize
来安装。如果你还想要使用 Helm,可以考虑其他社区提供的解决方案,或使用上面的官方推荐方法。
如果storage class用的是hostpath,需要手动创建pv
cat hostpath.yaml
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: standard # 存储类名称,可以在配置中引用
provisioner: kubernetes.io/no-provisioner
volumeBindingMode: Immediate
cat pv.yaml
apiVersion: v1
kind: PersistentVolume
metadata:
name: local-pv2
spec:
capacity:
storage: 10Gi
volumeMode: Filesystem
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
storageClassName: standard # 与 PVC 的 storageClassName 匹配
local:
path: /mnt/data # 本地存储路径
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname # 节点的主机名
operator: In
values:
- node1 # 指定存储的节点名称
登录方式
kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
awx-demo-postgres-13 ClusterIP None
awx-demo-postgres-15 ClusterIP None
awx-operator-controller-manager-metrics-service ClusterIP 172.16.0.86
awx-postgres-15 ClusterIP None
awx-service NodePort 172.16.0.213
访问地址
clusterip:30459
密码:
kubectl get secret awx-admin-password -o jsonpath="{.data.password}" | base64 --decode
标签:kubectl,AWX,oprator,awx,storage,Operator,GPT,Helm
From: https://www.cnblogs.com/jasmine456/p/18408486