背景
外部到调度器的协议是https7层,由一个pod比如nginx直接调度到另一个pod,用一个pod反代至真正服务的pod,那这个pod需要service接入外部流量,这个service定义成nodeport,那么这个pod就成为https会话卸载器,调度器到内部的pod是http4层
Ingress Controller
在集群中挑出三个节点打上污点、用DaemonSet部署一个pod,定义nodeport使得可以接入外部的7层调度,使用虚拟主机或者url映射的方式定义前端;这个pod就叫Ingress Controller(nginx、traefik、envoy)
Ingress
Ingress Controller中的配置文件,监视service的变动动态注入到Ingress Controller中
k8s的组成:master、node、附件(
- kube-dns负责为整个集群提供DNS服务
- Ingress Controller为服务提供外网入口
- Heapster提供资源监控
- Dashboard提供GUI
- Federation提供跨可用区的集群
- Fluentd-elasticsearch提供集群日志采集、存储与查询
)
创建一个后端pod+service
编辑tomcat-demo.yaml
api