From 34b8e9515a7c73dc4b4a9fccd1cf652ac0fbaee5 Mon Sep 17 00:00:00 2001 From: Qiming Teng Date: Sat, 10 Oct 2020 14:43:31 +0800 Subject: [PATCH] [zh] Sync changes to Hello Minikube page This is a sync of English site change (236c65c18e71fbc0d62adf6c0bbe7ded74676fec). --- content/zh/docs/tutorials/hello-minikube.md | 384 ++++++++++---------- content/zh/examples/minikube/Dockerfile | 4 - content/zh/examples/minikube/server.js | 9 - 3 files changed, 184 insertions(+), 213 deletions(-) delete mode 100644 content/zh/examples/minikube/Dockerfile delete mode 100644 content/zh/examples/minikube/server.js diff --git a/content/zh/docs/tutorials/hello-minikube.md b/content/zh/docs/tutorials/hello-minikube.md index 9b9fa09999..7a0853348d 100644 --- a/content/zh/docs/tutorials/hello-minikube.md +++ b/content/zh/docs/tutorials/hello-minikube.md @@ -1,5 +1,5 @@ --- -title: 你好 Minikube +title: 你好,Minikube content_type: tutorial weight: 5 menu: @@ -7,13 +7,12 @@ menu: title: "Get Started" weight: 10 post: > -

Ready to get your hands dirty? Build a simple Kubernetes cluster that runs "Hello World" for Node.js.

+

准备好动手操作了么?构建一个简单的 Kubernetes 集群来运行示例应用。

