在本系列的第三篇文章Kubernetes基础:首先学习如何使用,我强调你应该学习使用Kubernetes,而不是构建它。我还解释说,在Kubernetes中,您必须学习一组最小的原语来为应用程序建模。我想强调这一点:您需要学习的原语集是最简单的原语集,您可以通过它们学习如何实现生产级应用程序部署(即高可用性[HA]、多容器、多应用程序).换句话说,学习Kubernetes内置的一组原语比学习集群软件、集群文件系统、负载均衡器、疯狂的Apache和Nginx配置、路由器、交换机、防火墙和存储后端更容易——这些是你的什么需要在传统IT环境(虚拟或裸机)中为简单的HA应用程序建模。在第四篇文章中,我将分享一些工具,帮助您快速学习掌握Kubernetes。1.Katacoda毫无疑问,Katacoda是试驾Kubernetes集群最简单的方法。只需单击一下,五秒钟后,您就可以将基于Web的终端直接连接到正在运行的Kubernetes集群中。这很好用和学习。我什至将它用于演示和测试新想法。Katacoda提供了一个完整的临时环境,您可以在使用完后对其进行回收。OpenShiftPlaygroundKubernetesPlaygroundKatacoda提供了一个暂存环境和一个更深入的实验室环境。例如,过去三四年我一直在教授的LinuxContainerInternalsLab是用Katacoda构建的。Katacoda在其主站点上维护着多个Kubernetes和云教程,并与RedHat合作以支持OpenShift的专用学习门户。看看吧,它们是极好的学习资源。刚开始学开自卸车的时候,最好多观察一下别人是怎么开车的。2.Podmangeneratekubepodmangeneratekube命令是一个很棒的子命令,可以帮助用户自然地从运行简单容器的简单容器引擎过渡到运行许多容器的集群用例(如我在上一篇文章中所述)。Podman通过让您启动一个新容器,然后导出这个工作的KubeYAML,并在Kubernetes中启动它来做到这一点。看看这个(你可以在Katacoda实验室中运行它,它已经有Podman和OpenShift)。首先,请注意运行容器的语法与Docker非常相似:podmanrun-dtntwo-pizzaquay.io/fatherlinux/two-pizza但这在其他容器引擎中不可用:podmangeneratekubetwo-pizza输出:#GenerationofKubernetesYAMListillunderdevelopment!##保存此文件的输出并使用kubectlcreate-f将其导入Kubernetes。##使用podman-1.3.1api版本创建:v1kind:Podmetadata:creationTimestamp:"2019-06-07T08:08:12Z"labels:app:two-pizzaname:two-pizzaspec:containers:-command:-/bin/sh--c-bash-c'whiletrue;do/usr/bin/nc-l-p33068080/TCP4mservice/mysqlClusterIP172.30.13.195
