相关疑难解决方法(0)

Nginx Ingress:未找到服务“ingress-nginx-controller-admission”

大约一年前,我们为一个客户创建了一个 kubernetes 集群,有两个环境;暂存和生产在命名空间中分开。我们目前正在开发应用程序的下一个版本,需要一个环境来进行这项开发工作,因此我们在自己的命名空间中创建了一个 beta 环境。

这是一个带有 MetalLB 和 nginx-ingress 的裸机 Kubernetes 集群。nginx 入口控制器与 helm 一起安装,入口是使用以下清单创建的(命名空间由我们的部署管道强制执行,在清单中不可见):

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: api-ingress
  annotations:
    #ingress.kubernetes.io/ssl-redirect: "true"
    #kubernetes.io/tls-acme: "true"
    #certmanager.k8s.io/issuer: "letsencrypt-staging"
    #certmanager.k8s.io/acme-challenge-type: http01
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/configuration-snippet: |
      more_set_headers "X-Robots-Tag: noindex, nofollow";
    nginx.ingress.kubernetes.io/enable-cors: "true"
    nginx.ingress.kubernetes.io/cors-allow-methods: "GET, OPTIONS"
    nginx.ingress.kubernetes.io/cors-allow-origin: "*"
    nginx.ingress.kubernetes.io/cors-allow-credentials: "true"
spec:
  tls:
    - hosts:
        - ${API_DOMAIN}
      secretName: api-cert
  rules:
    - host: ${API_DOMAIN}
      http:
        paths:
          - backend:
              serviceName: api
              servicePort: 80
Run Code Online (Sandbox Code Playgroud)

应用清单时 kubernetes 响应以下错误:

来自服务器的错误 (InternalError):创建“STDIN”时出错:发生内部错误:调用 webhook“validate.nginx.ingress.kubernetes.io”失败:发布https://ingress-nginx-controller-admission.ingress-nginx。 svc:443/extensions/v1beta1/ingresses?timeout=30s:找不到服务“ingress-nginx-controller-admission”

我试图将入口清单的 apiVersion 更新为 …

kubernetes nginx-ingress

46
推荐指数
3
解决办法
4万
查看次数

使用 WLS2 在 Docker 桌面上启用入口控制器

目前,我正在使用 Docker 桌面与WSL2集成。我发现Docker Desktop自动为我创建了一个集群。这意味着我不必安装和使用MinikubeKind来创建集群。问题是,如果我使用 Docker 桌面的“内置”集群,我如何启用Ingress Controller?我尝试创建一个Ingress来检查这是否有效,但正如我的猜测,它没有用。

我创建的 YAML 文件如下:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: webapp
spec:
  minReadySeconds: 30
  selector:
    matchLabels:
      app: webapp
  replicas: 1
  template:
    metadata:
      labels:
        app: webapp
    spec:
      containers:
      - name: webapp
        image: nodejs-helloworld:v1

--- 

apiVersion: v1
kind: Service
metadata:
  name: webapp-service

spec:
  selector: 
    app: webapp
  
  ports:
    - name: http
      port: 3000
      nodePort: 30090 # only for NotPort > 30,000
    
  type: NodePort #ClusterIP inside …
Run Code Online (Sandbox Code Playgroud)

docker kubernetes windows-subsystem-for-linux wsl-2

12
推荐指数
3
解决办法
9239
查看次数