在 minikube 中不工作的服务上暴露的 pod 的最小连接测试
minimal connectivity test for a pod exposed on service not working in minikube
我使用的是minikube版本:v1.25.1,win10,k8s版本1.22
有 1 个节点,上面有 2 个 pods:main
和 front
,1 个服务 - svc-main
.
我正在尝试执行到前面并通过服务调用主服务,并看到一些确认连接正常的消息。
main.yaml:
apiVersion: v1
kind: Pod
metadata:
labels:
app: main
name: main
namespace: default
spec:
containers:
- name: main
image: nginx
command: ["/bin/sh","-c"]
args: ["while true; do echo date; sleep 2; done"]
front.yaml:
apiVersion: v1
kind: Pod
metadata:
labels:
app: front
name: front
spec:
containers:
- image: nginx
name: front
command:
- /bin/sh
- -c
- while true; echo date; sleep 2; done
服务是这样创建的:
k expose pod ngin --name=svc-main --type=ClusterIP --port=80 --target-port=80
k get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
svc-main ClusterIP 10.104.26.249 <none> 80:31775/TCP 11m
当我尝试从前面卷曲时,它说“无法解析主机:svc-main”
k exec front -it -- sh
curl svc-main:80
或这个
curl http://svc-main:80
curl 10.104.26.249:80
我试了31775端口,结果一样。我做错了什么?!
问题是当您使用 yaml 文件创建 Kubernetes pod 时,您正在使用自定义命令和参数覆盖 nginx docker 映像中定义的默认入口点和 Cmd:
command: ["/bin/sh","-c"]
args: ["while true; do echo date; sleep 2; done"]
这就是 nginx 网络服务器在创建后无法工作的原因 pods。
您应该删除这些行,删除 运行 pods,并创建新的 pods。之后,您将可以通过运行
访问nginx网页
# curl svc-main
在你的前舱内。
您可以阅读有关为 Pod 中的容器定义命令和参数的更多信息here
还有一篇关于 Docker CMD 和入口点的好文章 here
我使用的是minikube版本:v1.25.1,win10,k8s版本1.22
有 1 个节点,上面有 2 个 pods:main
和 front
,1 个服务 - svc-main
.
我正在尝试执行到前面并通过服务调用主服务,并看到一些确认连接正常的消息。
main.yaml:
apiVersion: v1
kind: Pod
metadata:
labels:
app: main
name: main
namespace: default
spec:
containers:
- name: main
image: nginx
command: ["/bin/sh","-c"]
args: ["while true; do echo date; sleep 2; done"]
front.yaml:
apiVersion: v1
kind: Pod
metadata:
labels:
app: front
name: front
spec:
containers:
- image: nginx
name: front
command:
- /bin/sh
- -c
- while true; echo date; sleep 2; done
服务是这样创建的:
k expose pod ngin --name=svc-main --type=ClusterIP --port=80 --target-port=80
k get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
svc-main ClusterIP 10.104.26.249 <none> 80:31775/TCP 11m
当我尝试从前面卷曲时,它说“无法解析主机:svc-main”
k exec front -it -- sh
curl svc-main:80
或这个
curl http://svc-main:80
curl 10.104.26.249:80
我试了31775端口,结果一样。我做错了什么?!
问题是当您使用 yaml 文件创建 Kubernetes pod 时,您正在使用自定义命令和参数覆盖 nginx docker 映像中定义的默认入口点和 Cmd:
command: ["/bin/sh","-c"]
args: ["while true; do echo date; sleep 2; done"]
这就是 nginx 网络服务器在创建后无法工作的原因 pods。 您应该删除这些行,删除 运行 pods,并创建新的 pods。之后,您将可以通过运行
访问nginx网页# curl svc-main
在你的前舱内。
您可以阅读有关为 Pod 中的容器定义命令和参数的更多信息here
还有一篇关于 Docker CMD 和入口点的好文章 here