Kubernetes 会成为 AWS 对抗 Google 的武器吗?|航海日志 Vol.23

798 阅读6分钟

➤ Kubernetes 会成为 AWS 对抗 Google 的武器吗?


亚马逊 Web 服务 (AWS) 也许会建立一个基于 Kubernetes 的云容器管理工具。根据与 AWS 商务合作伙伴的信息报告: 因为 Kubernetes 的盛行,AWS 倍感威胁。


Kubernetes 是 Google 开发的开源软件, Redhat、IBM、VMWare 等大型企业均在使用它来管理其客户基础架构上的容器集群。同时,Kubernetes 也被广泛用来管理跨多台机器的人工智能 (AI) 测试。


虽然 AWS 仍是市场上主要的公有云, 但它面临着来自竞争对手微软 Azure 和谷歌公有云 (GPC) 的巨大挑战。谷歌一直特别关注机器学习和 AI 服务, 他们的首席执行官 Sundar Pichai 表示, 谷歌计划让 GPC 成为 "机器学习的最佳云"。


因此,AWS 意识到 Kubernetes-based 云服务可以帮助他们吸引更多的 AI 业务。AWS 已经支持 Kubernetes 的容器管理和编排工具, 自身也拥有类似服务, 称为 EC2 容器服务 (ECS)。


有统计显示, 在 GPC 上使用 Kubernetes 更容易, 这意味着用户开始使用 AWS 软件时, 通常会切换到 Google。同时,ECS 的使用率非常低且客户不喜欢它。


与此同时, Kubernetes 在一个蓬勃发展的市场中仍然是领先的容器编排工具, 预计在 2020 年的营收将从去年的 7 亿 6200 万美元增长至近 27 亿美元。根据最近一份关于容器和云的编排的 SDxCentral 报告的调查, 64% 的受访者说他们使用的是 Kubernetes。相比之下, 36% 的人说他们在使用 Swarm, 18% 的人说他们在使用 Mesos。


据传, AWS 还将与 VMware 就开发企业数据中心软件进行谈判。如果这一情况属实, 这将会将 AWS 移动到私有云中, 并允许它与微软 Azure 栈直接竞争, 这使得企业可以在自己的数据中心中构建 Azure 公有云的私有云版本。


➤ Docker 贴士:全面自动化配备&使用端口


Tips 1:全面自动化配备

不需要解决任何的可扩展问题,你就可以顺利地过渡到使用 Docker。你可以开始使用Docker,而不用尝试像 CI / CD,集群,负载均衡服务以及你可以想到的所有其类似部署功能。


Docker 只是帮助您构建和分发应用程序。所有的部署功能都需要了解基础。这意味着刚刚开始部署时,只需让开发中的 Docker 运行应用程序,然后尝试从单盒中将其复制到生产之中。


Tips 2:使用端口

你知道 Docker 是作为 Dockerized 服务的防火墙吗?你也可以通过端口监听来启用或禁用服务。


例如,如果你正在运行 Flask,Node 或 Rails 应用程序的服务器,则可能会在 8000 端口上进行监听,然后在端口 80(http)和/或 443(https)上设置 nginx 代理该应用程序。


如果您希望 Web 应用程序服务器不被公开到外部世界,但是仍然可以访问同一网络上的其他容器(例如本例中的 nginx ),那么您只需运行您的容器即可 -p 8000 完成。


如果您确实希望将 Web 应用服务器公开到外部,也非常的简单:-p 8000:8000。其格式是 HOST:CONTAINER,并会将容器的端口发布到主机,这又使外部可以访问该端口。


➤ 5 分钟内用 Docker 体验 Ghost 1.0

Ghost 1.0 在今天发布了,其中包括一个新的编辑器和一个新的安装方法。

Docker 可以轻松使用 Ghost,只需按照以下步骤操作,不到 5 分钟即可完成一个博客。

创建 Docker 镜像

