K8Sは、PVCのglusterfsがポッドにアプリケーションを作成します。

シーン: 

効果をglusterfs:glusterfsを通じて共有データに複数のホストを許可します。(すなわち、分散ファイルストレージ)

 

複数のノードのノードに配備K8S:

    シーン1:各更新開始は、おそらく別のノードのノードに切り替えているポッド。しかし、ファイルを読んだ後、あなたが起動するたびにもショーに、最後の操作を呼び出すために、この時間を必要と便利なglusterfs。

    シーン2:この状況は非常に完全にストレージを集中さglusterfsとして、ポッドを保持する必要性によって生成され、中央に格納されたログ(例えば、)。

              以上の2つのケースは、直接次のコードを貼り付け通信および対話ポッドglusterfsを示します。

K8Sホストは、オペレーティングシステムは、CentOSのLinuxリリース1810年7月6日を統一します。

IP 役割 K8Sバージョン コンフィギュレーション
192.168.133.128 マスター v1.14.2 図2c 2G
192.168.133.129 ノード2 v1.14.2 図2c 2G
192.168.133.130 ノード3 v1.14.2 図2c 2G

Glusterfsホスト状況

IP 役割 Glusterfs コンフィギュレーション
192.168.133.131 単一ノードの操作 glusterfs 6.6 図2c 2G

K8Sビルドクラスタ:https://www.kubernetes.org.cn/5462.html

インストールGlusterfs:

ここだけK8Sから開始するGlusterfsポイントを作成します。

#CAT GlusterFS-endpoints.jsonの[マスターGlusterFS @ルート]
apiVersion:v1の####バージョン番号は説明していない
ようなものを:型エンドポイント####宣言は、直接ラインにコピー作成された
メタデータ:
    名前:GlusterFS、ボリューム      ####エンドポイントを作成する名前、簡単に遊びます。
サブセット:
-アドレス:
  - IP:192.168.133.131 IP #### GlusterFS
  ポート:
  -ポート:20 ####このポートは、それが何を意味するのか、単に書き込みを理解していません。

################################################## #######

[マスターGlusterFS @ルート]#猫のPV-demo.yaml
apiVersion:###### v1のバージョンが説明されていない
種類:タイプPersistentVolume ######宣言が作成された
メタデータ:
    名前:トン、Gluster ##### PV名#は簡単に遊ぶ作成
:スペック
    容量:######容量属性  
        ストレージ:7G ######容量サイズ
    accessModes:######モードを搭載
    - ReadWriteMany ###### ReadWriteMany:複数のノードがReadOnlyManyを書き込む:読み取り専用マルチノードReadWriteOnce:単一ノードのリーダ3に
    persistentVolumeReclaimPolicy:3人にリサイクル########耐久特性:リサイクルは:再度使用する前に必要打ちました。削除:使用されていません。保持:手動回復 
    GlusterFSを:
        エンドポイント:「GlusterFS-ボリューム」我々は上記で作成したエンドポイント##### PV使用、エンドポイントの名前
        パス:「プロジェクト」ボリューム名##### glusterfsが作成された:これは非常に重要である、ない、間違ったポッドは、上のマウントされます。(多くの投稿が^ _ ^それを説明していない)
        読み取り専用:#####偽読み取り専用モードがfalseに設定されています

################################################## ##############

[ルートマスターGlusterFS @]#CAT PVC-demo.yaml
種類:PersistentVolumeClaim #####宣言型
apiVersion:v1の
メタデータ: 
    名前:西安GlusterFS #### PVC名のカジュアルなプレイ。
スペック:
    accessModes:
        - ##### ReadWriteMany接続モードを読み書きモード
    資源:
    要求:
    ストレージ:作成した一般的なPVと一致する(以下PVより)2G #####アプリケーションのサイズ、。PVCは、自動的に一番近いのとまったく同じでない場合、PVが作成されたと一致するようになります。

################################################## #################

行われ、基本的な作業の前に、あなたはPVCをマウントするには、以下のPODを作成することができ、および例を参照してください。

[マスターGlusterFS @ルート]#猫のnginxの-deployment.yaml
apiVersion:アプリ/ V1 ###########バージョン番号、説明していない
種類:展開タイプ######
メタデータ:
    名前:web02-展開######展開名は、簡単に遊ぶ
    :ラベル
        WEB02:ちょうどからnginxの######ラベル、
スペック:
    レプリカ:###### POD開始の2数だけ書き込みを。
    セレクター:
        matchLabels:
            WEB02:nginxの######ラベルフォーマット。書き込まなければならない、すべての最高のラベルが、良い区別同じです。
    テンプレート:
        メタデータ:
        ラベル:
            WEB02:nginxの####### PODラベル
        仕様:
            コンテナ:
            -名前:nginx02 ###### POD名
            イメージ:nginxの######イメージ名
            ポート:
            - containerPort外部暴露の80 ######ポート番号
            volumeMounts:######マウント
            -名前:WWW #####と、次のボリュームこれは、ボリュームの名前を呼び出しているので、同じように名前を付ける
            MOUNTPATH:を/ usr / share / nginxの / htmlの##### どのようなパスはPODのマウントする
        #:ボリュームを#####文をマウントする
        -名前:WWW ######宣言volumeMounts上に呼び出すために、名前をマウント
          persistentVolumeClaim:######永続要求
              claimName:西安- glusterfs ###### ######選択PVC名は、上記で作成しました。

