Service是工作在四层,当使用service时,如何实现HTTPS?每个应用服务器是否配置相同的HTTPS证书?
七层负载均衡,七层调度:
创建共享节点网络命名空间的Pod。
Client --> 外部LB --> 共享命名空间的Pod --> 后端应用Pod
Ingress:一种资源类型。
Ingress Controller七层调度控制器:
独立运行的一组Pod资源,不属于Controller Manager的子组件,属于核心附件之一。
Nginx EnVoy Traefik
安装Ingress controller:
[kubelet@master static]$ kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/mandatory.yaml [kubelet@master baremetal]$ ll /tmp/soft/ingress-nginx/ingress-nginx-nginx-0.25.0/deploy/static/provider/baremetal/service-nodeport.yaml [kubelet@master baremetal]$ kubectl apply -f service-nodeport.yaml
定义ingress的资源清单:
[kubelet@master ~]$ kubectl explain ingress.spec.rules
https:
自签证书:
[root@master ~]# openssl genrsa -out tls.key 2048 [root@master ~]# openssl req -new -x509 -key tls.key -out tls.crt -subj /C=CN/ST=Beijing/L=Beijing/O=DevOps/CN=myapp.magedu.com [kubelet@master ingress]$ kubectl create secret tls myapp-ingress-secret --cert=tls.crt --key=tls.key