ワークロードのコストを管理する
このページではワークロードのコストを管理する機能について説明します。
コストタグを設定する
PFCP の Kubernetes クラスタに作成する Pod および PersistentVolumeClaim リソースには「コストタグ」と呼ばれるコスト管理のためのメタデータを設定できます。コストタグを設定することで、コストタグごとにクラスタの利用量を集計できます。
コストタグは次の名前の専用のラベルとしてリソースに設定します。ラベルには最大 16 文字の任意の文字列を設定できます。16 文字以上の文字列を設定した場合は先頭から 16 文字のみが記録されます。
cost.preferred.jp/tag
次の例では Pod および PersistentVolumeClaim リソースにコストタグを設定しています。
apiVersion: v1
kind: Pod
metadata:
  name: jupyter-notebook
  labels:
    # コストタグの設定
    cost.preferred.jp/tag: dev-research
spec:
  # ...
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: jupyter-notebook-data
  labels:
    # コストタグの設定
    cost.preferred.jp/tag: dev-research
spec:
  # ...
デフォルトのコストタグをサブネームスペースに設定する
コストタグはリソースだけでなくサブネームスペースにも設定できます。サブネームスペースにコストタグを設定すると、そのサブネームスペース配下に作成された全ての Pod および PersistentVolumeClaim リソースの利用に対してコストタグの値が自動適用されます。サブネームスペースへのコストタグの設定は組織管理者の権限が必要です。
例えばサブネームスペース org-<組織名>--foo にコストタグを設定する場合は次のようにします。
$ kubectl edit subnamespaceanchor org-<組織名>--foo -n org-<組織名>
- spec: {}
+ spec:
+   labels:
+   - key: cost.preferred.jp/tag
+     value: dev
サブネームスペースにコストタグが設定された状態で Pod や PersistentVolumeClaim リソースにもコストタグを設定した場合は、リソースに設定したコストタグの値が採用されます。例えば次のようにコストタグが設定されていた場合は、Pod リソースのコストタグは dev-research として処理されます。
- サブネームスペースのコストタグの値: 
dev - Pod リソースのコストタグの値: 
dev-research