k8s ingress-nginx
kubernetes Ingess 是有2部分组成,Ingress Controller 和Ingress服务组成,常用的Ingress Controller 是ingress-nginx,工作的原理是:
Ingress Controller 会动态感知集群中的Ingress的规则变化,然后读取,动态生成Nginx的配置文件,最后注入到运行nginx的pod的中,然后会自动reload,配置生效。
用kubernetes Ingress 是由于它是7层调度,可以直接卸载https会话,代理的后端的pod可以直接使用明文的http协议。
而Service NodePort得类型,是4层得调度,做不到这点,然而现在https是一种趋势,所以在kubernetes 对外暴露服务得时候我们还是要选择Ingress。
下面我们来看下Ingress得部署:
原理图
1.创建后端容器和service
首先创建一个文件夹专门放置Igress得yaml得文件,mkdir ingress
vim myapp.yaml
apiVersion: apps/v1 kind: Deployment metadata: name: myapp spec: replicas: 3 selector: matchLabels: app: myapp template: metadata: labels: app: myapp spec: containers: - name: myapp-ding image: ikubernetes/myapp:v2 --- apiVersion: v1 kind: Service metadata: name: myapp #等会ingress就靠这个来匹配 spec: selector: app: myapp type: ClusterIP ports: - port: 80 targetPort: 80
2.配置ingress的配置文件
apiVersion: extensions/v1beta1 kind: Ingress metadata: name: ingress-ding namespace: default annotations: kubernetes.io/ingress.class: "nginx" spec: rules: - host: www.yang.com #虚拟机主机域名 http: paths: - path: backend: serviceName: myapp #代理后端的service 的name servicePort: 80 #后端service的端口
相关推荐
朱培知浅ZLH 2020-11-16
houjinkai 2020-07-26
舍我其谁 2020-06-08
competeking 2020-05-31
yevvzi 2020-05-27
xiunai 2020-05-27
Rcvisual 2020-04-30
SZStudy 2020-04-21
wvfeng 2020-04-16
xiunai 2020-03-05
hubanbei00的家园 2020-02-18
Caleb0 2020-02-14
技术积累LZ 2020-01-29
泥淖 2020-01-10
yevvzi 2020-01-07
limx 2020-01-07
limx 2020-01-05
guan000 2019-12-24
岁月如歌 2019-12-11