以下由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中文網其他相關文章!