本文介绍如何通过Helm CLI部署WordPress应用。
前提条件
已使用kubectl连接Kubernetes集群。具体操作,请参见获取集群KubeConfig并通过kubectl工具连接集群。
已安装Helm CLI,具体操作请参见Installing Helm。
部署WordPress
执行以下命令,配置aliyunhub Repo。
helm repo add aliyunhub https://aliacs-app-catalog.oss-cn-hangzhou.aliyuncs.com/charts-incubator/
预期输出:
"aliyunhub" has been added to your repositories
执行以下命令,查询WordPress Chart。
helm search repo aliyunhub | grep wordpress
预期输出:
aliyunhub/ack-wordpress-sample 9.4.0 5.4.2 Web publishing platform for building blogs and ...
执行以下命令部署WordPress。
helm install wordpress aliyunhub/ack-wordpress-sample \ --set mariadb.master.persistence.enabled=true \ --set mariadb.master.persistence.storageClass=alicloud-disk-topology-alltype \ --set mariadb.master.persistence.size=20Gi \ --set persistence.enabled=false
说明为了实现数据的持久化,MariaDB使用持久化存储卷保存数据。
持久化存储选用阿里云SSD云盘,大小为20 GiB,并通过配置StorageClassName自动化创建。
WordPress不需要进行数据持久化,数据卷persistence.enabled可配置为false。
输出结果如下,表示WordPress已部署完成。
NAME: wordpress LAST DEPLOYED: ******** NAMESPACE: default STATUS: deployed REVISION: 1 NOTES: ** Please be patient while the chart is being deployed ** Your WordPress site can be accessed through the following DNS name from within your cluster: wordpress-ack-wordpress-sample.default.svc.cluster.local (port 80) To access your WordPress site from outside the cluster follow the steps below: 1. Get the WordPress URL by running these commands: NOTE: It may take a few minutes for the LoadBalancer IP to be available. Watch the status with: 'kubectl get svc --namespace default -w wordpress-ack-wordpress-sample' export SERVICE_IP=$(kubectl get svc --namespace default wordpress-ack-wordpress-sample --template "{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}") echo "WordPress URL: http://$SERVICE_IP/" echo "WordPress Admin URL: http://$SERVICE_IP/admin" 2. Open a browser and access WordPress using the obtained URL. 3. Login with the following credentials below to see your blog: echo Username: user echo Password: $(kubectl get secret --namespace default wordpress-ack-wordpress-sample -o jsonpath="{.data.wordpress-password}" | base64 --decode)
重要输出结果中提供了查看WordPress Service IP地址与user账户密码的命令。由于示例中所使用的WordPress版本原因,这些命令的输出可能不符合预期。
执行以下命令,查看WordPress所属的Pod是否正常运行。
kubectl get pod | grep wordpress
输出如下,说明Pod已处于running状态。
wordpress-ack-wordpress-sample-**********-***** 1/1 Running 0 109s wordpress-mariadb-0 1/1 Running 0 109s
登录WordPress
执行以下命令,查看WordPress的IP地址。
kubectl get svc --namespace default wordpress-ack-wordpress-sample --template '{{range .status.loadBalancer.ingress}}{{.ip}}{{ "\n" }}{{end}}'
预期输出:
106.14.***.***
执行以下命令获取user账户的访问密码。
kubectl get secret --namespace default wordpress-ack-wordpress-sample -o jsonpath="{.data.wordpress-password}" | base64 -d | { cat; printf "\n"; }
在浏览器中使用步骤1中得到的IP地址,以
<IP地址>/login
为格式访问WordPress。然后使用用户名和密码登录。
(可选)删除应用
您可执行以下命令,删除已部署的WordPress。
helm delete wordpress
预期输出:
release "wordpress" uninstalled
文档内容是否对您有帮助?