card: name: tutorials weight: 10 --- -本教程向您展示如何使用 [Minikube](/zh/docs/setup/learning-environment/minikube) 和 Katacoda 在 Kubernetes 上运行一个简单的 “Hello World” Node.js 应用程序。Katacoda 提供免费的浏览器内 Kubernetes 环境。 +本教程向你展示如何使用 [Minikube](/zh/docs/setup/learning-environment/minikube) 和 Katacoda +在 Kubernetes 上运行一个应用示例。Katacoda 提供免费的浏览器内 Kubernetes 环境。 -{{< note >}} -如果您已在本地安装 [Minikube](/zh/docs/tasks/tools/install-minikube/),也可以按照本教程操作。 - +{{< note >}} +如果你已在本地安装 [Minikube](/zh/docs/tasks/tools/install-minikube/),也可以按照本教程操作。 {{< /note >}} - ## {{% heading "objectives" %}} - -* 将 "Hello World" 应用程序部署到 Minikube。 +* 将一个示例应用部署到 Minikube。 * 运行应用程序。 * 查看应用日志 - - ## {{% heading "prerequisites" %}} -本教程提供了从以下文件构建的容器镜像: - -{{< codenew language="js" file="minikube/server.js" >}} - -{{< codenew language="conf" file="minikube/Dockerfile" >}} - - -有关 `docker build` 命令的更多信息,请参阅 [Docker 文档](https://docs.docker.com/engine/reference/commandline/build/)。 - - +本教程提供了容器镜像,使用 NGINX 来对所有请求做出回应: @@ -92,25 +75,27 @@ For more information on the `docker build` command, read the [Docker documentati 1. 点击 **启动终端** - {{< kat-button >}} + {{< kat-button >}} - {{< note >}}If you installed Minikube locally, run `minikube start`.{{< /note >}} + + {{< note >}} + 如果你在本地安装了 Minikube,运行 `minikube start`。 + {{< /note >}} -2. 在浏览器中打开 Kubernetes dashboard: +2. 在浏览器中打开 Kubernetes 仪表板(Dashboard): - ```shell - minikube dashboard - ``` + ```shell + minikube dashboard + ``` - 3. 仅限 Katacoda 环境:在终端窗口的顶部,单击加号,然后单击 **选择要在主机 1 上查看的端口**。 4. 仅限 Katacoda 环境:输入“30000”,然后单击 **显示端口**。 @@ -129,18 +114,22 @@ recommended way to manage the creation and scaling of Pods. ## 创建 Deployment -Kubernetes [*Pod*](/zh/docs/concepts/workloads/pods/pod/) 是由一个或多个为了管理和联网而绑定在一起的容器构成的组。本教程中的 Pod 只有一个容器。Kubernetes [*Deployment*](/zh/docs/concepts/workloads/controllers/deployment/) 检查 Pod 的健康状况,并在 Pod 中的容器终止的情况下重新启动新的容器。Deployment 是管理 Pod 创建和扩展的推荐方法。 +Kubernetes [*Pod*](/zh/docs/concepts/workloads/pods/pod/) 是由一个或多个 +为了管理和联网而绑定在一起的容器构成的组。 本教程中的 Pod 只有一个容器。 +Kubernetes [*Deployment*](/zh/docs/concepts/workloads/controllers/deployment/) +检查 Pod 的健康状况,并在 Pod 中的容器终止的情况下重新启动新的容器。 +Deployment 是管理 Pod 创建和扩展的推荐方法。 +1. 使用 `kubectl create` 命令创建管理 Pod 的 Deployment。该 Pod 根据提供的 Docker + 镜像运行 Container。 -1. 使用 `kubectl create` 命令创建管理 Pod 的 Deployment。该 Pod 根据提供的 Docker 镜像运行 Container。 - - ```shell - kubectl create deployment hello-node --image=k8s.gcr.io/echoserver:1.4 - ``` + ```shell + kubectl create deployment hello-node --image=k8s.gcr.io/echoserver:1.4 + ``` + - 输出结果类似于这样: + 输出结果类似于这样: - ``` - NAME READY UP-TO-DATE AVAILABLE AGE - hello-node 1/1 1 1 1m - ``` + ``` + NAME READY UP-TO-DATE AVAILABLE AGE + hello-node 1/1 1 1 1m + ``` - 3. 查看 Pod: - ```shell - kubectl get pods - ``` + ```shell + kubectl get pods + ``` - + - 输出结果类似于这样: + 输出结果类似于这样: - ``` - NAME READY STATUS RESTARTS AGE - hello-node-5f76cf6ccf-br9b5 1/1 Running 0 1m - ``` + ``` + NAME READY STATUS RESTARTS AGE + hello-node-5f76cf6ccf-br9b5 1/1 Running 0 1m + ``` - 4. 查看集群事件: - ```shell - kubectl get events - ``` + ```shell + kubectl get events + ``` - 5. 查看 `kubectl` 配置: - ```shell - kubectl config view - ``` + ```shell + kubectl config view + ``` - {{< note >}}有关 kubectl 命令的更多信息,请参阅 [kubectl 概述](/zh/docs/reference/kubectl/overview/)。{{< /note >}} +{{< note >}} +有关 kubectl 命令的更多信息,请参阅 [kubectl 概述](/zh/docs/user-guide/kubectl-overview/)。 +{{< /note >}} - ## 创建 Service -默认情况下,Pod 只能通过 Kubernetes 集群中的内部 IP 地址访问。要使得 `hello-node` 容器可以从 Kubernetes 虚拟网络的外部访问,您必须将 Pod 暴露为 Kubernetes [*Service*](/zh/docs/concepts/services-networking/service/)。 +默认情况下,Pod 只能通过 Kubernetes 集群中的内部 IP 地址访问。 +要使得 `hello-node` 容器可以从 Kubernetes 虚拟网络的外部访问,你必须将 Pod +暴露为 Kubernetes [*Service*](/zh/docs/concepts/services-networking/service/)。 - 1. 使用 `kubectl expose` 命令将 Pod 暴露给公网: - ```shell - kubectl expose deployment hello-node --type=LoadBalancer --port=8080 - ``` + ```shell + kubectl expose deployment hello-node --type=LoadBalancer --port=8080 + ``` - The `--type=LoadBalancer` flag indicates that you want to expose your Service - outside of the cluster. + + 这里的 `--type=LoadBalancer` 标志表明你希望将你的 Service 暴露到集群外部。 +2. 查看你刚刚创建的 Service: -2. 查看您刚刚创建的服务: + ```shell + kubectl get services + ``` - ```shell - kubectl get services - ``` + - + 输出结果类似于这样: - 输出结果类似于这样: + ``` + NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE + hello-node LoadBalancer 10.108.144.78 8080:30369/TCP 21s + kubernetes ClusterIP 10.96.0.1 443/TCP 23m + ``` - ``` - NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE - hello-node LoadBalancer 10.108.144.78 8080:30369/TCP 21s - kubernetes ClusterIP 10.96.0.1 443/TCP 23m - ``` - - - 在支持负载均衡器的云服务提供商上,将提供一个外部 IP 来访问该服务。在 Minikube 上,`LoadBalancer` 使得服务可以通过命令 `minikube service` 访问。 + + 对于支持负载均衡器的云服务平台而言,平台将提供一个外部 IP 来访问该服务。 + 在 Minikube 上,`LoadBalancer` 使得服务可以通过命令 `minikube service` 访问。 3. 运行下面的命令: - ```shell - minikube service hello-node - ``` + ```shell + minikube service hello-node + ``` -5. 仅限 Katacoda 环境:请注意在 service 输出中与 `8080` 对应的长度为 5 位的端口号。此端口号是随机生成的,可能与您不同。在端口号文本框中输入您自己的端口号,然后单击显示端口。如果是上面那个例子,就需要输入 `30369`。 +5. 仅限 Katacoda 环境:请注意在 service 输出中与 `8080` 对应的长度为 5 位的端口号。 + 此端口号是随机生成的,可能与你的不同。 + 在端口号文本框中输入你自己的端口号,然后单击显示端口。 + 对应于上面的例子,需要输入 `30369`。 - 这将打开一个浏览器窗口,为您的应用程序提供服务并显示 “Hello World” 消息。 + 这将打开一个浏览器窗口,为你的应用程序提供服务并显示应用的响应。 ## 启用插件 -Minikube 有一组内置的 {{< glossary_tooltip text="插件" term_id="addons" >}},可以在本地 Kubernetes 环境中启用、禁用和打开。 +Minikube 有一组内置的 {{< glossary_tooltip text="插件" term_id="addons" >}}, +可以在本地 Kubernetes 环境中启用、禁用和打开。 1. 列出当前支持的插件: - ```shell - minikube addons list - ``` + ```shell + minikube addons list + ``` - + + 输出结果类似于这样: - 输出结果类似于这样: - - ``` - addon-manager: enabled - dashboard: enabled - default-storageclass: enabled - efk: disabled - freshpod: disabled - gvisor: disabled - helm-tiller: disabled - ingress: disabled - ingress-dns: disabled - logviewer: disabled - metrics-server: disabled - nvidia-driver-installer: disabled - nvidia-gpu-device-plugin: disabled - registry: disabled - registry-creds: disabled - storage-provisioner: enabled - storage-provisioner-gluster: disabled - ``` + ``` + addon-manager: enabled + dashboard: enabled + default-storageclass: enabled + efk: disabled + freshpod: disabled + gvisor: disabled + helm-tiller: disabled + ingress: disabled + ingress-dns: disabled + logviewer: disabled + metrics-server: disabled + nvidia-driver-installer: disabled + nvidia-gpu-device-plugin: disabled + registry: disabled + registry-creds: disabled + storage-provisioner: enabled + storage-provisioner-gluster: disabled + ``` - 2. 启用插件,例如 `metrics-server`: - ```shell - minikube addons enable metrics-server - ``` + ```shell + minikube addons enable metrics-server + ``` - + - 输出结果类似于这样: + 输出结果类似于这样: - ``` - metrics-server was successfully enabled - ``` + ``` + metrics-server was successfully enabled + ``` - 3. 查看刚才创建的 Pod 和 Service: - ```shell - kubectl get pod,svc -n kube-system - ``` + ```shell + kubectl get pod,svc -n kube-system + ``` - + - 输出结果类似于这样: + 输出结果类似于这样: - ``` - NAME READY STATUS RESTARTS AGE - pod/coredns-5644d7b6d9-mh9ll 1/1 Running 0 34m - pod/coredns-5644d7b6d9-pqd2t 1/1 Running 0 34m - pod/metrics-server-67fb648c5 1/1 Running 0 26s - pod/etcd-minikube 1/1 Running 0 34m - pod/influxdb-grafana-b29w8 2/2 Running 0 26s - pod/kube-addon-manager-minikube 1/1 Running 0 34m - pod/kube-apiserver-minikube 1/1 Running 0 34m - pod/kube-controller-manager-minikube 1/1 Running 0 34m - pod/kube-proxy-rnlps 1/1 Running 0 34m - pod/kube-scheduler-minikube 1/1 Running 0 34m - pod/storage-provisioner 1/1 Running 0 34m + ``` + NAME READY STATUS RESTARTS AGE + pod/coredns-5644d7b6d9-mh9ll 1/1 Running 0 34m + pod/coredns-5644d7b6d9-pqd2t 1/1 Running 0 34m + pod/metrics-server-67fb648c5 1/1 Running 0 26s + pod/etcd-minikube 1/1 Running 0 34m + pod/influxdb-grafana-b29w8 2/2 Running 0 26s + pod/kube-addon-manager-minikube 1/1 Running 0 34m + pod/kube-apiserver-minikube 1/1 Running 0 34m + pod/kube-controller-manager-minikube 1/1 Running 0 34m + pod/kube-proxy-rnlps 1/1 Running 0 34m + pod/kube-scheduler-minikube 1/1 Running 0 34m + pod/storage-provisioner 1/1 Running 0 34m - NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE - service/metrics-server ClusterIP 10.96.241.45 80/TCP 26s - service/kube-dns ClusterIP 10.96.0.10 53/UDP,53/TCP 34m - service/monitoring-grafana NodePort 10.99.24.54 80:30002/TCP 26s - service/monitoring-influxdb ClusterIP 10.111.169.94 8083/TCP,8086/TCP 26s - ``` + NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE + service/metrics-server ClusterIP 10.96.241.45 80/TCP 26s + service/kube-dns ClusterIP 10.96.0.10 53/UDP,53/TCP 34m + service/monitoring-grafana NodePort 10.99.24.54 80:30002/TCP 26s + service/monitoring-influxdb ClusterIP 10.111.169.94 8083/TCP,8086/TCP 26s + ``` - 4. 禁用 `metrics-server`: + ```shell + minikube addons disable metrics-server + ``` - ```shell - minikube addons disable metrics-server - ``` + - + 输出结果类似于这样: - 输出结果类似于这样: - - ``` - metrics-server was successfully disabled - ``` + ``` + metrics-server was successfully disabled + ``` - ## 清理 -现在可以清理您在集群中创建的资源: +现在可以清理你在集群中创建的资源: ```shell kubectl delete service hello-node @@ -427,8 +417,7 @@ kubectl delete deployment hello-node - -可选的,停止 Minikube 虚拟机(VM): +可选地,停止 Minikube 虚拟机(VM): ```shell minikube stop @@ -437,25 +426,20 @@ minikube stop - -可选的,删除 Minikube 虚拟机(VM): +可选地,删除 Minikube 虚拟机(VM): ```shell minikube delete ``` - - ## {{% heading "whatsnext" %}} - * 进一步了解 [Deployment 对象](/zh/docs/concepts/workloads/controllers/deployment/)。 -* 学习更多关于 [部署应用](/zh/docs/tasks/run-application/run-stateless-application-deployment/)。 -* 学习更多关于 [Service 对象](/zh/docs/concepts/services-networking/service/)。 - +* 进一步了解[部署应用](/zh/docs/tasks/run-application/run-stateless-application-deployment/)。 +* 进一步了解 [Service 对象](/zh/docs/concepts/services-networking/service/)。 diff --git a/content/zh/examples/minikube/Dockerfile b/content/zh/examples/minikube/Dockerfile deleted file mode 100644 index dd58cb7e75..0000000000 --- a/content/zh/examples/minikube/Dockerfile +++ /dev/null @@ -1,4 +0,0 @@ -FROM node:6.14.2 -EXPOSE 8080 -COPY server.js . -CMD [ "node", "server.js" ] diff --git a/content/zh/examples/minikube/server.js b/content/zh/examples/minikube/server.js deleted file mode 100644 index 76345a17d8..0000000000 --- a/content/zh/examples/minikube/server.js +++ /dev/null @@ -1,9 +0,0 @@ -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);