65.9K
CodeProject 正在变化。 阅读更多。
Home

在 AWS 上开始使用 OpenShift

emptyStarIconemptyStarIconemptyStarIconemptyStarIconemptyStarIcon

0/5 (0投票)

2017年2月2日

CPOL

3分钟阅读

viewsIcon

8330

设置你自己的 OpenShift 集群可能有点复杂,但在本文中,我将向你展示如何使其变得相当轻松。

Get up and running with OpenShift on AWS

OpenShift 是红帽提供的用于托管和扩展应用程序的平台即服务产品。它建立在谷歌流行的 Kubernetes 系统之上。

使用 OpenShift Online 快速启动和运行非常简单,因为它是一个云托管解决方案。设置你自己的集群稍微复杂一些,但在本文中,我将向你展示如何使其变得相当轻松。

Get up and running with OpenShift on AWS

这个项目的代码库位于 github.com/dwmkerr/terraform-aws-openshift

创建基础设施

OpenShift 对其运行的硬件有一些相当具体的要求1。还需要设置 DNS,以及互联网访问等等。

总而言之,对于一个基础设置,你将需要类似这样的东西

Get up and running with OpenShift on AWS

也就是 (深吸一口气)

  1. 一个网络
  2. 一个公共子网,通过网关访问互联网
  3. 一个主节点,它将运行 OpenShift 主节点
  4. 一对节点主机,它们将运行额外的 OpenShift 节点
  5. 一个托管区域,它允许我们配置 DNS
  6. 一个堡垒,它允许我们通过 SSH 连接到主机,而无需直接暴露它们
  7. 某种基本的日志聚合,我正在使用 CloudWatch

这不是一个生产级设置,需要冗余的主节点等等,但它提供了基础知识。

与其手动设置此基础设施,不如使用 Terraform 脚本化。要设置基础设施,请克隆 github.com/dwmkerr/terraform-aws-openshift 代码库

$ git clone git@github.com:dwmkerr/terraform-aws-openshift
...
Resolving deltas: 100% (37/37), done.  

然后使用 terraform CLI2 创建基础设施

$ cd terraform-aws-openshift/
$ terraform get && terraform apply

系统会要求你选择一个区域来部署网络,这里我使用的是 us-west-1

Get up and running with OpenShift on AWS

几分钟后,基础设施将被设置完成

Get up and running with OpenShift on AWS

快速浏览一下 AWS 控制台,即可看到我们设置的新主机

Get up and running with OpenShift on AWS

下一步是安装 OpenShift。

安装 OpenShift

有几种不同的安装 OpenShift 的方法,但我们将使用的方法称为“高级安装3”。这本质上涉及

  1. 创建一个“清单”,它指定 OpenShift 将安装在哪些主机上以及安装选项
  2. 下载高级安装代码
  3. 运行高级安装 Ansible Playbook

要创建清单,我们只需运行

sed "s/\${aws_instance.master.public_ip}/$(terraform output master-public_ip)/" 
inventory.template.cfg > inventory.cfg  

这会获取我们的“清单模板4”,并用我们主节点的公共 IP 填充它,该 IP 记录在 Terraform 输出变量中。

然后我们可以将清单复制到堡垒

ssh-add ~/.ssh/id_rsa  
scp ./inventory.cfg ec2-user@$(terraform output bastion-public_dns):~  

我们可以再次使用 Terraform 输出变量,这次获取堡垒 IP。最后,我们将我们的安装脚本通过管道传递到堡垒主机

cat install-from-bastion.sh | ssh -A ec2-user@$(terraform output bastion-public_dns) 

有一个 错误,这意味着你可能会看到 ansible-playbook: command not found,如果是这样,只需再次运行脚本即可。安装脚本克隆安装脚本并运行它们,使用我们提供的清单

Get up and running with OpenShift on AWS

这可能需要大约 10 分钟才能运行。就这样,OpenShift 就安装好了

open "https://$(terraform output master-public_dns):8443" 

点击“高级”并继续,因为我们使用的是自签名证书,大多数浏览器都会发出警告

Get up and running with OpenShift on AWS

输入任何用户名和密码(系统配置为默认允许任何人访问它),你将看到 OpenShift 控制台

Get up and running with OpenShift on AWS

由于设置需要三个 t2.large 实例,而这些实例在免费套餐中不可用,你可能需要在完成后清理

terraform destroy 

总结

希望你觉得这很有用,github 仓库的 README 中有更多详细信息和参考资料

欢迎评论和反馈!

历史

  • 2017 年 2 月 2 日:初始版本

© . All rights reserved.