ホームページ >CMS チュートリアル >&#&プレス >公式例: k8s は wordpress を簡単に実行します

公式例: k8s は wordpress を簡単に実行します

藏色散人
藏色散人転載
2021-11-24 16:02:533544ブラウズ

次のコラム WordPress チュートリアル では、k8s に wordpress をデプロイする公式のサンプル方法を紹介します。

k8s 公式の wordpress 導入方法例

k8s を使って wordpress を実行するのは言うは易く行うは難しですが、難しいとも言えます。 Service、persistentVolumeClaim、ボリュームなど、基本的な要件が比較的高いことです。

簡単なのは、公式の既製のサンプル (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 セット間には、イメージ バージョンの違い、ラベルの違いなど、わずかな構成の違いしかありません。これらの異なる環境での YAML は、人間の過失による構成エラーにつながることがよくあります。さらに、複数の環境での YAML のメンテナンスは、通常、1 つの環境で YAML をコピーし、相違点を変更することによって行われます。 Helm などの一部のアプリケーション管理ツールでは、DSL 構文をさらに学習する必要があります。上記を要約すると、k8s 環境にはアプリケーション用の複数の環境があり、次の問題がよく発生します。

異なる環境または異なるチームのアプリケーションの Kubernetes YAML リソースを管理する方法Kubernetes を管理する方法異なる環境の YAML リソースを特定の方法で使用する わずかな違いにより、リソース構成を再利用できるため、コピーと変更の作業負荷が軽減される テンプレート構文を追加で学習せずにアプリケーションを保守するプロセスを簡素化する方法 Kustimize は、次の方法で上記の問題を解決します:

Base & Overlays 方式による kusTOMize (後述) は、異なる環境でのアプリケーション構成を維持します。kusTOMize は、Patch 方式を使用して Base 構成を再利用し、Overlay 記述と Base アプリケーションの間でリソースの再利用を実現します。 kusTOMize はすべての Kubernetes ネイティブ YAML ファイルを管理します。追加の DSL 構文を学習する必要はありません。

Note

正式なサービス タイプは LoadBalancer であるため、これはのみ有効ですパブリック クラウドにデプロイされる場合、自分で構築する場合 k8s の場合、NodePort のサービスを使用して参照例を提供できます

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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はjuejin.imで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。