有时一个容器应用可以能提供多个端口的服务,那么在Service的定义中也可以相应地设置为将多个端口对应到多个应用服务。下面是kube-dns的配置
# kubectl get svc --namespace kube-system kube-dns -o json | jq .spec
{
"clusterIP": "10.152.183.10",
"ports": [
{
"name": "dns",
"port": 53,
"protocol": "UDP",
"targetPort": 53
},
{
"name": "dns-tcp",
"port": 53,
"protocol": "TCP",
"targetPort": 53
}
],
"selector": {
"k8s-app": "kube-dns"
},
"sessionAffinity": "None",
"type": "ClusterIP"
}
可以看到,kube-dns服务同时提供TCP服务和UDP服务,就是通过在同个Service中定义不同的端口实现的。
网友评论