【发布时间】:2020-11-11 21:51:09
【问题描述】:
我正在使用 Docker 运行我的 Kubernetes 集群,而不是使用 Minikube 集群(需要大量内存),但是在应用所需文件后,我无法获得外部 URL(就像我使用 Minikube 时一样)在我的 Chrome 浏览器中运行它。
考虑以下几点:
豆荚:
apiVersion: v1
kind: Pod
metadata:
name: webapp-release-0-5
labels:
app: webapp
release: "0-5"
spec:
containers:
- name: webapp
image: richardchesterwood/k8s-fleetman-webapp-angular:release0-5
及其服务:
apiVersion: v1
kind: Service
metadata:
name: fleetman-webapp
spec:
# This defines which pods are going to be represented by this Service
# The service becomes a network endpoint for either other services
# or maybe external users to connect to (eg browser)
selector:
app: webapp
release: "0-5"
ports:
- name: http
port: 80
nodePort: 30080
type: NodePort
从命令行(WINDOWS 10 CLI)应用两者后:
>>> kubectl get services
fleetman-webapp NodePort 10.96.227.189 <none> 80:30080/TCP 5m57s
>>> kubectl get po
webapp 1/1 Running 0 12m
webapp-release-0-5 1/1 Running 0 12m
但是,我没有这个 POD 的外部 URL 可以放在我的浏览器中以检查应用程序,就像我以前在 Minikube 中那样。
我们如何生成这样的 URL?
【问题讨论】:
-
I've had some trouble with this 过去,看起来那个问题确实没有令人满意的结果。那里的提示包括将服务更改为 LoadBalancer 类型、使用命令式
kubectl expose deployment命令或使用 pod 端端口。我倾向于使用kind 来满足我的本地 Kubernetes 需求,它对我很有帮助。
标签: docker kubernetes kubectl kubernetes-ingress minikube