Ser*_*raf 3 kubernetes kubectl minikube
Kubernetes 问题:我似乎无法从本地机器访问我的服务(pod 正在 minikube 上运行),当我运行命令 kubectl 时,describe pod pod-id我看到这两行但我不知道它们是否有任何关系能够访问部署:
Port: 8888/TCP
Host Port: 0/TCP
Run Code Online (Sandbox Code Playgroud)
但是当我跑
kubectl get services
Run Code Online (Sandbox Code Playgroud)
我看不到外部 IP
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
ci-master NodePort 10.103.13.96 <none> 8888:31388/TCP 1m
Run Code Online (Sandbox Code Playgroud)
这是我的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
Run Code Online (Sandbox Code Playgroud)
我认为应该与我的部分相关的部分deployment.yaml:
spec:
template:
spec:
containers:
- name: ci
image: rand/image-one:latest
ports:
- containerPort: 8888
Run Code Online (Sandbox Code Playgroud)
当我尝试使用该服务访问该服务时,minikube service ci-master我会无限期地收到此消息:
Waiting, endpoint for service is not ready yet...
该服务正在服务,当我尝试时,我kubectl describe pod pod-id在底部看到这一行:
Type Reason Age From Message
Normal Started 24m kubelet, minikube Started container
Run Code Online (Sandbox Code Playgroud)
我错过了什么?
我缺少的是服务类型,如果我想要从外部世界访问的东西,我必须选择LoadBalancer.
所以这个简单的改变修复了它:
spec:
type: LoadBalancer
ports:
- port: 8888
targetPort: 8888
Run Code Online (Sandbox Code Playgroud)
现在我终于有:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
ci-master LoadBalancer 10.15.243.32 35.211.12.22 80:32463/TCP 1m
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3430 次 |
| 最近记录: |