3

我是 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。我错过了任何步骤还是这里有任何错误配置?提前致谢!

4

0 回答 0