2018年10月25日木曜日

kubernetes for raspberry pi (MySQL GroupReplication)

kubernetesにて、MySQLのGroupReplicationを作ってみる。


1)以下に、master,slaveのMySQLのpodとserviceを作成する。

$ vi mysql-master-rc.yaml

*********************************
apiVersion: v1
kind: ReplicationController
metadata:
  name: mysql-master
  labels:
    name: mysql-master
spec:
  replicas: 1
  selector:
    name: mysql-master
  template:
    metadata:
      labels:
        name: mysql-master
    spec:
      containers:
        - name: master
          image: hypriot/rpi-mysql
          ports:
            - containerPort: 3306
          env:
            - name: MYSQL_ROOT_PASSWORD
              value: "test"
            - name: MYSQL_REPLICATION_USER
              value: 'demo'
            - name: MYSQL_REPLICATION_PASSWORD

              value: 'demo'
***********************************************



$ vi mysql-master-service.yaml

*************************
apiVersion: v1
kind: Service
metadata:
  name: mysql-master
  labels:
    name: mysql-master
spec:
  ports:
    - port: 3306
      targetPort: 3306
  selector:
      name: mysql-master
**************************



$ vi mysql-slave-rc.yaml

*************************************************
apiVersion: v1
kind: ReplicationController
metadata:
  name: mysql-slave
  labels:
    name: mysql-slave
spec:
  replicas: 1
  selector:
    name: mysql-slave
  template:
    metadata:
      labels:
        name: mysql-slave
    spec:
      containers:
        - name: slave
          image: hypriot/rpi-mysql
          ports:
            - containerPort: 3306
          env:
            - name: MYSQL_ROOT_PASSWORD
              value: "test"
            - name: MYSQL_REPLICATION_USER
              value: 'demo'
            - name: MYSQL_REPLICATION_PASSWORD
              value: 'demo'
******************************************************


$ vi mysql-slave-service.yaml

************************
apiVersion: v1
kind: Service
metadata:
  name: mysql-slave
  labels:
    name: mysql-slave
spec:
  ports:
    - port: 3306
      targetPort: 3306
  selector:
      name: mysql-slave
*************************


2)上記、作成したyamlファイルを実行する。

kubectl create -f mysql-master-rc.yaml  
kubectl create -f mysql-master-service.yaml  
kubectl create -f mysql-slave-rc.yaml  
kubectl create -f mysql-slave-service.yaml



3)以下、コマンドにて、問題なく生成できたことが確認できる。

$ kubectl get pods -o wide

NAME                             READY     STATUS    RESTARTS   AGE       IP           NODE

mysql-master-dvb4n               1/1       Running   0          12m       10.244.2.71  rasp-node01
mysql-slave-wt6dn                1/1       Running   0          12m       10.244.2.72  rasp-node01




0 件のコメント:

コメントを投稿

php log(ECS ログ出力)

# PHPエラーログの設定 ENV PHP_INI_DIR /usr/local/etc/php RUN { \ echo 'log_errors = On' ; \ echo 'error_log = /proc/self/...