k8s,service如何找到容器

Kubernetes之所以需要Service,一方面是因为Pod的IP不是固定的,另一方面则是因为一组Pod实例之间总会有负载均衡的需求

被selector选中的Pod,就称为Service的Endpoints,查看方式:

shell 复制代码
kubectl get endpoints hostnames

需要注意的是,只有处于Running状态,且readinessProbe检查通过的Pod,才会出现在Service的Endpoints列表里。

vip地址查看,svc - 是 service 的缩写

shell 复制代码
kubectl get svc hostnames
NAME        TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)   AGE
hostnames   ClusterIP   10.0.1.175   <none>        80/TCP    5s

输出信息包含:

NAME: Service 的名称

TYPE: Service 的类型(如 ClusterIP, NodePort, LoadBalancer 等)

CLUSTER-IP: 集群内部的 IP 地址

EXTERNAL-IP: 外部可访问的 IP 地址(如果有的话)

PORT(S): Service 暴露的端口

AGE: Service 创建后的运行时间

这个命令常用于:

检查服务是否正常运行

获取服务的 IP 地址和端口信息

验证服务的配置是否正确

故障排查时查看服务状态

Service是由kube-proxy组件,加上iptables来共同实现的。

不难想到,当你的宿主机上有大量Pod的时候,成百上千条iptables规则不断地被刷新,会大量占用该宿主机的CPU资源,甚至会让宿主机"卡"在这个过程中。所以说,一直以来,基于iptables的Service实现,都是制约Kubernetes项目承载更多量级的Pod的主要障碍。

相关推荐
MickeyCV2 小时前
使用Docker部署MySQL&Redis容器与常见命令
redis·mysql·docker·容器·wsl·镜像
藥瓿亭3 小时前
K8S认证|CKS题库+答案| 6. 创建 Secret
运维·ubuntu·docker·云原生·容器·kubernetes·cks
2302_809798323 小时前
【JavaWeb】Docker项目部署
java·运维·后端·青少年编程·docker·容器
嵌入式大圣3 小时前
Neko虚拟浏览器远程协作方案:Docker+内网穿透技术部署实践
运维·docker·容器
孔令飞4 小时前
Kubernetes 节点自动伸缩(Cluster Autoscaler)原理与实践
ai·云原生·容器·golang·kubernetes
极简网络科技5 小时前
Docker、Wsl 打包迁移环境
运维·docker·容器
江湖有缘6 小时前
【Docker管理工具】部署Docker可视化管理面板Dpanel
运维·docker·容器
猫咪老师19957 小时前
多系统一键打包docker compose下所有镜像并且使用
java·docker·容器
Nazi67 小时前
docker数据管理
运维·docker·容器
洛神灬殇9 小时前
【LLM大模型技术专题】「入门到精通系列教程」基于ai-openai-spring-boot-starter集成开发实战指南
网络·数据库·微服务·云原生·架构