取消
显示结果 
搜索替代 
您的意思是: 
cancel
1302
查看次数
0
有帮助
0
评论
julianchen
Spotlight
Spotlight
Kubernetes是一项神奇的技术,我个人通过它在自己SaaS上的实施扩展、部署和管理过程而获益匪浅。但是客观而言,并非每个人都能够在采用它之后迅速获益的,一般如下的原因:
· 对于容器技术熟悉程度的缺乏
· 应用架构不利于使用到Kubernetes的优势
· 增加的工作量和所花费的时间
因此,如果你对Kubernetes感兴趣,却又不确定是否值得投入必要的时间与资源的话,那么本文应该比较适合您来参考阅读。
您对容器是否有经验?
为了理解Kubernetes能够为您做些什么,您首先需要了解容器能够提供哪些优势。因此在你花时间开始使用Kubernetes之前,请事先准备如下几点:
容器化您的应用程序
首先也是最重要的:您的应用程序必须已经实现了容器化。这意味着您已经定义好了相关的步骤来设定一个基本的OS映像,并且将您的应用程序打包成为一个文件(通常是一个Dockerfile)安装进去了。
通过上述过程、以及定义配置应用程序所需的环境变量(如:应用程序所使用的数据库的URL、用户名和密码)都是至关重要的。这些能够保证您容器映像对于Kubernetes来说是可用的。
同时,您还要记下应用程序所需运行时的各种依赖关系,并且理解如何去使用它们的容器版本。
理解存储是如何运作的
容器一般被设计为仅保存运行某个应用程序所需的代码。由于对容器进行卸载(tear down)和启动(spin up)的进程(在处理多个容器时,该现象十分常见)都会破坏存储在该容器文件系统中的所有数据,因此任何持久性数据都需要被存储到其他地方。
在考虑Kubernetes时,您应当去理解容器存储是如何被设定运作的,以及如何处理诸如备份数据、在容器之间移动数据、以及从容器外部访问数据等问题。
Kubernetes通过诸如自动资源调配的功能,使得存储管理更易于实现。该功能也使得您的存储提供商(如AWS EBS)在忙于创建新的容器时,会及时创建一些新的卷,并自动加载它们。
理解网络是如何运作的
您的网络构建方式会对您使用Kubernetes产生巨大的影响。对于新手来说,了解如何在做好隐藏部分信息的情况下,将特定的系统开放给外部互联网应用(如数据库),同时保持服务之间的通信是非常重要的。根据经验,我们需要掌握一些更为复杂的背景知识,包括:如何集成负载平衡,以及给每个客户的实例定义主机名等。这些都会使得Kubernetes的使用变得容易得多。
Kubernetes能够解决您当前面临的各种问题吗?

如果您并没有使用容器来部署自己的应用,那么您可能就不需要用到Kubernetes了。因为Kubernetes所解决的问题,一般是你在试用和扩展一个基于容器的架构时所碰到的。
下面是我认为Kubernetes在试图解决容器扩展问题时,所能表现出的见长之处。
扩展资源
从本质上来说,Kubernetes是一组节点的集群,它提供了可由容器的工作负载所使用的计算资源。这种群集架构能够非常容易地对各种资源进行扩展或缩减。您只要在群集中添加或删除某些节点,Kubernetes就会自动利用这些资源,或者是对您现有资源进行工作负载上的重新分配。
该特性曾经解决了我所面临的一个棘手问题。因为我最初只有一台单独的服务器,为了能够持续扩展(这本来会是一个麻烦的手动过程),我只需要在CLI(命令行界面中)使用一条命令,就有能力对自己的架构进行自由缩放了。
相关阅读:
【小目标,一个“译”】+ 如何获知Kubernetes是否适合您的SaaS(2)
入门指南

使用上面的搜索栏输入关键字、短语或问题,搜索问题的答案。

我们希望您在这里的旅程尽可能顺利,因此这里有一些链接可以帮助您快速熟悉思科社区:









快捷链接