kubesphere創建并部署 WordPress

WordPress 簡介

WordPress(使用 PHP 語言編寫)是免費、開源的內容管理系統,用戶可以使用 WordPress 搭建自己的網站。完整的 WordPress 應用程序包括以下 Kubernetes 對象,由 MySQL 作為后端數據庫。

WordPress

目的

本教程演示了如何在 KubeSphere 中創建應用程序(以 WordPress 為例)并在集群外進行訪問。

準備工作

您需要準備一個 project regular 帳戶,并在一個項目中賦予該帳戶 operator 角色(該用戶已被邀請參加該項目)。有關更多信息,請參見創建企業空間、項目、帳戶和角色

預計操作時間

大約 15 分鐘。

動手實驗

步驟 1:創建密鑰

創建 MySQL 密鑰

環境變量 WORDPRESS_DB_PASSWORD 是連接到 WordPress 數據庫的密碼。在此步驟中,您需要創建一個密鑰來保存將在 MySQL Pod 模板中使用的環境變量。

  1. 使用 project-regular 帳戶登錄 KubeSphere 控制臺,訪問 demo-project 的詳情頁并導航到配置中心。在密鑰中,點擊右側的創建

    create-secret
  2. 輸入基本信息(例如,將其命名為 mysql-secret)并點擊下一步。在下一頁中,選擇類型默認,然后點擊添加數據來添加鍵值對。輸入如下所示的鍵 (Key) MYSQL_ROOT_PASSWORD 和值 (Value) 123456,點擊右下角 進行確認。完成后,點擊創建按鈕以繼續。

    key-value

創建 WordPress 密鑰

按照以上相同的步驟創建一個名為 wordpress-secret 的 WordPress 密鑰,輸入鍵 (Key) WORDPRESS_DB_PASSWORD 和值 (Value) 123456。創建的密鑰顯示在列表中,如下所示:

wordpress-secrets

步驟 2:創建存儲卷

  1. 訪問存儲管理下的存儲卷,點擊創建

    volumes
  2. 輸入卷的基本信息(例如,將其命名為 wordpress-pvc),然后點擊下一步

  3. 存儲卷設置中,需要選擇一個可用的存儲類型,并設置訪問模式存儲卷容量。您可以直接使用如下所示的默認值,點擊下一步繼續。

    volume-settings
  4. 對于高級設置,您無需為當前步驟添加額外的配置,點擊創建完成即可。

步驟 3:創建應用程序

添加 MySQL 后端組件

  1. 導航到應用負載下的應用,選擇自制應用,再點擊構建自制應用

    composing-app
  2. 輸入基本信息(例如,在應用名稱一欄輸入 wordpress),然后點擊下一步

    basic-info
  3. 服務組件中,點擊添加服務以在應用中設置組件。

    add-service
  4. 設置組件的服務類型為有狀態服務

  5. 輸入有狀態服務的名稱(例如 mysql)并點擊下一步

    mysqlname
  6. 容器鏡像中,點擊添加容器鏡像

    container-image
  7. 在搜索框中輸入 mysql:5.6,按下回車鍵,然后點擊使用默認端口。由于配置還未設置完成,請不要點擊右下角的 按鈕。

    add-container

    備注

    高級設置中,請確保內存限制不小于 1000 Mi,否則 MySQL 可能因內存不足而無法啟動。

  8. 向下滾動到環境變量,點擊引用配置文件或密匙。輸入名稱 MYSQL_ROOT_PASSWORD,然后選擇資源 mysql-secret 和前面步驟中創建的密鑰 MYSQL_ROOT_PASSWORD,完成后點擊 保存配置,最后點擊下一步繼續。

    environment-var
  9. 選擇掛載存儲中的添加存儲卷模板,輸入存儲卷名稱 (mysql) 和掛載路徑(模式:讀寫,路徑:/var/lib/mysql)的值,如下所示:

    volume-template

    完成后,點擊 保存設置并點擊下一步繼續。

  10. 高級設置中,可以直接點擊添加,也可以按需選擇其他選項。

