➤ 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