apiVersion: v1
kind: Service
metadata:
name: my-service
spec:
selector:
app: MyApp
ports:
- name: http #端口name1
protocol: TCP
port: 80
targetPort: 9376
- name: https #端口name2
protocol: TCP
port: 443
targetPort: 9377
集群内部DNS服务
service内部之间通过cluster-IP来访问,但是这个IP并不是固定的;所以我们就需要通过dns name来访问;便于维护程序;
Core DNS 是目前kubernetes系统内部默认的DNS服务。
git链接https://github.com/kubernetes/kubernetes/blob/master/cluster/addons/dns/coredns/coredns.yaml.sed
官网链接 https://kubernetes.io/zh/docs/concepts/services-networking/dns-pod-service/
查看service
kubectl get svc
输出以下内容:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.0.0.1 <none> 443/TCP 41h
一、安装dns
去git获取yaml
or
使用我们提供的
kubectl apply -f coredns.yaml
注意:clusterIP要和node节点的cat /opt/kubernetes/cfg/kubelet.conf 的clusterDNS一致,否则pod会解析失败
二、查看dns
kubectl get pods -n kube-system
输出以下内容:
NAME READY STATUS RESTARTS AGE
coredns-6d8cfdd59d-mw47j 1/1 Running 0 5m45s
kube-flannel-ds-amd64-q8rmk 1/1 Running 0 18h
kube-flannel-ds-amd64-zq7hc 1/1 Running 0 18h
三、测试DNS可用性
安装dig
kubectl apply -f dig.yaml
解析测试
kubectl exec -it dig shnslookup nginx
原文:https://www.cnblogs.com/TSir/p/12267892.html