通过Helm CLI部署wordpress到ACK集群
1. 创建实验资源
开始实验之前,您需要先创建云服务器ECS和ACK集群资源。
说明:在实验资源创建过程中,云起实验室会为ECS安装命令行工具kubectl并连接ACK集群,方便您在后续实验中通过ECS中的Kubernetes命令行工具kubectl来管理ACK集群以及应用。
- 在实验室页面,单击创建资源。
- (可选)在实验室页面左侧导航栏中,单击云产品资源列表,可查看本次实验资源相关信息(例如IP地址、用户信息等)。
说明:资源创建过程需要7~10分钟。
2. 安装Helm
本步骤将指导您如何安装Kubernetes包管理工具Helm。
- 执行如下命令,下载Helm3。
说明:本步骤下载链接仅供云起实验室环境使用,非实验室环境下载并安装Helm,请参考安装Helm。
wget https://labfileapp.oss-cn-hangzhou.aliyuncs.com/helm-v3.9.0-linux-amd64.tar.gz
- 执行如下命令,解压Helm3。
tar -zxvf helm-v3.9.0-linux-amd64.tar.gz
- 执行如下命令,移动到系统目录。
mv linux-amd64/helm /usr/local/bin/helm
3. 部署业务应用
本步骤将指导您如何使用Kubernetes包管理工具Helm部署一个WordPress应用到ACK集群。
- 执行如下命令,添加WordPress官方Repo地址到Helm仓库。
helm repo add bitnami https://charts.bitnami.com/bitnami
- 执行如下命令,部署WordPress应用到ACK集群。
说明:
- 为了实现数据的持久化,mariadb使用持久化存储卷保存数据。
- 持久化存储选用阿里云 ssd 云盘,大小为 20Gi,并通过配置 StorageClassName 自动化创建。
- WordPress不需要进行数据持久化,数据卷选项可配置为false。
helm install wordpress bitnami/wordpress \ --set mariadb.primary.persistence.enabled=true \ --set mariadb.primary.persistence.storageClass=alicloud-disk-ssd \ --set mariadb.primary.persistence.size=20Gi \ --set persistence.enabled=false
返回结果如下,表示WordPress应用已部署到ACK集群中。
- 执行如下命令,查看WordPress应用部署状态。
helm status wordpress
返回结果如下,您可查看到WordPress应用部署状态。
4. 访问WordPress应用
本步骤将指导您如何访问WordPress应用。
- 获取WordPress应用访问地址。
1.1 执行如下命令,获取WordPress的LoadBalancer地址。
kubectl get svc wordpress
返回结果如下,EXTERNAL-IP就是当前WordPress应用外网可访问的IP地址。
1.2 在您的本机浏览器中,打开新页签并访问http://EXTERNAL-IP地址。
说明:如果您无法访问该地址,请您稍等片刻后再访问即可。
返回如下页面,表示您已成功访问WordPress应用首页。
- 访问WordPress应用后台。
2.1 为了能进入WordPress应用的后台,我们先要获取后台的用户名和密码。在前文的helm status wordpress命令的返回值已经给出了提示,访问后台的用户名就是user。
2.2 执行如下命令,获取user用户的密码。
kubectl get secret wordpress -o jsonpath="{.data.wordpress-password}" | base64 --decode
返回结果如下,您可查看到user用户的密码。
2.3 在您的本机浏览器中,打开新页签并访问http://EXTERNAL-IP/login地址。
2.4 在后台登录页面,输入用户名和密码,单击Log In。
返回如下页面,表示您已成功访问WordPress应用后台。
5. 删除WordPress应用
本步骤将指导您如何删除部署在ACK集群中的WordPress应用。
执行如下命令,删除部署的WordPress应用。
helm uninstall wordpress
返回结果如下,表示您已删除部署的WordPress应用。
实验链接:https://developer.aliyun.com/adc/scenario/3a56e53c64ef4d0198c2a7f23da36c5f