我是 kubernetes 的新手,所以提前为任何愚蠢的问题和错误道歉。我正在尝试通过 ArgoCD 的入口设置外部访问。我的设置是一个 aws eks 集群。我按照此处的指南设置了 alb 。我还设置了外部 dns 服务,如此处所述。我还遵循了该指南中的验证步骤,并且能够确认 dns 记录也已创建,并且我能够访问 foo 服务。
对于 argoCD,我通过以下方式安装了清单
kubectl create namespace argocd
kubectl apply -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml -n argocd
argoCD 文档提到添加一个服务来拆分 http 和 grpc 以及一个入口设置。我也跟着安装了
apiVersion: v1
kind: Service
metadata:
annotations:
alb.ingress.kubernetes.io/backend-protocol-version: HTTP2
external-dns.alpha.kubernetes.io/hostname: argocd.<mydomain.com>
labels:
app: argogrpc
name: argogrpc
namespace: argocd
spec:
ports:
- name: "443"
port: 443
protocol: TCP
targetPort: 8080
selector:
app.kubernetes.io/name: argocd-server
sessionAffinity: None
type: ClusterIP
apiVersion: networking.k8s.io/v1 # Use extensions/v1beta1 for Kubernetes 1.18 and older
kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.class: alb
alb.ingress.kubernetes.io/scheme: internet-facing
alb.ingress.kubernetes.io/backend-protocol: HTTPS
alb.ingress.kubernetes.io/conditions.argogrpc: |
[{"field":"http-header","httpHeaderConfig":{"httpHeaderName": "Content-Type", "values":["application/grpc"]}}]
alb.ingress.kubernetes.io/listen-ports: '[{"HTTPS":443}]'
name: argocd
namespace: argocd
spec:
rules:
- host: argocd.<mydomain.com>
http:
paths:
- backend:
service:
name: argogrpc
port:
number: 443
pathType: ImplementationSpecific
- backend:
service:
name: argocd-server
port:
number: 443
pathType: ImplementationSpecific
tls:
- hosts:
- argocd.<mydomain.com>
定义已成功应用,但我没有看到创建的 dns 记录也没有列出任何外部 IP。我错过了任何步骤还是这里有任何错误配置?提前致谢!