You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

通过ArgoCD部署到K8s的应用与Ingress为何卡在Progressing状态?

问题描述

我在WSL2中单独运行Docker引擎(未使用Windows Docker Desktop),通过kind创建了Kubernetes集群,集群内部署了ArgoCD服务器。我构建了一个监听8083端口的Demo应用,访问localhost:8083时返回"Hello, World"消息。

我通过以下配置将应用部署到ArgoCD:

ArgoCD应用配置(demo-app-chart.yaml)

apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: demo-app
  namespace: argocd
spec:
  source:
    path: manifests
    repoURL: (存储YAML脚本的GitHub仓库地址)
    targetRevision: HEAD
  destination:
    server: 'https://kubernetes.default.svc'
    namespace: default # kube-system
  project: default
  syncPolicy:
    automated:
      prune: true

仓库中的K8s资源配置

Deployment

apiVersion: apps/v1
kind: Deployment
metadata:
  name: demo-app
spec:
  replicas: 2
  selector:
    matchLabels:
      app: demo-app
  template:
    metadata:
      labels:
        app: demo-app
    spec:
      containers:
      - image: (Docker Hub中的镜像路径)
        name: demo-app
        ports:
        - containerPort: 8083

Service

apiVersion: v1
kind: Service
metadata:
  name: demo-app-service
spec:
  ports:
  - port: 8083
    protocol: TCP
    targetPort: 8083
  selector:
    app: demo-app
  type: NodePort

Ingress

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: demo-app-ingress
spec:
  rules:
  - host: kind.cluster.internal
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: demo-app-service
            port:
              number: 8083

遇到的问题

应用已部署,Service、Deployment和Pods的同步及健康状态均正常,但Application和Ingress资源同步状态正常,健康状态卡在"Progressing"。

我尝试获取集群IP:

$ docker ps
CONTAINER ID   IMAGE                  COMMAND                  CREATED             STATUS             PORTS                                                                                         NAMES
03f01542d6e5   kindest/node:v1.27.3   "/usr/local/bin/entr…"   About an hour ago   Up About an hour   0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp, 0.0.0.0:8080->8080/tcp, 127.0.0.1:35235->6443/tcp   my-super-cluster-control-plane
$ docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' my-super-cluster-control-plane
172.18.0.2

并将集群IP添加到WSL的/etc/hosts文件:

172.18.0.2      kind.cluster.internal

但状态仍无变化。

服务状态如下:

$ kubectl get services
NAME               TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)          AGE
demo-app-service   NodePort    10.96.110.156   <none>        8083:31707/TCP   43m
kubernetes         ClusterIP   10.96.0.1       <none>        443/TCP          86m

更新信息

查看Ingress详情时发现没有"Address",仅显示端口80:

$ kubectl get ingress
NAME               CLASS    HOSTS                   ADDRESS   PORTS   AGE
demo-app-ingress   <none>   kind.cluster.internal             80      8h
$ kubectl describe ingress demo-app-ingress
Name:             demo-app-ingress
Labels:           app.kubernetes.io/instance=demo-app
Namespace:        default
Address:
Ingress Class:    <none>
Default backend:  <default>
Rules:
  Host                   Path  Backends
  ----                   ----  --------
  kind.cluster.internal
                         /   demo-app-service:8083 (10.244.0.2:8083,10.244.0.8:8083)
Annotations:             <none>
Events:                  <none>

我认为需要进行路由映射,但不知道具体操作方法,寻求帮助。


内容的提问来源于stack exchange,提问作者Mauricio Ramírez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 19:45:03