kubernetes 1.14安装部署ingress

简单介绍

Ingress是Kubernetes API的标准资源类型之一,它其实就是一组基于DNS名称或URL路径把请求转发至指定的Service资源的规则,用来将集群外部的请求流量转发至集群内部。但是,Ingress资源自身并不能进行“流量穿透”,它仅是一组路由规则的集合,这些规则想要真正发挥作用还需要其他功能的辅助,如监听某套接字,然后根据这些规则的匹配机制路由请求流量。这种能为Ingress资源监听套接字并转发流量的组件称为Ingress控制器(Ingress Controller)。

部署方法:① helm安装ingress  ②传统yaml文件安装ingress

测试环境

 一个kubernetes集群,配置了helm

操作步骤

方法①

1. 用helm搜索并安装

[root@k8s-master ~]# helm search nginx-ingress
NAME                    CHART VERSION    APP VERSION    DESCRIPTION                                                 
stable/nginx-ingress    0.9.5            0.10.2         An nginx Ingress controller that uses ConfigMap to store ...
stable/nginx-lego       0.3.1                           Chart for nginx-ingress-controller and kube-lego            
[root@k8s-master ~]# helm install --name nginx-ingress --set "controller.hostNetwork=true,rbac.create=true" stable/nginx-ingress
NAME:   nginx-ingress
LAST DEPLOYED: Sat May 25 13:51:54 2019
NAMESPACE: default
STATUS: DEPLOYED

RESOURCES:
==> v1/ConfigMap
……
……

2. 查看pod运行状态

[root@k8s-master ~]# kubectl get pod -o wide
NAME                                             READY   STATUS    RESTARTS   AGE     IP             NODE            
nginx-ingress-controller-78f9df54dd-dmxvr        1/1     Running   0          59s     172.19.5.40    k8s-node3 
nginx-ingress-default-backend-6f598d9c4c-ms7xx   1/1     Running   0          58s     192.168.1.43   k8s-node1 

:上面的高亮IP是某一个节点的IP,此刻这个节点上已经启动了80和443端口;同时,也起了一个默认的后端(default backend),这个默认的后端就做了一件事:返回404(如果访问根)。

3. 浏览器IP测试和域名(k8s.xxx.cn)测试效果

以上是安装后的默认配置,如果需要添加其他类似于api.xxx.com或者www.xxx.com/api 这样的域名,继续添加或者修改ingress资源,然后在ingress中引用ServiceName就能指向到后端的pod。

猜你喜欢

转载自www.cnblogs.com/ding2016/p/10922391.html