我正在使用: 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
最后:
吊死,并停止
这里有什么问题吗?
答案 0 :(得分:1)
请检查社区评论:
Kubernetes create deployment unexpected SchemaError
您能否验证您的“ kubectl”和minikube版本。
安装过程中是否有任何错误?
请检查日志和事件。
请尝试并创建其他部署,以查看是否还有其他错误。
出于故障排除的目的,请使用:
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