Skip to Content

Kubernetes 公式チュートリアル3の補足

公式チュートリアル

WordPress と MySQL で永続ディスクの使用

概要

3つめのチュートリアルを試した際の記録
ここからは日本語訳されていない


Step 3: Set up MySQL

secret で保存されているパスワードがどう使われているイメージできなかったので調べた

ここでは secret の名前が mysql で、
password という変数みたいなものに 自分パスワードを記録している

kubectl create secret generic mysql --from-literal=password=YOUR_PASSWORD

環境変数名に対して、mysql という名前の secret から、passsword 変数の中身が入る

- name: MYSQL_ROOT_PASSWORD # 環境変数名
  valueFrom:
    secretKeyRef:
      name: mysql # secret の名前
      key: password  # password の中身が 環境変数名 MYSQL_ROOT_PASSWORD に入る
secret の確認方法

NAME欄に mysql が確認できた

> kubectl get secrets
NAME                  TYPE                                  DATA   AGE
default-token-475kv   kubernetes.io/service-account-token   3      30m
mysql                 Opaque                                1      24m
その mysql の詳細確認方法

Data として password という変数の何かがあることがわかる

> kubectl describe secrets/mysql
Name:         mysql
Namespace:    default
Labels:       <none>
Annotations:  <none>

Type:  Opaque

Data
====
password:  5 bytes

Step 4: Set up WordPress

kubectl get service の短縮系が紹介されていた
service が svc になるだけで結果は同じだった

> kubectl get svc
NAME         TYPE           CLUSTER-IP     EXTERNAL-IP   PORT(S)        AGE
kubernetes   ClusterIP      10.3.240.1     <none>        443/TCP        56m
mysql        ClusterIP      10.3.252.252   <none>        3306/TCP       6m18s
wordpress    LoadBalancer   10.3.252.80    <pending>     80:31063/TCP   9s

> kubectl get service
NAME         TYPE           CLUSTER-IP     EXTERNAL-IP   PORT(S)        AGE
kubernetes   ClusterIP      10.3.240.1     <none>        443/TCP        56m
mysql        ClusterIP      10.3.252.252   <none>        3306/TCP       6m23s
wordpress    LoadBalancer   10.3.252.80    <pending>     80:31063/TCP   14s

まとめ

secret の説明が特になくて気になって調べた以外は、
特にハマるところもなくWordPressが完成しました
このチュートリアルを進めていた時、生まれて初めて「もくもく会」に参加しました
人前で話す機会がないので、冒頭に今日の目標と、最後に進捗を発表する時に緊張した

参考

https://qiita.com/propella/items/e6a6fd1f77a6e4417fda https://kubernetes.io/docs/concepts/configuration/secret/