使用Docker Kubernetes集群获取URL并在没有Minikube Cluster的情况下访问正在运行的服务

时间:2020-07-22 11:05:24

标签: docker kubernetes kubectl kubernetes-ingress minikube

我正在使用Docker而不是Minikube Cluster运行Kubernetes集群(需要大量内存),但是在应用所需的文件后,我无法获得外部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?

1 个答案:

答案 0 :(得分:1)

以定制的方式工作特别困难。我建议使用kind来创建kubernetes节点作为docker容器。您可以通过http://<NODEIP>:<NODEPORT>访问NodePort服务。要获取NODEIP,请使用kubectl get nodes