![advanced-setting](https://upload-images.jianshu.io/upload_images/22408736-ef36ce304a6d604e.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
  1. 現在,MySQL 組件已經添加完成,如下所示:
![mysql-finished](https://upload-images.jianshu.io/upload_images/22408736-f2f93c2a5d64b163.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

添加 WordPress 前端組件

  1. 再次點擊添加服務,這一次選擇無狀態服務。輸入名稱 wordpress 并點擊下一步
![name-wordpress](https://upload-images.jianshu.io/upload_images/22408736-ea09669d3813df2b.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
  1. 與上述步驟類似,點擊添加容器鏡像,在搜索欄中輸入 wordpress:4.8-apache 并按下回車鍵,然后點擊使用默認端口
![container-image-page](https://upload-images.jianshu.io/upload_images/22408736-0333638a5b60d630.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
  1. 向下滾動到環境變量,點擊引用配置文件或密匙。這里需要添加兩個環境變量,請根據以下截圖輸入值:
*   對于 `WORDPRESS_DB_PASSWORD`,請選擇在步驟 1 中創建的 `wordpress-secret` 和 `WORDPRESS_DB_PASSWORD`。
*   點擊**添加環境變量**,分別輸入 `WORDPRESS_DB_HOST` 和 `mysql` 作為鍵 (Key) 和值 (Value)。

警告

對于此處添加的第二個環境變量,該值必須與步驟 5 中創建 MySQL 有狀態服務設置的名稱完全相同。否則,WordPress 將無法連接到 MySQL 對應的數據庫。

![environment-varss](https://upload-images.jianshu.io/upload_images/22408736-bfb94e539c22f5b0.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

點擊 **√** 保存配置,再點擊**下一步**繼續。
  1. 掛載存儲中,點擊添加存儲卷,并選擇已有存儲卷
![add-volume-page](https://upload-images.jianshu.io/upload_images/22408736-5f29e5ed1ab41c00.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

![choose-existing-volume](https://upload-images.jianshu.io/upload_images/22408736-92e914eb650c0f29.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
  1. 選擇上一步創建的 wordpress-pvc,將模式設置為讀寫,并輸入掛載路徑 /var/www/html。點擊 保存,再點擊下一步繼續。
![mount-volume-page](https://upload-images.jianshu.io/upload_images/22408736-afbfe65a0024128d.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
  1. 高級設置中,可以直接點擊添加創建服務,也可以按需選擇其他選項。
![advanced](https://upload-images.jianshu.io/upload_images/22408736-b9472eee8a18ac00.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
  1. 現在,前端組件也已設置完成。點擊下一步繼續。
![components-finished](https://upload-images.jianshu.io/upload_images/22408736-d63593a16ce90241.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
  1. 您可以在這里設置路由規則(應用路由 Ingress),也可以直接點擊創建
![ingress-create](https://upload-images.jianshu.io/upload_images/22408736-9053b1af9c84780a.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
  1. 創建后,應用將顯示在下面的列表中。
![application-created](https://upload-images.jianshu.io/upload_images/22408736-679cec9ec140b317.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

步驟 4:驗證資源

工作負載中,分別檢查部署有狀態副本集wordpress-v1mysql-v1 的狀態。如果它們的運行狀態如下圖所示,就意味著 WordPress 已經成功創建。

wordpress-deployment
mysql-running

步驟 5:通過 NodePort 訪問 WordPress

  1. 若要在集群外訪問服務,請首先導航到服務。點擊 wordpress 右側的三個點后,選擇編輯外網訪問

    edit-internet-access
  2. 訪問方式中選擇 NodePort,然后點擊確定

    access-method
  3. 點擊服務進入詳情頁,可以看到暴露的端口。

    nodeport-number
  4. 通過 {Node IP}:{NodePort} 訪問此應用程序,可以看到下圖:

    wordpress-page

參考
https://kubesphere.com.cn/docs/quick-start/wordpress-deployment/

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 今天感恩節哎,感謝一直在我身邊的親朋好友。感恩相遇!感恩不離不棄。 中午開了第一次的黨會,身份的轉變要...
    迷月閃星情閱讀 10,607評論 0 11
  • 彩排完,天已黑
    劉凱書法閱讀 4,275評論 1 3
  • 沒事就多看看書,因為腹有詩書氣自華,讀書萬卷始通神。沒事就多出去旅游,別因為沒錢而找借口,因為只要你省吃儉用,來...
    向陽之心閱讀 4,812評論 3 11
  • 表情是什么,我認為表情就是表現出來的情緒。表情可以傳達很多信息。高興了當然就笑了,難過就哭了。兩者是相互影響密不可...
    Persistenc_6aea閱讀 125,987評論 2 7