ワークロードのコストを管理する
このページではワークロードのコストを管理する機能について説明します。
コストタグを設定する
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