讲解

捕鱼大亨网络版 v1.16 文档不再得到积极维护。您当前正在查看的版本是静态快照。有关最新文档,请参见 最新版本。

编辑这个页面

你好迷你库

This tutorial shows you how to run a simple 你好,世界 没有 de.js app on 捕鱼大亨网络版 using 迷你库 和Katacoda。 Katacoda提供了一个免费的浏览器内部捕鱼大亨网络版环境。

注意: 您还可以按照本教程进行操作’ve installed 迷你库本地.

目标

  • 将您好世界应用程序部署到Minikube。
  • 运行应用程序。
  • 查看应用程序日志。

在你开始之前

本教程提供了根据以下文件构建的容器映像:

minikube/server.js
var http = require('http');

var handleRequest = function(request, response) {
  console.log('Received request for URL: ' + request.url);
  response.writeHead(200);
  response.end('Hello World!');
};
var www = http.createServer(handleRequest);
www.listen(8080);
minikube/Dockerfile
FROM node:6.14.2
EXPOSE 8080
COPY server.js .
CMD node server.js

For more information on the docker build command, read the Docker文档.

创建一个Minikube集群

  1. 请点击 发射台

    注意: If you installed 迷你库本地, run minikube start.
  2. 在浏览器中打开捕鱼大亨网络版仪表板:

    minikube dashboard
  3. 仅限Katacoda环境:在终端窗格的顶部,单击加号,然后单击 选择要在主机1上查看的端口.

  4. Katacoda environment only: Type 30000, and then click 显示端口.

创建部署

捕鱼大亨网络版 是一组一个或多个容器, 为了管理和联网而捆绑在一起。在此的豆荚 本教程只有一个容器。 捕鱼大亨网络版 部署方式 检查您的健康状况 Pod并重新启动Pod’■容器(如果终止)。部署是 推荐的方法来管理Pod的创建和缩放。

  1. Use the kubectl create command to create a 部署方式 that manages a 荚. The Pod根据提供的Docker映像运行容器。

    kubectl create deployment hello-node --image=gcr.io/hello-minikube-zero-install/hello-node
  2. 查看部署:

    kubectl get deployments

    输出:

    NAME         READY   UP-TO-DATE   AVAILABLE   AGE
    hello-node   1/1     1            1           1m
  3. 查看Pod:

    kubectl get pods

    输出:

    NAME                          READY     STATUS    RESTARTS   AGE
    hello-node-5f76cf6ccf-br9b5   1/1       Running   0          1m
  4. 查看集群事件:

    kubectl get events
  5. View the kubectl configuration:

    kubectl config view
    注意: For more information about kubectlcommands, see the kubectl概述.

创建服务

默认情况下,只能通过其内部IP地址访问Pod。 捕鱼大亨网络版 cluster. To make the hello-node Container accessible from outside the 捕鱼大亨网络版虚拟网络,您必须将Pod暴露为 捕鱼大亨网络版 服务.

  1. Expose the 荚 to the public internet using the kubectl expose command:

    kubectl expose deployment hello-node --type=LoadBalancer --port=8080

    The --type=LoadBalancer flag indicates that you want to expose your 服务 在集群之外。

  2. 查看您刚刚创建的服务:

    kubectl get services

    输出:

    NAME         TYPE           CLUSTER-IP      EXTERNAL-IP   PORT(S)          AGE
    hello-node   LoadBalancer   10.108.144.78   <pending>     8080:30369/TCP   21s
    kubernetes   ClusterIP      10.96.0.1       <none>        443/TCP          23m

    在支持负载平衡器的云提供商上, 将提供一个外部IP地址来访问服务。在Minikube上, the LoadBalancer type makes the 服务 accessible through the minikube service命令。

  3. 运行以下命令:

    minikube service hello-node
  4. 仅限Katacoda环境:单击加号,然后单击 选择要在主机1上查看的端口.

  5. Katacoda environment only: 没有 te the 5 digit port number displayed opposite to 8080 in services output. This port number is randomly generated and it can be different for you. Type 30369 in the port number text box, then click 显示端口.

    这会打开一个浏览器窗口,为您的应用提供服务并显示“Hello World” message.

启用插件

迷你库具有一组内置的插件,可以在本地捕鱼大亨网络版环境中启用,禁用和打开。

  1. 列出当前支持的插件:

    minikube addons list

    输出:

    addon-manager: enabled
    coredns: disabled
    dashboard: enabled
    default-storageclass: enabled
    efk: disabled
    freshpod: disabled
    heapster: disabled
    ingress: disabled
    kube-dns: enabled
    metrics-server: disabled
    nvidia-driver-installer: disabled
    nvidia-gpu-device-plugin: disabled
    registry: disabled
    registry-creds: disabled
    storage-provisioner: enabled
  2. Enable an addon, for example, heapster:

    minikube addons enable heapster

    输出:

    heapster was successfully enabled
  3. 查看您刚刚创建的Pod和服务:

    kubectl get pod,svc -n kube-system

    输出:

    NAME                                        READY     STATUS    RESTARTS   AGE
    pod/heapster-9jttx                          1/1       Running   0          26s
    pod/influxdb-grafana-b29w8                  2/2       Running   0          26s
    pod/kube-addon-manager-minikube             1/1       Running   0          34m
    pod/kube-dns-6dcb57bcc8-gv7mw               3/3       Running   0          34m
    pod/kubernetes-dashboard-5498ccf677-cgspw   1/1       Running   0          34m
    pod/storage-provisioner                     1/1       Running   0          34m
    
    NAME                           TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)             AGE
    service/heapster               ClusterIP   10.96.241.45    <none>        80/TCP              26s
    service/kube-dns               ClusterIP   10.96.0.10      <none>        53/UDP,53/TCP       34m
    service/kubernetes-dashboard   没有 dePort    10.109.29.1     <none>        80:30000/TCP        34m
    service/monitoring-grafana     没有 dePort    10.99.24.54     <none>        80:30002/TCP        26s
    service/monitoring-influxdb    ClusterIP   10.111.169.94   <none>        8083/TCP,8086/TCP   26s
  4. Disable heapster:

    minikube addons disable heapster

    输出:

    heapster was successfully disabled

清理

现在,您可以清理在集群中创建的资源:

kubectl delete service hello-node
kubectl delete deployment hello-node

(可选)停止Minikube虚拟机(VM):

minikube stop

(可选)删除Minikube VM:

minikube delete

什么's next

反馈