Minikube Kubernetes Ingress创建总是抛出错误

时间:2019-04-08 06:22:29

标签: kubernetes kubernetes-ingress

我正在使用: minikube版本:v1.0.0 现在,我需要创建Ingress资源:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: test-ingress
spec:
  backend:
    serviceName: testsvc
    servicePort: 80

然后我运行kubectl apply -f ./ingress.yaml

发生错误:

  

错误:SchemaError(io.k8s.api.core.v1.CinderVolumeSource):无效   对象没有其他属性

我的kubectl版本是:

客户端版本:version.Info {主要:“ 1”,次要:“ 10”,GitVersion:“ v1.10.0”,GitCommit:“ fc32d2f3698e36b93322a3465f63a14e9f0eaead”,GitTreeState:“ clean”,构建日期:“ 2018-03-26T16 :55:54Z“,GoVersion:” go1.9.3“,编译器:” gc“,平台:” darwin / amd64“} 服务器版本:version.Info {主要:“ 1”,次要:“ 14”,GitVersion:“ v1.14.0”,GitCommit:“ 641856db18352033a0d96dbc99153fa3b27298e5”,GitTreeState:“ clean”,BuildDate:“ 2019-03-25T15:45: 25Z”,GoVersion:“ go1.12.1”,编译器:“ gc”,平台:“ linux / amd64”}

将kubectl版本升级到v1.14.0后,我可以毫无问题地创建入口。但是现在,问题是入口没有重定向到pod:

这是我的ingress.yaml:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
    name: dv
spec:
    rules:
    - host: ui.dv.com
      http:
          paths:
          - path: /
            backend:
                serviceName: ngsc
                servicePort: 3000

这是我的服务

apiVersion: v1
kind: Service
metadata:
    name: ngsc
spec:
    type: NodePort
    selector:
        app: ngsc
    ports:
    - port: 3000
      nodePort: 30080
      name: http
      targetPort: 3000

这是我的部署:

apiVersion: apps/v1beta1
kind: Deployment
metadata:
    name: ngsc
spec:
    replicas: 2
    template:
        metadata:
            name: ngsc
            labels:
                app: ngsc
        spec:
            containers:
            - image: myimage
              name: ngsc
              imagePullPolicy: IfNotPresent

我已经将ui.dv.com添加到了/ etc / hosts中,在我全部启动之后,并使用curl http://ui.dv.com,没有响应

我检查了nginx日志:

获取服务“ default / ngsc”的端点时出错:本地存储中没有对象匹配键“ default / ngsc”

对于所有豆荚,

default       api-server-84dd8bcfc8-2hvlh                1/1     Running            26         3h23m
default       api-server-84dd8bcfc8-s697x                1/1     Running            28         3h23m
default       api-server-84dd8bcfc8-vq4vn                1/1     Running            26         3h23m
default       ngsc-559cbf57df-bcjb7                      1/1     Running            3          3h27m
default       ngsc-559cbf57df-j5v68                      1/1     Running            2          3h27m
kube-system   coredns-fb8b8dccf-ghj4l                    1/1     Running            42         36h
kube-system   coredns-fb8b8dccf-rwhw5                    1/1     Running            41         36h
kube-system   default-http-backend-6864bbb7db-p8fld      1/1     Running            47         36h
kube-system   etcd-minikube                              1/1     Running            3          36h
kube-system   kube-addon-manager-minikube                1/1     Running            4          36h
kube-system   kube-apiserver-minikube                    1/1     Running            27         36h
kube-system   kube-controller-manager-minikube           0/1     Error              4          11m
kube-system   kube-proxy-skn58                           1/1     Running            2          12h
kube-system   kube-scheduler-minikube                    0/1     CrashLoopBackOff   40         36h
kube-system   nginx-ingress-controller-f5744c676-j5r25   1/1     Running            47         3h16m
kube-system   storage-provisioner                        1/1     Running            7          36h

此处,入口控制器正在运行

正在运行:

kubectl描述广告连播-n kube-system nginx-ingress-controller-f5744c676-j5r25

我有这个:

Events:
  Type     Reason     Age                    From               Message
  ----     ------     ----                   ----               -------
  Warning  Unhealthy  41m (x98 over 3h9m)    kubelet, minikube  Liveness probe failed: Get http://172.17.0.7:10254/healthz: net/http: request canceled (Client.Timeout exceeded while awaiting headers)
  Warning  Unhealthy  25m (x208 over 3h10m)  kubelet, minikube  Readiness probe failed: Get http://172.17.0.7:10254/healthz: net/http: request canceled (Client.Timeout exceeded while awaiting headers)
  Warning  Unhealthy  5m46s (x4 over 12m)    kubelet, minikube  Readiness probe failed: Get http://172.17.0.6:10254/healthz: net/http: request canceled (Client.Timeout exceeded while awaiting headers)
  Warning  BackOff    35s (x448 over 3h3m)   kubelet, minikube  Back-off restarting failed container

描述入口:

Namespace:        default
Address:          
Default backend:  default-http-backend:80 ()
Rules:
  Host  Path  Backends
  ----  ----  --------
  *     
        /ui   ngsc:3000 (172.17.0.10:3000,172.17.0.7:3000)
  *     
        /api   api-server:8083 (172.17.0.5:8083,172.17.0.9:8083)
Annotations:

kubectl进入 名称主机地址端口年龄 datavisor * 10.0.2.15 80 3h12m

最后:

卷曲http://10.0.2.15/ui

吊死,并停止

这里有什么问题吗?

2 个答案:

答案 0 :(得分:1)

  1. 请检查社区评论:
    Kubernetes create deployment unexpected SchemaError
    您能否验证您的“ kubectl”和minikube版本。
    安装过程中是否有任何错误?
    请检查日志和事件。
    请尝试并创建其他部署,以查看是否还有其他错误。

  2. 出于故障排除的目的,请使用:

    
    kubectl get pods 
    kubectl get events
    kubectl logs "your_pod"
    

    请分享您的发现

答案 1 :(得分:1)

清单中没有错误,显然是您使用了错误的kubectl版本。

kubectl必须与您正在使用的群集相距1个小范围内,如here所述。

  

您必须使用kubectl版本,该版本在群集的一个较小版本差异之内。例如,v1.2客户端应与v1.1,v1.2和v1.3主服务器一起使用。使用最新版本的kubectl有助于避免无法预料的问题。

您可以使用

检查您的版本
kubectl version