K8S之Ingress

网友投稿 296 2022-09-09

K8S之Ingress

文章目录

​​一、概念​​

​​`1.1.NodePort存在的不足`​​​​`1.2.Ingress`​​

​​二、部署Ingress Controller(全局的负载均衡)​​

​​`2.1.Ingress Contronler工作原理`​​​​`2.2.下载yaml文件`​​​​`2.3.下载镜像`​​​​`2.4.修改mandatory.yaml`​​

​​三、基于HTTP的Ingress规则​​

​​`3.1.yaml文件`​​​​`3.2.访问域名`​​

​​四、基于HTTPS的Ingress规则​​

​​`4.1.生成自签证书`​​​​`4.2.创建secret`​​​​`4.3.Ingress规则`​​

参考视频:只支持4层负载均衡(NodeIP+Port)

​​1.2.Ingress​​

Ingress 公开了从集群外部到集群内服务的HTTP和HTTPS路由。流量路由由Ingress资源上定义的规则控制。

关联Service

通过Ingress Controller实现Pod的负载均衡

二、部署Ingress Controller(全局的负载均衡)

​​2.1.Ingress Contronler工作原理​​

Ingress Contronler通过与 Kubernetes API 交互,动态感知集群中 Ingress 规则变化,然后读取它,根据Ingress规则生成一段 Nginx 配置,应用到管理的Nginx服务,然后热加载生效。 以此来达到Nginx负载均衡器配置及动态更新的问题。

数据包流程:客户端 ->Ingress Controller(nginx) ->ServiceName:Port ->分布在各节点Pod

​​2.2.下载yaml文件​​

​​2.3.下载镜像​​

docker pull siriuszg/nginx-ingress-controller:0.30.0

​​2.4.修改mandatory.yaml​​

三、基于HTTP的Ingress规则

​​3.1.yaml文件​​

apiVersion: networking.k8s.io/v1beta1kind: Ingressmetadata: name: ingress annotations: nginx.ingress.kubernetes.io/rewrite-target: /spec: rules: - host: foo.bar.com paths: - backend: serviceName: web servicePort: 80

解释

host: foo.bar.com #访问Ingress的域名serviceName: web #管理服务名为web的ServiceservicePort: 80 #Service监听的端口为80,通过kubectl get svc查看

​​3.2.访问域名​​

查看nginx-ingress-controller部署到哪个节点上

kubectl get pod -o wide -ningress-nginx

echo "192.168.1.10 foo.bar.com" >> /etc/hostscurl foo.bar.com

四、基于HTTPS的Ingress规则

​​4.1.生成自签证书​​

openssl genrsa > cert.keyopenssl req -new -x509 -key cert.key -subj "/CN=common" >cert.pe

​​4.2.创建secret​​

kubectl create secret tls foo-bar-com --cert=cert.pem --key=cert.keykubectl get secrets

​​4.3.Ingress规则​​

apiVersion: networking.k8s.io/v1beta1kind: Ingressmetadata: name: tls-example-ingressspec: tls: - hosts: - foo.bar.com secretName: foo-bar-com rules: - host: foo.bar.com paths: - path: / backend: serviceName: web servicePort: 80

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:k8s yml完整示例
下一篇:中超第5轮最后两场爆冷,津门虎首胜申花首败!
相关文章

 发表评论

暂时没有评论,来抢沙发吧~