Kubernetes学习笔记十一:Ingress
ingress使用
(1)创建一个Service
(2)创建Ingress
创建ingress-service.yaml文件。
kubectl apply -f ingress-service.yaml
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: ingress-test
spec:
rules:
- host: liufeifei.com
http:
paths:
- pathType: Prefix
path: "/"
backend:
service:
name: my-service
port:
number: 8080
kubectl get ingress
在/etc/hosts文件添加:
宿主机IP: liufeifei.com
用liufeifei.com:30001访问
LoadBalancer的方式访问应用
将test-service修改为LoadBalancer类型,获取到EXTERNAL-IP后,在/etc/hosts文件中添加EXTERNAL-IP liufeifei.com
通过liufeifei.com:8080可以访问到应用服务。
Ingress控制器构建
Ingress控制器构建
官网给出的方法:
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.1.1/deploy/static/provider/cloud/deploy.yaml
上面这个地址我打不开,我是从其它地方弄到的文档。
kubectl get ingress
查看ingress的构建情况,发现CLASS和ADDRESS为空。
MountVolume.SetUp failed for volume “webhook-cert” : secret “ingress-nginx-admission” not found
查看ingress-nginx-controller Pod的构建情况时发现以下错误。
解决方案:MountVolume.SetUp failed for volume “webhook-cert” : secret “ingress-nginx-admission” not found #5932
我是用以下方案解决的。
kubectl logs ingress-nginx-controller-66677fc55f-ptp5r -n ingress-nginx
添加kubernetes.io/ingress.class: nginx
在ingressCotroller的yaml文件可以找到ingressClass的值
遇到503问题:我service的端口是80,但是ingress的yaml文件配置写成5678
解决方案:访问 k8s 中的 nginx-ingress 报错 503 Service Temporarily Unavailable
端口修改后,可以成功访问。访问方式如下:
创建的ingress的Address,我这里是192.168.93.10
ingress controller服务的端口,我这里是30866
ingress.yaml文件的前缀,我这里是/hi
curl 192.168.93.10:30866/hi
更多推荐
所有评论(0)