gpt4 book ai didi

kubernetes - 无法访问 Kubernetes 服务

转载 作者:行者123 更新时间:2023-12-02 11:34:42 27 4
gpt4 key购买 nike

Kubernetes 问题:当我运行命令时,我似乎无法从本地机器(pod 正在 minikube 上运行)访问我的服务kubectl describe pod pod-id 看到这两行但不知道是否与无法访问部署有什么关系:

Port:           8888/TCP
Host Port: 0/TCP

但是当我运行时

kubectl get services

我没有看到外部 IP

NAME         TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)          AGE
ci-master NodePort 10.103.13.96 <none> 8888:31388/TCP 1m

这是我的 service.yaml 文件:

apiVersion: v1
kind: Service
metadata:
name: ci-master
labels:
app: ci
tier: fullstack
role: master
spec:
type: NodePort
ports:
- port: 8888
targetPort: 8888
selector:
app: ci
role: master
tier: fullstack

我认为应该与我的 deployment.yaml 相关的部分:

spec:
template:
spec:
containers:
- name: ci
image: rand/image-one:latest
ports:
- containerPort: 8888

当我尝试使用 minikube service ci-master 访问该服务时,我会无限期地收到此消息:等待,服务端点尚未准备好...

服务正在服务,当我尝试 kubectl describe pod pod-id 我在底部看到这一行:

  Type    Reason                 Age   From               Message
Normal Started 24m kubelet, minikube Started container

我错过了什么?

最佳答案

我缺少的是服务类型,如果我想从外部世界访问某些东西,我必须选择 LoadBalancer

所以这个简单的改变解决了它:

spec:
type: LoadBalancer
ports:
- port: 8888
targetPort: 8888

现在我终于有了:

NAME         TYPE           CLUSTER-IP     EXTERNAL-IP     PORT(S)        AGE
ci-master LoadBalancer 10.15.243.32 35.211.12.22 80:32463/TCP 1m

关于kubernetes - 无法访问 Kubernetes 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50768273/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com