Kubernetes CKA认证运维工程师笔记-Kubernetes网络
- 1. Service 存在的意义
- 2. Pod与Service的关系
- 3. Service三种常用类型
- 4. Service代理模式
- 5. Service DNS名称
- 6. Ingress为弥补NodePort不足而生
- 7. Ingress Controller
- 8. Ingress
- 防止Pod失联(服务发现)
- 定义一组Pod的访问策略(负载均衡)
- 通过label-selector相关联
- 通过Service实现Pod的负载均衡(TCP/UDP 4层)
- ClusterIP:集群内部使用
- NodePort:对外暴露应用
- LoadBalancer:对外暴露应用,适用公有云







二进制方式修改ipvs模式:
流程包流程:客户端->NodePort/ClusterIP(iptables/Ipvs负载均衡规则)-> 分布在各节点Pod
查看负载均衡规则:

- iptables模式
iptables-save |grep - ipvs模式
ipvsadm -L -n
- 灵活,功能强大
- 规则遍历匹配和更新,呈线性时延
IPVS:
- 工作在内核态,有更好的性能
- 调度算法丰富:rr,wrr,lc,wlc,ip hash…
- 通过Service相关联
- 通过Ingress Controller实现Pod的负载均衡
- 支持TCP/UDP 4层和HTTP 7层
NodePort存在的不足:
- 一个端口只能一个服务使用,端口需提前规划
- 只支持4层负载均衡
Ingress Controller是什么?
Ingress管理的负载均衡器,为集群提供全局的负载均衡能力。
使用流程:
- 部署Ingress Controller
- 创建Ingress规则
Pod与Ingress的关系:
- 通过service相关联
- 通过ingress Controller实现pod的负载均衡
-支持TCP/UDP 4层和HTTP7层
Ingress Controller有很多实现,我们这里采用官方维护的基于Nginx实现的。
注意事项:
- 镜像地址修改成国内的:lizhenliang/nginx-ingress-controller:0.30.0
- 建议直接宿主机网络暴露:hostNetwork: true
user -> cdn -> waf -> lb -> cache -> web -> lb -> cache -> db


其他主流控制器:
- Traefik:HTTP反向代理、负载均衡工具
- Istio:服务治理,控制入口流量
Ingress Contronler怎么工作的?
Ingress Contronler通过与Kubernetes API交互,动态的去感知集群中Ingress 规则变化,然后读取它,按照自定义的规则,规则就是写明了哪个域名对应哪个service,生成一段Nginx 配置,应用到管理的Nginx服务,然后热加载生效。
以此来达到Nginx负载均衡器配置及动态更新的问题。
流程包流程:客户端->Ingress Controller(nginx)-> 分布在各节点Pod
Ingress是什么?

课后作业
1、给一个pod创建service,并可以通过ClusterIP/NodePort访问
- 名称:web-service
- pod名称:web
- 容器端口:80
2、任意名称创建deployment和service,使用busybox容器nslookup解析service
3、列出命名空间下某个service关联的所有pod,并将pod名称写到/opt/pod.txt文件中(使用标签筛选)
- 命名空间:default
- service名称:web

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/144908.html