Kubernetes学习笔记(三十六):Service Networking、DNS in kubernetes、CoreDNS in Kubernetes
Service Networking
Service承载在整个cluster上,整个cluster的pod都可以访问到这个节点,Service没有绑定到特定节点,但只能从集群内部访问该服务。
NodePort可以不仅让cluster内部的节点访问,它还会再cluster中所有节点的端口上公开application。
查看IPtable转发规则:iptables -L -t nat | grep db-service
或者查看日志:cat /var/log/kube-proxy.log
,文件位置可能因安装而异
查看services的IP范围:cat /etc/kubernetes/manifests/kube-apiserver.yaml | grep cluster-ip-range
查看pod的IP范围和使用的proxy类型:kubectl logs <weave-pod-name> weave -n kube-system
DNS in kubernetes
Hostname | Namespace | Type | Root | IP Address |
---|---|---|---|---|
web-service | apps | svc | cluster.local | 10.107.37.188 |
10-244-2-5 | apps | pod | cluster.local | 10.244.2.5 |
curl http://10-244-2-5.apps.pod.cluster.local
CoreDNS in Kubernetes
建立DNS的方式:
- 设置每个pod上的
/etc/hosts
- 设置CoreDNS
/etc/resolv.conf
,pod名字为用短横线连接的IP
在v1.12版本之前k8s实施的DNS为kube-dns,之后为CoreDNS。
CoreDNS服务器作为POD部署在kubernetes集群的kube-system namespace中,它们被部署为两个pod以实现冗余,作为replicaSet的一部分。
查看CoreDNS的配置文件:kubectl -n kube-system describe deployments.apps coredns | grep -A2 Args | grep Corefile
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端