创建"STDIN"时出现错误:运行skaffold dev时发生内部错误 [英] error when creating "STDIN": Internal error occurred while running skaffold dev

查看:116
本文介绍了创建"STDIN"时出现错误:运行skaffold dev时发生内部错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

因此,我在ubuntu中使用minikube v1.19.0,并在kubernetes中使用了nginx-ingress.我有两个节点文件:auth和分别制作了docker映像的客户端

我有4个kubernetes cinfig文件,如下所示:

auth-deply.yaml:

  apiVersion:apps/v1种类:部署元数据:名称:auth-depl规格:复制品:1选择器:matchLabels:应用程式:验证模板:元数据:标签:应用程式:验证规格:容器:-名称:auth图片:xyz/auth环境:-名称:JWT_KEYvalueFrom:secretKeyRef:名称:jwt-secret密钥:JWT_KEY---apiVersion:v1种类:服务元数据:名称:auth-srv规格:选择器:应用程式:验证端口:-名称:auth协议:TCP端口:3000targetPort:3000 

auth-moongo-depl.yaml:

  apiVersion:apps/v1种类:部署元数据:名称:auth-mongo-depl规格:选择器:matchLabels:应用:auth-mongo模板:元数据:标签:应用:auth-mongo规格:容器:-名称:auth-mongo图片:蒙哥---apiVersion:v1种类:服务元数据:名称:auth-mongo-srv规格:选择器:应用:auth-mongo端口:-名称:db协议:TCP端口:27017targetPort:27017 

client-depl.yaml:

  apiVersion:apps/v1种类:部署元数据:名称:client-depl规格:复制品:1选择器:matchLabels:应用:客户端模板:元数据:标签:应用:客户端规格:容器:-名称:客户图片:xyz/客户端---apiVersion:v1种类:服务元数据:名称:client-srv规格:选择器:应用:客户端端口:-名称:客户协议:TCP端口:3000targetPort:3000 

ingress-srv.yaml:

  apiVersion:extensions/v1beta1种类:入口元数据:名称:入口服务注释:kubernetes.io/ingress.class:nginxnginx.ingress.kubernetes.io/use-regex:'true'规格:规则:-主机:ticketing.devhttp:路径:-路径:/api/users/?(.*)后端:serviceName:auth-srvservicePort:3000- 小路:/?(.*)后端:serviceName:客户端-srvservicePort:3000 

