17, k8s 之 ingress

Posted k8s-pod

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了17, k8s 之 ingress相关的知识,希望对你有一定的参考价值。

ingress 是如何访问到pod的呢?
	1,ingress由ingress 控制器 和 规则组成。
	2,ingress rule 负责找到对应的service,实现访问到pod。

我们知道service的表现形式为IP:PORT,即工作在第四层传输层(TCP/IP层),那么对于不同的URL地址经常对应用不同的后端服务或者虚拟服务器,
这些应用层的转发机制仅通过kubernetes的service机制是无法实现的,这种情况我么可以使用ingress策略定义和一个具体的ingress Controller,
两者结合实现一个完整的Ingress 负载均衡,这个负载均衡是基于nginx七层反向代理来实现的。

[root@centos7 demo]# 
[root@centos7 demo]# cat ingress.yml 
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: example-ingress
spec:
  rules:
  - host: example.ctnrs.com
    http:
      paths:
      - path: /
        backend:
          serviceName: web
          servicePort: 80
[root@centos7 demo]# 
[root@centos7 demo]# kubectl get pods
NAME                   READY   STATUS    RESTARTS   AGE
web-5c987b8447-kptld   1/1     Running   0          6d21h
web-5c987b8447-nwhcd   1/1     Running   0          4d14h
web-5c987b8447-qjpz4   1/1     Running   0          4d14h
[root@centos7 demo]# 
[root@centos7 demo]# kubectl get svc
NAME         TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)        AGE
kubernetes   ClusterIP   10.0.0.1     <none>        443/TCP        12d
web          NodePort    10.0.0.19    <none>        80:32045/TCP   4d14h
web-1        ClusterIP   10.0.0.15    <none>        80/TCP         2d15h
[root@centos7 demo]# 
[root@centos7 demo]# 
[root@centos7 demo]# kubectl apply -f ingress.yml 
ingress.networking.k8s.io/example-ingress unchanged
[root@centos7 demo]# 
[root@centos7 demo]# kubectl get ing
NAME              HOSTS               ADDRESS   PORTS   AGE
example-ingress   example.ctnrs.com             80      20m
[root@centos7 demo]# 
[root@centos7 demo]# 

hosts 绑定:
192.168.0.11  example.ctnrs.com
ingress 控制器在哪个节点,就用哪个节点的IP,来绑定对应的域名。

浏览器访问:
example.ctnrs.com

  

以上是关于17, k8s 之 ingress的主要内容,如果未能解决你的问题,请参考以下文章

k8s 对外服务之ingress

k8s nginx-ingress部署

云原生之kubernetes实战在k8s集群下部署ingress对外访问服务

K8s之Ingress-nginx原理及配置

k8s ingress-controller 之 traefik

k8s之Ingress-nginx基本原理及部署实战