【Kubernetes】Kubernetesで設定している環境変数の調べ方
はじめに
Kubernetes(以下、k8s)の環境変数は etcd
という仕組みで管理されています。
etcd
は分散KVS(Key Value System)で、1つ設定すれば他のPodでも
同じように環境変数を読むことができます。
etcd
単体で機能として確立されているようですが
今回はk8s上での設定情報の調べ方と値の取得方法を書きます。
前提条件
kubectl
コマンドでk8sの設定情報が見れること
# 例 kubectl get pods
やり方
設定情報を一覧で確認したい
kubectl get sercrets
1つの設定情報の内容をすべて確認したい
# 例:SidekiqのBasic認証のusername, passwordを確認する kubectl get secret user_password -o yaml
以下のような感じで出てきます。 ※パスワードなどは置き換えています。
apiVersion: v1 data: user: XXXXXXX password: XXXXXXX kind: Secret metadata: creationTimestamp: 2018-06-26T07:57:55Z name: basic-auth namespace: default resourceVersion: "999999" selfLink: /api/v1/namespaces/default/secrets/basic-auth uid: 99999999-411f-11e7-bbea-XXXXXXXXXXXXX type: Opaque
base64
というもので暗号化しているためデコードします。
echo "XXXXX" | base64 --decode
Rubyでやる場合
require 'base64' Base64.decode64("XXXXX")
まとめ
k8s上でサクッと確認する分にはこれでいい感じです。