Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Docker 创建“时出错”;STDIN";:运行skaffold dev时发生内部错误_Docker_Kubernetes_Minikube_Nginx Ingress_Skaffold - Fatal编程技术网

Docker 创建“时出错”;STDIN";:运行skaffold dev时发生内部错误

Docker 创建“时出错”;STDIN";:运行skaffold dev时发生内部错误,docker,kubernetes,minikube,nginx-ingress,skaffold,Docker,Kubernetes,Minikube,Nginx Ingress,Skaffold,所以,我在ubuntu中使用minikube v1.19.0,在kubernetes中使用nginx ingress。我有两个节点文件:auth和client,分别创建了docker映像 我得到了4个kubernetes cinfig文件,如下所示: auth-deply.yaml: apiVersion:apps/v1 种类:部署 元数据: 姓名:auth depl 规格: 副本:1份 选择器: 火柴标签: app:auth 模板: 元数据: 标签: app:auth 规格: 容器: -姓名:

所以,我在ubuntu中使用minikube v1.19.0,在kubernetes中使用nginx ingress。我有两个节点文件:auth和client,分别创建了docker映像

我得到了4个kubernetes cinfig文件,如下所示:

auth-deply.yaml:

apiVersion:apps/v1 种类:部署 元数据: 姓名:auth depl 规格: 副本:1份 选择器: 火柴标签: app:auth 模板: 元数据: 标签: app:auth 规格: 容器: -姓名:auth 图像:xyz/auth 环境: -姓名:JWT_KEY 价值来源: secretKeyRef: 姓名:jwt机密 钥匙:JWT_钥匙 --- 版本:v1 种类:服务 元数据: 名称:auth srv 规格: 选择器: app:auth 端口: -姓名:auth 协议:TCP 港口:3000 目标港:3000 auth-moongo-depl.yaml:

apiVersion:apps/v1 种类:部署 元数据: 姓名:auth mongo depl 规格: 选择器: 火柴标签: 应用程序:auth mongo 模板: 元数据: 标签: 应用程序:auth mongo 规格: 容器: -姓名:auth mongo 图片:mongo --- 版本:v1 种类:服务 元数据: 名称:auth mongo srv 规格: 选择器: 应用程序:auth mongo 端口: -姓名:db 协议:TCP 港口:27017 目标港:27017 客户-depl.yaml:

apiVersion:apps/v1 种类:部署 元数据: 姓名:客户部 规格: 副本:1份 选择器: 火柴标签: 应用程序:客户端 模板: 元数据: 标签: 应用程序:客户端 规格: 容器: -姓名:客户 图像:xyz/客户端 --- 版本:v1 种类:服务 元数据: 名称:客户srv 规格: 选择器: 应用程序:客户端 端口: -姓名:客户 协议:TCP 港口:3000 目标港:3000 ingress-srv.yaml:

apiVersion:extensions/v1beta1
种类:入口
元数据:
名称:入口服务
注释:
kubernetes.io/ingres.class:nginx
nginx.ingres.kubernetes.io/use-regex:'true'
规格:
规则:
-主持人:ticketing.dev
http:
路径:
-路径:/api/users/?(*)
后端:
服务名称:auth srv
服务端口:3000
-路径:/?(*)
后端:
服务名称:客户端srv
服务端口:3000
skaffold.yaml:

apiVersion:skaffold/v2alpha3
种类:配置
部署:
库贝特尔:
舱单:
-/次/k8s/*
建造:
本地:
推送:错误
人工产品:
-图像:xyz/auth
上下文:auth
码头工人:
dockerfile:dockerfile
同步:
手册:
-src:'src/***.ts'
目的地:。
-图像:xyz/客户端
上下文:客户端
码头工人:
dockerfile:dockerfile
同步:
手册:
-src:“***.js”
目的地:。
现在,当我运行
skaffolddev
时,出现以下错误:

正在列出要监视的文件。。。
-xyz/auth
-xyz/客户端
正在生成标记。。。
-xyz/auth->xyz/auth:abcb6e4
-xyz/客户端->xyz/客户端:abcb6e4
正在检查缓存。。。
-xyz/auth:在本地找到
-xyz/客户端:在本地找到
开始测试。。。
部署中使用的标记:
-xyz/auth->xyz/auth:370487D5C013606178E602B3548DDBA9DB75106B22A1AF238E02ED950EC3F21
-xyz/客户->xyz/客户:a56ea90769d6f31e983a42e1c52275b8ea2480cb8905bf19b08738e0c34eafd3
正在开始部署。。。
-已配置deployment.apps/auth-depl
-已配置服务/身份验证srv
-deployment.apps/auth-mongo-depl已配置
-已配置服务/验证mongo srv
-已配置deployment.apps/client-depl
-已配置服务/客户端srv
-警告:扩展/v1beta1入口在v1.14+中不推荐使用,在v1.22+中不可用;使用networking.k8s.io/v1入口
-服务器错误(InternalError):创建“STDIN”时出错:发生内部错误:调用webhook“validate.nginx.ingres.kubernetes.io”失败:服务器上的错误(“”)阻止了请求成功
由于第一次部署失败而退出开发模式:kubectl应用:退出状态1
实际上,在我重新安装minikube并遇到这个问题之前,一切都很好。
这里需要一些帮助。

您的日志清楚地表明入口版本警告存在问题

警告:扩展/v1beta1入口在v1.14+中不推荐使用, 在v1.22+中不可用;使用networking.k8s.io/v1入口

您的群集版本可能高于1.14+

它可能是一个可能的版本,你的minikube得到更新

最新入口示例

apiVersion: "networking.k8s.io/v1beta1"
kind: "Ingress"
metadata:
  name: "example-ingress"
spec:
  ingressClassName: "external-lb"
  rules:
  - host: "*.example.com"
    http:
      paths:
      - path: "/example"
        pathType: "Prefix"
        backend:
          serviceName: "example-service"
          servicePort: 80
lastet ingressapiversion是:
networking.k8s.io/v1beta1
您可以检查lubernetes群集的版本,并验证支持哪个API群集

要检查Kubernetes支持的API版本,请执行以下操作:

kubectl api-versions

事实上,我刚刚发现问题是在重新安装minikube时,验证Webhook没有被删除,因此,应该使用以下命令删除创建的问题

kubectl delete-A validatingwebhook配置入口nginx准入
我发现在重新安装时,我忘了删除这个webhook,它安装在导致这个问题的清单中

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


minikube版本已更改?请使用
kubectl get ingress
检查ingress版本,并检查Kubernetes群集的版本以及支持的API群集。感谢bro的帮助,但问题出在webhook中,我稍后将其修复。顺便说一句,非常感谢您提供有关
kubernetes api版本的知识