argoCD - 入口无法正常工作的外部访问

Abh*_*hek 8 amazon-web-services kubernetes kubernetes-ingress aws-application-load-balancer argoproj

我是 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
Run Code Online (Sandbox Code Playgroud)

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
Run Code Online (Sandbox Code Playgroud)
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>
Run Code Online (Sandbox Code Playgroud)

定义已成功应用,但我没有看到创建的 dns 记录,也没有列出任何外部 IP。我是否遗漏了任何步骤或者这里有任何配置错误?提前致谢!

Joe*_*rra 3

服务类型需要是 NodePort。