在微软 Azure 云上安装自主部署版 OpenResty XRay
今天我们要演示如何在微软的 Azure 云上部署自主部署版的 OpenResty XRay。视频演示中用到的命令说明,详见文档。
创建订阅和资源组
第一步我们要创建订阅和资源组,打开 Azure 首页,点击订阅图标。
这里我们已经提前创建好了订阅,名字叫 Azure subscription 1。
再返回 Azure 首页。
准备创建资源组,点击资源组图标。
这里我们已经创建好了资源组,名字叫 AKS。资源组 AKS 隶属于刚刚创建好的订阅 Azure subscription 1。
创建 Azure Kubernetes 服务
第二步,我们来创建 Azure Kubernetes 服务。我们返回 Azure 首页,点击 Kubernetes 服务图标。
点击创建按钮,选择创建 Kubernetes cluster。
选择刚刚创建好的资源组,名为 AKS。
这里选择群组的配置,这里按照自己的需求选择即可。
这里根据需求来选择节点的大小。
其他的配置根据自己的需求调节,然后点击 Review + Create 即可。
等待部署完成。
准备环境变量
第三步,准备后面要用到的环境变量。
打开一个终端,登录 Linux 机器。
我们使用 .env.sample 文件来做演示。
这些环境变量的使用说明详见文档。
通过命令行登录 Azure
第四步,通过命令行登录 Azure。
注意,我们需要事先安装好 Azure 的命令行工具 az。
具体安装文档详见 Azure 官方文档
这里我们使用 az login 命令,打开提示的 URL。
登录成功后,界面如下:
执行 az account 命令绑定订阅。
接下来,执行 az aks 命令,获取 Kubernetes 的访问配置。
为 Kubernetes 创建 namespace 和 secret
第五步,为 Kubernetes 创建 namespace 和 secret。
先创建 Kubernetes namespace。
再创建 Kubernetes Secret。
创建 Azure Disk
第六步,创建 Azure Disk。
先获取节点的资源组名称。
再使用命令创建 Azure Disk。
使用相同的命令创建要使用的多块硬盘,这些命令在我们的文档中都有说明。
更新持久化卷的配置文件
第七步,更新持久化卷的配置文件。
这一步使用我们提供的配置文件即可。
获取节点的资源组名称。
用 sed 命令替换持久化卷的的配置。
更新 kubernetes 的配置文件
第八步,更新 kubernetes 的配置文件。
XRAY_CONSOLE_HOST 变量是部署好 OpenResty XRay 服务后,要使用的域名。
用 sed 命令替换 kubernetes 配置。
创建持久化卷
第九步,创建持久化卷。
使用 kubectl apply 命令即可。
持久化卷创建成功后,可以使用 kubectl get 命令查看。
部署 Kubernetes 服务
第十步,部署 Kubernetes 服务。
这里也是使用 kubectl apply 命令部署 Kubernetes 服务。
使用 kubectl get 命令查看服务状态为 Running 即为部署成功。
配置应用网关
最后一步,是配置应用网关。
打开 Azure 管理界面首页。打开 Kubernetes 服务。
选择 Networking 来配置网络。
勾选 Enable ingress controller。
保存。
保存后,会创建一个 ingress controller。
选中刚创建的 ingress controller,选择 Backend pool 配置。
编辑已经存在的后端池。
后端的 IP 地址通过文档中所示的命令可以获取到。
保存。
接下来,选择 Health Probes 进行配置 这一步是配置到后端的健康检查。
按图示填好保存即可。
接下来,我们开始配置 Listeners 即配置网关的监听端口以及服务。
可以看到默认已经配置了监听 80 端口的 http 服务。
我们再添加一个监听 443 端口的 https 服务。
这里需要上传 https 服务所需的证书。
按照文档中说明的命令可以转换普通证书为 pfx 格式。
Password 处填写 pfx 格式的证书密码。
我们选择 Rules 来配置转发规则。
修改默认的规则。
将 Listener 改为我们刚刚创建的 443 端口的 https 服务。
再选择 Backend target 子选项卡 确认 Backend target 和 Backend settings 选择正确。
点击保存。
选择 Health Probe,查看健康检查是否通过。
这里的 Status 显示通过。
确认要访问的域名已经解析到网关的公有 IP 地址。
好了,我们访问域名来确认 OpenResty XRay 服务是否部署成功。
当我们看到如下的登录界面就是已经部署成功了。
关于作者
章亦春是开源 OpenResty® 项目创始人兼 OpenResty Inc. 公司 CEO 和创始人。
章亦春(Github ID: agentzh),生于中国江苏,现定居美国湾区。他是中国早期开源技术和文化的倡导者和领军人物,曾供职于多家国际知名的高科技企业,如 Cloudflare、雅虎、阿里巴巴, 是 “边缘计算“、”动态追踪 “和 “机器编程 “的先驱,拥有超过 22 年的编程及 16 年的开源经验。作为拥有超过 4000 万全球域名用户的开源项目的领导者。他基于其 OpenResty® 开源项目打造的高科技企业 OpenResty Inc. 位于美国硅谷中心。其主打的两个产品 OpenResty XRay(利用动态追踪技术的非侵入式的故障剖析和排除工具)和 OpenResty Edge(最适合微服务和分布式流量的全能型网关软件),广受全球众多上市及大型企业青睐。在 OpenResty 以外,章亦春为多个开源项目贡献了累计超过百万行代码,其中包括,Linux 内核、Nginx、LuaJIT、GDB、SystemTap、LLVM、Perl 等,并编写过 60 多个开源软件库。
关注我们
如果您喜欢本文,欢迎关注我们 OpenResty Inc. 公司的博客网站 。也欢迎扫码关注我们的微信公众号:
翻译
我们提供了英文版原文和中译版(本文) 。我们也欢迎读者提供其他语言的翻译版本,只要是全文翻译不带省略,我们都将会考虑采用,非常感谢!