加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 服务器 > 搭建环境 > Windows > 正文

帮助你驾驭 Kubernetes 的 4 个工具

发布时间:2019-07-18 09:34:25 所属栏目:Windows 来源:Scott Mccarty
导读:副标题#e# 在本系列的第三篇文章中,Kubernetes 基础:首先学习如何使用,我强调你应该学会使用 Kubernetes,而不是建造它。我还解释说,在 Kubernetes 中,你必须学习最小的一组原语来建模应用程序。我想强调这一点:你需要学习的这组原语是最简单的原语集
副标题[/!--empirenews.page--]

在本系列的第三篇文章中,Kubernetes 基础:首先学习如何使用,我强调你应该学会使用 Kubernetes,而不是建造它。我还解释说,在 Kubernetes 中,你必须学习最小的一组原语来建模应用程序。我想强调这一点:你需要学习的这组原语是最简单的原语集,你可以通过它们学习如何实现生产级的应用程序部署(即高可用性 [HA]、多容器、多应用程序)。换句话说,学习 Kubernetes 内置的原语集比学习集群软件、集群文件系统、负载平衡器、让人发疯的 Apache 和 Nginx 的配置、路由器、交换机、防火墙和存储后端更容易 —— 这些是你在传统的 IT 环境(虚拟机或裸机)中建模简单的 HA 应用程序所需要的东西。

帮助你驾驭 Kubernetes 的 4 个工具

在这第四篇文章中,我将分享一些有助于你学习快速驾驭 Kubernetes 的工具。

1、Katacoda

无疑,Katacoda 是试驾 Kubernetes 集群的最简单方法。只需单击一下,五秒钟后就可以将基于 Web 的终端直接连接到正在运行的 Kubernetes 集群中。这对于使用和学习来说非常棒。我甚至将它用于演示和测试新想法。Katacoda 提供了一个完整的临时环境,在你使用完毕后可以回收利用。

OpenShift Playground

OpenShift Playground

Kubernetes Playground

Kubernetes PlaygroundKatacoda 提供了一个临时的环境和更深入的实验室环境。例如,我最近三四年主讲的 Linux Container Internals Lab 是在 Katacoda 中构建的。

Katacoda 在其主站点上维护了若干 Kubernetes 和云教程并与 Red Hat 合作以支持了一个 OpenShift 的专用学习门户。了解一下,它们是极好的学习资源。

当你第一次学习驾驶翻斗车时,最好先观察一下其他人的驾驶方式。

2、Podman generate kube

podman generate kube 命令是一个很棒的子命令,可以帮助用户自然地从运行简单容器的简单容器引擎转换到运行许多容器的集群用例(正如我在上篇文章中所描述的那样)。Podman 通过让你启动一个新的容器,然后导出这个可工作的 Kube YAML,并在 Kubernetes 中启动它来实现这一点。看看这个(你可以在 Katacoda lab 中运行它,它已经有了 Podman 和 OpenShift)。

首先,请注意运行容器的语法与 Docker 非常相似:

  1. podman run -dtn two-pizza quay.io/fatherlinux/two-pizza 

不过这个是其它容器引擎所没有的:

  1. podman generate kube two-pizza 

输出:

  1. # Generation of Kubernetes YAML is still under development! 
  2. # Save the output of this file and use kubectl create -f to import 
  3. # it into Kubernetes. 
  4. # Created with podman-1.3.1 
  5. apiVersion: v1 
  6. kind: Pod 
  7. metadata: 
  8.   creationTimestamp: "2019-06-07T08:08:12Z" 
  9.   labels: 
  10.     app: two-pizza 
  11.   name: two-pizza 
  12. spec: 
  13.   containers: 
  14.   - command: 
  15.     - /bin/sh 
  16.     - -c 
  17.     - bash -c 'while true; do /usr/bin/nc -l -p 3306 < /srv/hello.txt; done' 
  18.     env: 
  19.     - name: PATH 
  20.       value: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 
  21.     - name: TERM 
  22.       value: xterm 
  23.     - name: HOSTNAME 
  24.     - name: container 
  25.       value: oci 
  26.     image: quay.io/fatherlinux/two-pizza:latest 
  27.     name: two-pizza 
  28.     resources: {} 
  29.     securityContext: 
  30.       allowPrivilegeEscalation: true 
  31.       capabilities: {} 
  32.       privileged: false 
  33.       readOnlyRootFilesystem: false 
  34.     tty: true 
  35.     workingDir: / 
  36. status: {} 
  37. --- 
  38. apiVersion: v1 
  39. kind: Service 
  40. metadata: 
  41.   creationTimestamp: "2019-06-07T08:08:12Z" 
  42.   labels: 
  43.     app: two-pizza 
  44.   name: two-pizza 
  45. spec: 
  46.   selector: 
  47.     app: two-pizza 
  48.   type: NodePort 
  49. status: 
  50.   loadBalancer: {} 

(编辑:PHP编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读