Upgrade to Pro — share decks privately, control downloads, hide ads and more …

KubernetesでDrupalを構築した話

Yosuke Enomoto
January 16, 2019
530

 KubernetesでDrupalを構築した話

bmxug.tokyo #6 Docker/Kubernetesの登壇資料
https://bmxug.connpass.com/event/112451/

Yosuke Enomoto

January 16, 2019
Tweet

Transcript

  1. まずはyamlの壁を壊していこう (local-volumes.yaml) 15 --- apiVersion: v1 kind: PersistentVolume metadata: name:

    local-volume-1 labels: type: local spec: capacity: storage: 10Gi accessModes: - ReadWriteOnce hostPath: path: /tmp/data/pv-1 persistentVolumeReclaimPolicy: Recycle --- Step1: Persistent-Volumeを確保 ▪ hostpathはどこでも良い ▪ storageの容量は上限あり
  2. まずはyamlの壁を壊していこう(postgres.yaml) 16 --- apiVersion: v1 kind: Service metadata: name: postgresql

    labels: app: drupal spec: ports: - port: 5432 selector: app: drupal tier: postgreSQL --- Step2-1: postgresqlのService登録 ▪ 複数存在するポッドの数やノー ドの存在を意識せずに 抽象的なアクセスを提供する
  3. まずはyamlの壁を壊していこう(postgres.yaml) 17 --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: postgres-claim

    labels: app: drupal spec: accessModes: - ReadWriteOnce resources: requests: storage: 10Gi --- Step2-2: postgresqlのVolume要求 ▪ 今回は10GBの容量を要求 ▪ すると、自動的に先述の local-volumeが割当てられる
  4. まずはyamlの壁を壊していこう(postgres.yaml)※抜粋 18 spec: containers: - image: postgres:latest name: postgresql env:

    - name: POSTGRES_USER value: drupal ports: - containerPort: 5432 name: postgresql volumeMounts: - name: postgresql mountPath: /var/lib/postgresql/data volumes: - name: postgresql persistentVolumeClaim: claimName: postgres-claim Step2-3: 実際のpostgresqlの設定 ▪ イメージの取得 ▪ 環境変数の定義 ▪ データ保管場所の定義
  5. IBM Cloud Container Registryの画面イメージ 25 ▪ Docker HubがIBM Cloud内にもある感じ ▪

    これを使えば、Docker Hubのプライベートレジストリは いらない。