minikube 版本 ⏎ minikube版本:v0.22.3
我正在尝试在 minikube 实例中设置各种 pod。我在公司代理后面运行,这可能可以解释其中的一些行为。
我使用以下命令启动 minikube
minikube start --docker-env HTTP_PROXY= http://corporate-proxy.com:80 --docker-env HTTPS_PROXY= https://corporate-proxy:80 --docker-env NO_PROXY=localhost,127.0.0.0/8,192.0.0.0/8
否则根本无法工作。在 docker 上构建一些镜像后,我创建了两个服务和两个 pod:
---
apiVersion: v1
kind: Pod
metadata:
name: app
labels:
name: app
spec:
containers:
- name: app
image: image_app
ports:
- containerPort: 7777
volumeMounts:
- mountPath: /codeage
name: code-volume
readOnly: false
imagePullPolicy: IfNotPresent
tty: true
volumes:
- hostPath:
path: /codeage
name: code-volume
---
apiVersion: v1
kind: Pod
metadata:
name: db
labels:
name: db
spec:
containers:
- name: db
image: postgres
ports:
- containerPort: 5432
volumeMounts:
- mountPath: /var/lib/postgresql
name: db-data
imagePullPolicy: IfNotPresent
tty: true
volumes:
- hostPath:
path: /db-data
name: db-data
---
apiVersion: v1
kind: Service
metadata:
name: db
spec:
type: NodePort
ports:
- name: 'db-port'
port: 5432
targetPort: 5432
selector:
name: db
---
apiVersion: v1
kind: Service
metadata:
name: app
labels:
name: app
spec:
type: NodePort
ports:
- name: apport
port: 7777
targetPort: 7777
selector:
name: app
---
我无法从“app”pod 内(ssh)对“db”执行 ping 操作:
sh-4.2# ping db
PING db.default.svc.cluster.local (10.0.0.116) 56(84) bytes of data.
From chicago11-rtr-3-v411.us.corporate.com (10.60.172.X) icmp_seq=1 Destination Host Unreachable
^C
正如您所见,nslookup 工作并提供了正确的 clusterIP 10.0.0.116 和主机名“db.default.svn.cluster.local”
我可以 ping 节点本身。我无法 ping kube-dns...
大家有什么想法吗?
除了使用内置 DNS 服务之外,还有其他选择吗?
最佳答案
我们无法 ping 通服务 IP 地址,您可以使用服务 IP telnet 到服务中定义的端口 5432
。
关于docker - Kubernetes/minikube 无法 ping 通同一集群中的 pod,但 nslookup 可以工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47759375/