skaffold.yaml:

  apiVersion:skaffold/v2alpha3种类:配置部署:kubectl:表现为:-./infra/k8s/*建造:当地的:推送:错误工件:-图片:xyz/auth上下文:身份验证码头工人:dockerfile:Dockerfile同步:手动的:-src:"src/**/*.ts"目的地:.-图片:xyz/客户端上下文:客户码头工人:dockerfile:Dockerfile同步:手动的:-src:"**/*.js"目的地:. 

现在,当我运行 skaffold dev 时,出现以下错误:

 列出要观看的文件...-xyz/auth-xyz/客户产生标签...-xyz/auth->xyz/auth:abcb6e4-xyz/客户->xyz/客户:abcb6e4正在检查快取...-xyz/auth:在本地找到-xyz/客户:在本地找到正在开始测试...部署中使用的标签:-xyz/auth->xyz/auth:370487d5c0136906178e602b3548ddba9db75106b22a1af238e02ed950ec3f21-xyz/客户->xyz/客户:a56ea90769d6f31e983a42e1c52275b8ea2480cb8905bf19b08738e0c34eafd3开始部署...-配置deploy.apps/auth-depl-配置了service/auth-srv-配置deploy.apps/auth-mongo-depl-配置了service/auth-mongo-srv-配置deploy.apps/client-depl-已配置服务/客户端-srv-警告:extensions/v1beta1 Ingress在v1.14 +中已被弃用,在v1.22 +中不可用;使用networking.k8s.io/v1入口-来自服务器的错误(InternalError):创建"STDIN"时发生错误:发生内部错误:调用webhook"validate.nginx.ingress.kubernetes.io"失败:服务器上的错误(")阻止了来自成功的请求退出开发模式,因为第一次部署失败:kubectl应用:退出状态1 

实际上,一切正常,直到我再次重新安装minikube并出现此问题.这里需要一些帮助.

解决方案

实际上,我只是发现问题在于重新安装minikube时,没有删除Validation Webhook并因此创建问题,应使用以下命令将其删除.

  kubectl delete -A ValidatingWebhookConfiguration ingress-nginx-admission 

我发现,在重新安装时,我忘记删除此清单中安装的webhook了,该清单是造成此问题的原因.

与此问题有关的其他链接:

Nginx入口:服务入口""-nginx-controller-admission"找不到

Nginx入口控制器-调用Webhook失败

So, I'm using minikube v1.19.0 in ubuntu and using nginx-ingress with kubernetes. I have two node files: auth and client having docker image made respectively

i got 4 kubernetes cinfig files which are as follows:

auth-deply.yaml:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: auth-depl
spec:
  replicas: 1
  selector:
    matchLabels:
      app: auth
  template:
    metadata:
      labels:
        app: auth
    spec:
      containers:
        - name: auth
          image: xyz/auth
          env:
            - name: JWT_KEY
              valueFrom:
                secretKeyRef:
                  name: jwt-secret
                  key: JWT_KEY
---
apiVersion: v1
kind: Service
metadata:
  name: auth-srv
spec:
  selector:
    app: auth
  ports:
    - name: auth
      protocol: TCP
      port: 3000
      targetPort: 3000

auth-moongo-depl.yaml:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: auth-mongo-depl
spec:
  selector:
    matchLabels:
      app: auth-mongo
  template:
    metadata:
      labels:
        app: auth-mongo
    spec:
      containers:
      - name: auth-mongo
        image: mongo
---
apiVersion: v1
kind: Service
metadata:
  name: auth-mongo-srv
spec:
  selector:
    app: auth-mongo
  ports:
    - name: db
      protocol: TCP
      port: 27017
      targetPort: 27017

client-depl.yaml:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: client-depl
spec:
  replicas: 1
  selector:
    matchLabels:
      app: client
  template:
    metadata:
      labels:
        app: client
    spec:
      containers:
        - name: client
          image: xyz/client
---
apiVersion: v1
kind: Service
metadata:
  name: client-srv
spec:
  selector:
    app: client
  ports:
    - name: client
      protocol: TCP
      port: 3000
      targetPort: 3000

ingress-srv.yaml:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: ingress-service
  annotations:
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/use-regex: 'true'
spec:
  rules:
    - host: ticketing.dev
      http:
        paths:
          - path: /api/users/?(.*)
            backend:
              serviceName: auth-srv
              servicePort: 3000
          - path: /?(.*)
            backend:
              serviceName: client-srv
              servicePort: 3000

skaffold.yaml:

apiVersion: skaffold/v2alpha3
kind: Config
deploy:
  kubectl:
    manifests:
      - ./infra/k8s/*
build:
  local:
    push: false
  artifacts:
    - image: xyz/auth
      context: auth
      docker:
        dockerfile: Dockerfile
      sync:
        manual:
          - src: 'src/**/*.ts'
            dest: .
    - image: xyz/client
      context: client
      docker:
        dockerfile: Dockerfile
      sync:
        manual:
          - src: '**/*.js'
            dest: .

Now, when I run skaffold dev the following error is coming:

Listing files to watch...
 - xyz/auth
 - xyz/client
Generating tags...
 - xyz/auth -> xyz/auth:abcb6e4
 - xyz/client -> xyz/client:abcb6e4
Checking cache...
 - xyz/auth: Found Locally
 - xyz/client: Found Locally
Starting test...
Tags used in deployment:
 - xyz/auth -> xyz/auth:370487d5c0136906178e602b3548ddba9db75106b22a1af238e02ed950ec3f21
 - xyz/client -> xyz/client:a56ea90769d6f31e983a42e1c52275b8ea2480cb8905bf19b08738e0c34eafd3
Starting deploy...
 - deployment.apps/auth-depl configured
 - service/auth-srv configured
 - deployment.apps/auth-mongo-depl configured
 - service/auth-mongo-srv configured
 - deployment.apps/client-depl configured
 - service/client-srv configured
 - Warning: extensions/v1beta1 Ingress is deprecated in v1.14+, unavailable in v1.22+; use networking.k8s.io/v1 Ingress
 - Error from server (InternalError): error when creating "STDIN": Internal error occurred: failed calling webhook "validate.nginx.ingress.kubernetes.io": an error on the server ("") has prevented the request from succeeding
exiting dev mode because first deploy failed: kubectl apply: exit status 1

Actually everything was working fine until i reinstall minikube again and getting this problem. Need some help here.

解决方案

Actually I just found out the issue was when reinstalling the minikube, Validating Webhook was not deleted and creating the issue hence, should be removed using following command.

kubectl delete -A ValidatingWebhookConfiguration ingress-nginx-admission

I found out that while reinstalling i forgot to remove this webhook that is installed in the manifests which created this problem.

Additional links related to this problem:

Nginx Ingress: service "ingress-nginx-controller-admission" not found

Nginx Ingress Controller - Failed Calling Webhook

这篇关于创建"STDIN"时出现错误:运行skaffold dev时发生内部错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