1、两者关系
Service定义了pods的逻辑集合和访问这个集合的策略。 Pods集合是通过定义Service时提供的Label选择器完成的
Service的引入旨在保证pod的动态变化对访问端透明,访问端只需要知道service的地址,由service来提供代理
Service的抽象使得前端客户和后端Pods进行了解耦
支持ClusterIP, NodePort以及LoadBalancer三种类型
Service的底层实现有userspace、 iptables和ipvs三种模式
2、进入pod测试通过服务访问Ngnix,docker与kubectl对比关系
转自:https://www.bbsmax.com/A/x9J2DXnnd6/
# docker run $ docker run -d -e DOMAIN=cluster --name my-nginx -p 80:80 nginx $ kubectl run my-nginx --image=nginx --port=80 --env="DOMAIN=cluster" # docker ps $ docker ps $ kubectl get pods # docker exec $ docker exec [容器id] ls $ kubectl exec [pod_id] ls # docker exec 交互式 $ docker exec -it [容器id] /bin/sh $ kubectl exec -it [pod_id] -- /bin/sh # docker info $ docker info $ kubectl cluster-info
3、进入Pod,上面示例中pod_id实际上对应pod_name
4、测试cluster ip访问
5、查看service
6、通过serviceip访问,也就是说在内部只要通过serviceip即可以访问所有的服务