创建"STDIN"时出现错误:运行skaffold dev时发生内部错误 [英] error when creating "STDIN": Internal error occurred while running 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"找不到
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屋!