################################################## ###############

上記の文書はするために、我々は次に作成kubectlを使用するように設定されています。

1は、-f glusterfs-endpoints.jsonを作成kubectl 

2、-f PV-demo.yamlを作成kubectl

3、-f PVC-demo.yamlを作成kubectl 

4、-f nginxの-deployment.yamlを作成kubectl

下で実行状況を表示するために私達を作成したら:

[マスターGlusterFS @ルート]#kubectl GET EP -oワイド
NAME AGE ENDPOINTS
エンドポイントGlusterFS-ボリューム我々が作成した192.168.133.131:20 93メートル
のhttpd 10.244.1.43:8080,10.244.2.33:8080,10.244.2.36:8080 27H
Kubernetes 192.168 .133.128:6443 4d13h
nginxの10.244.1.41:80,10.244.2.32:80,10.244.2.37:80 2d3h
私たちが作成したポッドWEB02 10.244.1.48:80,10.244.2.41:80 82メートル

[ルート@マスターglusterfs]#kubectl GETポッド-l WEB02 = nginxの
NAME READY STATUSの再起動のAGE
WEB02展開-6f4f996589-4gw4z 1/1 0 88メートル走行
0 88メートルを実行WEB02-展開6f4f996589-m28nh 1/1

 

[マスターglusterfs @ルート]#kubectl GET PV

NAME容量アクセス・モードRECLAIMポリシーステータス請求STORAGECLASS理由AGE

トングgluster 7G RWXリサイクルバウンドデフォルト/西安-glusterfs 91メートル

 

[マスターglusterfs @ルート]#kubectl GET PVC
NAMEのSTATUSボリューム容量アクセス・モードSTORAGECLASS AGE
西安-glusterfsバウンドトングgluster 7G RWX 93メートル

 

作成され、その後、我々は、外部のホストアクセスで使用するためのサービスを作成します

[マスターGlusterFS @ルート]#のCAT nginx_service.yaml
apiVersion:v1の
種類:サービス######宣言サービスの種類
のメタデータ:
    ラベル:
        WEB02:nginxの#######ラベル
    名:WEB02 ###### #サービス名の
    名前空間:デフォルト
仕様:
    ポート:
    -ポート:K8Sに使用80 #######ピンservcie内部サービスの各ノードアクセスの使用、外部ネットワークにアクセスすることはできません。
      ポート番号80 #######ポッド露出したポート番号は、バックエンド・サービスを提供する:TARGETPORT
      nodePort:30099 #######外部ネットワークにサービスを提供する、ローカル・ノードのポート番号にマッピングされた
    タイプ: nodePort #######はnodeport上記nodeportタイプ有効と宣言されました。
    セレクター:
        WEB02:nginxの###########選択肢ポッドラベルWEB02:nginxののポッド協会、我々はPODを作成するときに、PODを作成の上見ることができるPODラベルに果たしました。

################################################## ################

のは、上記のポッド2団体で作成したサービスを作成してみましょう。

-f nginx_service.yaml作成kubectl 

関連するケースの流通サービスを参照するには、次のコマンドを使用します。

[マスターglusterfs @ルート]#kubectl GET SVC
NAME型クラスタ-IP EXTERNAL-IP PORT(S)AGE
のhttpd NodePort 10.1.26.50 <なし> 80:30089 / TCP 28H
kubernetes CLUSTERIP 10.1.0.1 <なし> 443 / TCP 4d14h
nginxのNodePort 10.1.241.95 88 <なし>:30088 / TCP 2d4h
80 WEB02 NodePort 10.1.168.227 <なし>:30099 / TCPの94メートル
[マスター@ルートglusterfs]は、#は、SVC WEB02説明kubectl
名:WEB02
名前空間:デフォルト
ラベル:WEB02 = nginxの
注釈:<なし>
セレクター:WEB02 = nginxの
種類:NodePort
IP:10.1.168.227
ポート:<解除> 80 / TCP
TargetPort:80 / TCP
NodePort:<未設定> 30099 / TCP
エンドポイント:10.244.1.48:80,10.244.2.41:80
セッションアフィニティ:なし
外部トラフィックポリシー:クラスタ
イベント:<なし>

私たちは展開され、我々のテスト・アクセス・サービスされています。Glusterfsページが最後に自分で変更、またはファイルに直接マウントされていません。

 

 

 

おすすめ

転載: www.cnblogs.com/dtxl/p/11907681.html