我将 Ghost 1.0 的 DockerFile 放在了一起。由于该项目添加了 Ghost CLI,它比以前的版本简单得多。

我已经将我的图像推送到 Docker Hub:alexellis2/ghost:1.0,所以你可以跳过下一步,除非你想自己重新构建图像。

自己构建镜像(可选)

输入:

$ git clone https://github.com/alexellis/ghost-on-docker/
$ cd ghost-on-docker/1.0/x86_64
$ docker build -t alexellis2/ghost:1.0 .

运行博客

创建完成之后就可以进行运行。

$ docker run -p 2368:2368 --name ghost -ti alexellis2/ghost:1.0

你可以在新窗口中登录进博客:http://localhost:2368



用全新设计的仪表盘列出你的帖子。

编辑:


完成!


➤ 如何在 Mac/Windows 平台上监控 Docker

现在,Mac/Windows 平台上的 Docker 已经添加了监控功能,很酷对吧?从此以后,我们再也不需要猜测我们的开发机器和测试环境的运行性能了!

首先,对于初学者来说,我们本来就需要随时随地关注这些内容。其次,为了真正了解环境,我们需要了解环境中实例的运行内容以及运行方式。最后,了解环境和它对工作负载的影响是很有必要的。

了解 Mac/Windows 平台上 Docker 的进程 我们首先开始配置安装。以下屏幕截图来自Mac,但步骤也适用于 Windows。我们现在将在我们的 Docker 上启用 Daemon 指标,格式为 Prometheus。

  • 打开 Docker 的偏好设置菜单


  • 找到Daemon菜单,并点击Advanced


  • 在代码框内,我们将添加一条语句来启用指标。在debug下面添加以下代码行:"metrics-addr":"0.0.0.0:9323"

  • 点击 Apply & Restart然后等待Docker重启。

  • 测试。打开任意浏览器访问:http://127.0.0.1:9323/metrics


使用 Prometheus 来监控


我们 Mac/Windows 的 Docker 现在正在创建 Prometheus 格式的指标。

接下来,让我们启动一个 Prometheus 堆栈,并使用这些新创建的指标。

  • 将 Prometheus 栈克隆到本地:git clone https://github.com/vegasbrianc/prometheus.git .

  • 编辑prometheus/prometheus.yml文件。在文件的末尾找到static_configs

  • 使用运行Docker的机器的主机名或IP输入: targets: ['hostname-here:9323']

  • 保存并退出

  • 开启Prometheus栈:docker-compose up -d


配置 Grafana


  • 在浏览器中打开Grafana:http://0.0.0.0:3000

  • 登录:用户名admin,密码foobar

  • 登录后,系统将用绿色按钮提示添加数据源。点击Add Data Source

  • 在数据源中输入: Name: Prometheus Tpye: Prometheus URL: http://prometheus:9090 Access: Leave default HTTP Auth: Basic Auth user: admin password: foobar

  • 点击 Save & Test


  • 点击右上角的 Grafana 图标,将鼠标悬停在仪表板上,然后选择导入。Load

  • 除了数据源的最后一个字段,其他内容都填充完毕了。


总结

我们设置了 Docker Daemon 记录指标,配置并启动了 Prometheus 堆栈以使用这些指标,最后导入了 Grafana 仪表板作为起点。您现在应该能够创建一些有趣的图形和报告了。

这一期的『航海日志』就到这里,下期再浪~


参考链接

  • https://www.sdxcentral.com/articles/news/aws-plan-battle-google-using-kubernetes/2017/07/

  • https://nickjanetakis.com/blog/

  • https://blog.alexellis.io/try-ghost-1-0-in-docker/

  • https://www.brianchristner.io/how-to-monitor-docker-for-mac-windows/


作者介绍

杨雪颖 Misha:DaoCloud 技术顾问,能文能撸码の通用型选手,兼 Labs 吉祥物。


上期回顾:

用 Docker 现代化你的传统企业!|航海日志 Vol.22