K 8 S ReplicaSetコントローラの作成例

5457 ワード

何気なく良いソフトウェアテストサイトを見つけて、思わず共有してしまいました.とても実用的だと思って、みんなに分かち合います.ここをクリックするとチュートリアルにジャンプできます.
本明細書では、redisをインストールする例を示します.ここでは、単一のredisサービスを開始する例にすぎません.redisクラスタ選択StatefulSetが最適です.この部分に興味があれば私を信用してもいいです.このセクションでは説明するだけで、文の中のコードは使えないかもしれませんが、説明の用途だけをします.
開始する前に、redisミラーをインストールして配置する必要があります.
本明細書で構築するミラーのtagは、redis/master:2.5.0であり、ミラーに**/home/redis/startupを入れる必要がある.sh**スクリプト:
#!/bin/bash
source /root/.bash_profile
/usr/sbin/sshd
sed -i "s/127.0.0.1/${POD_IP}/g"  /home/redis/redis/bin/redis_master
sed -i "s/127.0.0.1/${POD_IP}/g" /home/redis/redis/etc/redis-master.conf
su - redis -c "redis_master $1"

スクリプト内の${POD_IP}は後続のReplicaSetで使用され、ユーザーは構成を置き換えます.
作成されたredis-masterのReplicaSetのyamlファイルredis-master-rs.yaml:
apiVersion: apps/v1
kind: ReplicaSet
metadata:
  name: redis-master
  namespace: wel
spec:
  replicas: 3
  selector:
    matchLabels:
      app: redis
      role: master
  template:
    metadata:
      labels:
         app: redis
         role: master
    spec:
       serviceAccountName: harbor
       containers:
         - name: redis-master
           image: redis/master:2.5.0
           command: ['/bin/sh']
           args: ["-c","/home/redis/startup.sh start ; while true; do tailf /home/redis/redis/log/redis.log;sleep 10;done"]
           ports:
             - containerPort: 6001
           env:
           - name: POD_IP
             valueFrom:
               fieldRef:
                 fieldPath: status.podIP         
       restartPolicy: Always

ここでserviceAccountName:harbor参照の前に「K 8 Sでミラーを構成してserviceAccountを引き出す」
EnvモジュールのPOD_IPユーザは、redisの構成POD_を置き換えるための現在のPODのIPアドレスを取得するIP.
argsで起動startupを呼び出す必要がある.shはredisのmasterサービスを開始し、次にデッドサイクルを作成し、podが常にRUNNING状態であることを保証する.
次に、バックグラウンド・サービスでコマンドを実行します.
kubectl create -f redis-master-rs.yaml

コマンドの実行に成功しました.podが正常に作成されたかどうかを確認するコマンドを実行できます.本rsはnamespaceを指定しているため、コマンドで-nパラメータを使用する必要があります.
kubectl get rs -n wel