首頁  >  文章  >  CMS教程  >  官方例子:k8s輕鬆跑起一個wordpress

官方例子:k8s輕鬆跑起一個wordpress

藏色散人
藏色散人轉載
2021-11-24 16:02:533516瀏覽

以下由WordPress教學欄位介紹關於k8s 部署wordpress 官方範例方式,希望對需要的朋友有幫助!

k8s 部署wordpress 官方範例方式

要使用k8s跑起一個wordpress說容易也容易,說難也難難點是對基礎要求比較高,涉及到Service,persistentVolumeClaim,volumes

##容易是在於官方有現成的例子(https://kubernetes.io/docs/tutorials/stateful-application/mysql-wordpress-persistent-volume/)

# #按照教程,只需要幾行程式碼就可以搞定

首先,建立一個kustomization.yaml 檔案內容如下

secretGenerator:
  - name: mysql-pass
    literals:
      - password=123456
resources:
  - mysql-deployment.yaml
  - wordpress-deployment.yaml
# 下载两个配置文件
curl -LO https://k8s.io/examples/application/wordpress/mysql-deployment.yaml
curl -LO https://k8s.io/examples/application/wordpress/wordpress-deployment.yaml
# 最后运行
kubectl apply -k .
# 查看暴露出来的IP
kubectl get services wordpress

關於kustomize

#簡單說一個工具,減少維護多套環境yaml的工作量

kustomize 解決的痛點

一般應用都會存在多套部署環境:開發環境、測試環境、生產環境,多套環境意味著存在多套K8S 應用資源YAML。而這麼多套 YAML 之間只存在微小配置差異,例如鏡像版本不同、Label 不同等,而這些不同環境下的YAML 經常會因為人為疏忽而導致配置錯誤。再者,多套環境的 YAML 維護通常是透過把一個環境下的 YAML 拷貝出來然後對差異的地方進行修改。一些類似 Helm 等應用程式管理工具需要額外學習DSL 語法。總結以上,在k8s 環境下存在多套環境的應用,經常遇到以下幾個問題:

如何管理不同環境或不同團隊的應用的Kubernetes YAML 資源如何以某種方式管理不同環境的微小差異,使得資源配置可以復用,減少copy and change 的工作量如何簡化維護應用的流程,不需要額外學習模板語法Kustomize 透過以下幾種方式解決了上述問題:

kustomize 透過Base & Overlays 方式(下文會說明)方式維護不同環境的應用配置kustomize 使用patch 方式複用Base 配置,並在Overlay 描述與Base 應用配置的差異部分來實現資源復用kustomize 管理的都是Kubernetes 原生YAML 文件,不需要學習額外的DSL 語法

注意

由於官方中使用service類型是LoadBalancer,這個只有部署到公有雲上才有效,如果你使用自己搭建的k8s,可以使用NodePort的service 提供一個參考的範例

apiVersion: v1
kind: Service
metadata:
  name: service-wordpress
  labels:
    app: wordpress
spec:
  selector:
    app: wordpress
    tier: frontend
  type: NodePort # service类型
  ports:
    - port: 80 # 默认情况下,为了方便起见,`targetPort` 被设置为与 `port` 字段相同的值。
      nodePort: 30012 # 指定绑定的node的端口(默认的取值范围是:30000-32767), 如果不指定,会默认分配
      targetPort: 80

以上是官方例子:k8s輕鬆跑起一個wordpress的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:juejin.im。如有侵權,請聯絡admin@php.cn刪除