1:
service有什么用?
直接通过Pod的IP地址和端口号可以访问容器应用,但是pod的IP地址是不可靠的,比如POD出现故障后,有可能在另外一个NOde上启动,这样Pod的IP地址就发生变化.
另外,如果容器本事是分布式的部署方式,通过多个实例一起提供服务,那么需要一个负载均衡器。
k8s的service就是解决以上问题的。
关键配置:
clusterIP: 给servcie分配一个虚拟IP。
NodeIP: 让service和Node拥有同样的IP。
2: 集群外部访问Pod或Service
Pod和Service是K8s的集群范围内的虚拟概念,集群外部无法通过Pod的IP地址或者S而vcie的虚拟IP地址和端口访问他们。
为了让外部客户端可以访问这些服务,可以将Pod或service的端口号映射到宿主机。以是的客户端可以通过物理机访问容器应用。2.1 将容器应用的端口号映射到物理机
containerPort: 8080
hostPort: 8081
2.2 将Service的端口号映射到物理机
NodePort
3: Ingress
Service 的访问形式是IP:port, 时基于TCP/IP的。