2018年9月2日日曜日

wordpress for kubernetes(raspberry pi) disk増設編

1)diskスペースを確保

$ vi volume.yml
**************volume.yml********************
apiVersion: v1
kind: PersistentVolume
metadata:
  name: local-pv-1
  labels:
    type: local
spec:
  capacity:
    storage: 5Gi
  accessModes:
    - ReadWriteOnce
  hostPath:
    path: /home/pi/test02/pv-1
---
apiVersion: v1
kind: PersistentVolume
metadata:
  name: local-pv-2
  labels:
    type: local
spec:
  capacity:
    storage: 5Gi
  accessModes:
    - ReadWriteOnce
  hostPath:
    path: /home/pi/test02/pv-2
******************************

2)以下、実行を行う。
$ kubectl create -f volume.yml


3)mysqlのマニフェストを作成する
$ vi mysql-deployment.yaml

******mysql-deployment.yaml******
apiVersion: v1
kind: Service
metadata:
  name: wordpress-mysql
  labels:
    app: wordpress
spec:
  ports:
    - port: 3306
  selector:
    app: wordpress
    tier: mysql
  clusterIP: None
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: mysql-pv-claim
  labels:
    app: wordpress
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 2Gi
---
apiVersion: apps/v1beta2
kind: Deployment
metadata:
  name: wordpress-mysql
  labels:
    app: wordpress
spec:
  selector:
    matchLabels:
      app: wordpress
      tier: mysql
  strategy:
    type: Recreate
  template:
    metadata:
      labels:
        app: wordpress
        tier: mysql
    spec:
      containers:
      - image: hypriot/rpi-mysql
        name: mysql
        env:
        - name: MYSQL_ROOT_PASSWORD
          valueFrom:
            secretKeyRef:
              name: mysql-pass
              key: password
        ports:
        - containerPort: 3306
          name: mysql
        volumeMounts:
        - name: mysql-persistent-storage
          mountPath: /var/lib/mysql
      volumes:
      - name: mysql-persistent-storage
        persistentVolumeClaim:
          claimName: mysql-pv-claim
****************************************

4(以下、実行を行う。
$ kubectl create -f mysql-deployment.yaml



5)wordpressのマニフェストを作成する。

$ vi wordpress-deployment.yaml
*****************************************
apiVersion: v1
kind: Service
metadata:
  name: wordpress
  labels:
    app: wordpress
spec:
  ports:
    - port: 80
  selector:
    app: wordpress
    tier: frontend
  type: LoadBalancer
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: wp-pv-claim
  labels:
    app: wordpress
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 2Gi
---
apiVersion: apps/v1beta2
kind: Deployment
metadata:
  name: wordpress
  labels:
    app: wordpress
spec:
  selector:
    matchLabels:
      app: wordpress
      tier: frontend
  strategy:
    type: Recreate
  template:
    metadata:
      labels:
        app: wordpress
        tier: frontend
    spec:
      containers:
      - image: wordpress:4.8-apache
        name: wordpress
        env:
        - name: WORDPRESS_DB_HOST
          value: wordpress-mysql
        - name: WORDPRESS_DB_PASSWORD
          valueFrom:
            secretKeyRef:
              name: mysql-pass
              key: password
        ports:
        - containerPort: 80
          name: wordpress
        volumeMounts:
        - name: wordpress-persistent-storage
          mountPath: /var/www/html
      volumes:
      - name: wordpress-persistent-storage
        persistentVolumeClaim:

          claimName: wp-pv-claim
*****************************************************


6)以下、実行を行う。
$ kubectl create -f wordpress-deployment.yaml


7)以下に表示されているポート番号(今回指定した番号:31789)を把握しておく
pi@rasp-master:~/disk-test2 $ kubectl get svc -o wide

NAME                TYPE           CLUSTER-IP       EXTERNAL-IP   PORT(S)           AGE       SELECTOR
kubernetes          ClusterIP      10.96.0.1        <none>        443/TCP           5d        <none>
wordpress           LoadBalancer   10.98.201.229    <pending>     80:31789/TCP      6m        app=wordpress,tier=frontend
wordpress-mysql     ClusterIP      None             <none>        3306/TCP          7m        app=wordpress,tier=mysql

wordpress-service   NodePort       10.111.153.223   <none>        31001:31001/TCP   3d        app=wordpress


8)ブラウザを開いて、以下のアドレスを指定してwordpressのインストールを行う。
http://IPアドレス:31789/wp-admin/install.php


上記、pendingの状態でブラウザ上からwordpressの画面に推移することが分かった。


◻️念のため、ディスクが増設されたかnodeにて確認したところ
以下のようになっていることが把握できる。


pi@rasp-node02:~ $ cd disk-space/
pi@rasp-node02:~/disk-space $ ls
pv-1  pv-2
pi@rasp-node02:~/disk-space $ cd pv-1
pi@rasp-node02:~/disk-space/pv-1 $ ls
ib_logfile0  ib_logfile1  ibdata1  mysql  performance_schema  wordpress



導入ずみのnode2台に対して確認ができた。




0 件のコメント:

コメントを投稿

FROM php:7.4-apache(apacheのuser&groupの変更方法)

訳あって、FROM php:7.4-apacheでの実行ユーザーとグループの変更が必要になってので 以下の記載により再現できる。 FROM php:7.4-apache # 新しいユーザー(test)とグループ(apache)を作成 RUN groupadd -r apac...