tencent cloud

Tencent Kubernetes Engine

お知らせ・リリースノート
製品アップデート情報
製品リリース記録
製品の説明
製品の優位性
製品アーキテクチャ
ユースケース
製品機能
リージョンとアベイラビリティーゾーン
クイックスタート
初心者ガイド
標準クラスターのクイック作成
ビギナー向け事例
コンテナアプリケーションのクラウドへのデプロイ Check List
TKE標準クラスターガイド
テンセントクバネティスエンジン
クラスター管理
ネットワーク管理
ストレージ管理
Worker ノードの概要
Kubernetes Object Management
ワークロード
クラウドネイティブサービスガイド
Prometheus監視サービス
TKE Serverlessクラスターガイド
TKE登録クラスターガイド
実践チュートリアル
Serverlessクラスター
ネットワーク
ログ
監視
運用・保守
DevOps
オートスケーリング
よくあるご質問
クラスター類
TKE Serverlessクラスター
運用保守系
サービス類
イメージリポジトリ類
リモート端末類

Cloud Object Storage(COS)の使用

PDF
フォーカスモード
フォントサイズ
最終更新日: 2025-09-29 10:26:49

ユースケース

Tencent Kubernetes Engine(TKE)では、PersistentVolume(PV)およびPersistentVolumeClaim(PVC)を作成し、ワークロードにデータボリュームをマウントする方法でTencent Cloud Object Storage(COS)を使用することができます。ここでは、TKEクラスターでワークロードにCOSをマウントする方法についてご説明します。

準備作業

1. COS拡張コンポーネントのインストール

説明
クラスターにCOS-CSI拡張コンポーネントがすでにインストールされている場合は、この手順をスキップしてください。
1. TKEコンソールにログインし、左側ナビゲーションバーのクラスターを選択します。
2. クラスター管理ページでターゲットのクラスターIDをクリックし、クラスター詳細ページに進みます。
3. 左側ナビゲーションバーでコンポーネント管理を選択し、コンポーネント管理ページで新規作成をクリックします。
4. コンポーネントの新規作成ページでCOS(Tencent Cloud Object Storage)コンポーネントにチェックを入れます。
5. 完了をクリックします。

2. アクセスキーの作成

注意
ルートアカウントキーの漏洩によるクラウド上の資産の損失を防ぐため、セキュリティ設定ポリシーを参照して、ルートアカウントによるコンソールへのログインまたはルートアカウントキーによるTencent Cloud APIへのアクセスを停止し、関連の管理権限を付与されたサブアカウント/コラボレーターを使用して関連リソースの操作を行うことをお勧めします。
ここではアクセス管理に関連する権限を付与されたサブユーザーがアクセスキーを作成または確認する場合を例にとります。サブユーザーを作成し、アクセス管理権限を実装する方法に関しては、ドキュメントサブユーザーのカスタム作成をご参照ください。
1. サブアカウントユーザーを使用してCAMコンソールにログインし、左側ナビゲーションバーでアクセスキー > APIキー管理を選択します。
2. APIキー管理ページで、キーの新規作成をクリックし、作成が完了するまで待ちます。
説明
APIキーは1つのサブユーザーにつき、最大2つまで作成できます。
APIキーはTencent Cloud APIリクエストを作成するための重要なクレデンシャルです。ご自身の財産とサービスの安全性のため、キーを適切に保存し、定期的に変更してください。キーを変更した後は、古いキーを速やかに削除してください。

3. バケットの作成

COSコンソールにログインしてバケットを作成します。操作の詳細についてはバケットの作成をご参照ください。作成完了後にバケットリストで確認します。

4. バケットサブディレクトリの取得

1. バケットリストページで、作成済みのバケット名をクリックし、このバケットの詳細ページに進みます。
2. 左側ナビゲーションバーのファイルリストを選択し、ファイルリストでマウントしたいサブフォルダを選択してこのフォルダの詳細ページに進みます。ページ右上隅でサブディレクトリパス /costestを取得します。下の図をご覧ください。


操作手順

コンソールによるCOSの使用

手順1:COSにアクセス可能なSecretを作成する

1. TKEコンソールにログインし、左側ナビゲーションバーのクラスターを選択します。
2. クラスター管理ページでターゲットのクラスターIDをクリックし、クラスター詳細ページに進みます。
3. 左側ナビゲーションバーの設定管理 > Secretを選択し、Secretのページで新規作成をクリックします。
4. Secretの新規作成ページで、次の情報に従って設定を行います。下の図をご覧ください。


名前:ご自身で定義します。ここではcos-secretとします。
SecretタイプOpaqueを選択します。このタイプはキー証明書およびプロファイルの保存に適しています。ValueはBase64形式でエンコードされます。
効力の範囲指定のネームスペースを選択します。Secretがkube-systemネームスペースに作成されていることを確認してください。
内容:ここはSecretがバケット(Bucket)にアクセスするために必要なアクセスキーの設定に使用します。変数名SecretIdSecretKey、およびそれらにそれぞれ対応する変数値が含まれる必要があります。アクセスキーの作成を参照して作成し、APIキー管理ページでアクセスキーを取得してください。
5. Secretの作成をクリックします。

ステップ2:COS-CSI動的設定をサポートするPVを作成する

注意
この手順ではバケットを使用します。現在のリージョンに使用可能なバケットがない場合は、バケットの作成を参照して作成してください。
1. ターゲットのクラスターの詳細ページで、左側メニューバーのStorage > PersistentVolumeを選択し、PersistentVolume ページで新規作成をクリックします。
2. PersistentVolumeの新規作成ページで、次の情報を参照してPVを作成します。下の図をご覧ください。


3. 主なパラメータ情報は下記の通りです:
ソース設定静的作成を選択します。
名前:ご自身で定義します。ここではcos-pvとします。
ProvisionerCOSを選択します。
読み取り/書き込み権限:COSはマルチマシン読み取り/書き込みのみサポートしています。
説明
シングルマシン読み取り/書き込み:現在Cloud Block Storage(CBS)は同時に1台のマシンへのマウントのみをサポートしているため、単一のマシンのデータ読み込み/書き込みのみ処理できます。
マルチマシン読み取り/書き込み:Cloud File Storage(CFS)/Cloud Object Storage(COS)は複数のマシンへの同時マウントをサポートしているため、複数のマシンのデータ読み込み/書き込みを処理できます。
Secretステップ1 で作成したSecretを選択します。ここではcos-secretとします(Secretがkube-systemネームスペースに作成されていることを確認してください)。
バケットリスト:COS内のオブジェクトを保存するために使用します。使用可能なバケットを必要に応じて選択します。
バケットサブディレクトリバケットサブディレクトリの取得で取得したバケットサブディレクトリを入力します。ここでは/costestとします。入力したサブディレクトリが存在しない場合は、システムによって自動的に作成されます。
ドメイン名:デフォルトドメイン名が表示されます。このドメイン名を使用してバケットにアクセスできます。
マウントオプション:COSFSツールはバケットのローカルへのマウントをサポートしており、マウント後はCOS内のオブジェクトを直接操作することができます。この項目は関連の制限条件の設定に用いられます。この例のマウントオプション-oensure_diskfree=20480は、キャッシュファイルが存在するディスクの空き容量が20480MB未満になった場合、COSFSが起動に失敗することを表します。
説明
各マウントオプションはスペースで区切ってください。その他のマウントオプションについては一般的なマウントオプションドキュメントをご参照ください。
4. PersistentVolumeの作成をクリックします。

ステップ3:PVCを作成してPVをバインドする

注意
ステータスがBoundであるPVはバインドしないでください。
1. ターゲットのクラスターの詳細ページで、左側メニューバーのStorage > PersistentVolumeClaimを選択し、PersistentVolumeClaimページで新規作成をクリックします。
2. PersistentVolumeClaim新規作成ページで、次の情報を参照してPVCを作成します。下の図をご覧ください。


名前:ご自身で定義します。ここではcos-pvcとします。
ネームスペースkube-systemを選択します。
ProvisionerCOSを選択します。
読み取り/書き込み権限:COSはマルチマシン読み取り/書き込みのみサポートしています。
PersistentVolumeステップ2で作成したPVを選択します。ここではcos-pvとします。
3. PersistentVolumeClaimの作成をクリックします。

ステップ4:Podが使用するPVCを作成する

説明
この手順ではワークロードDeploymentの作成を例にとります。
1. ターゲットのクラスターの詳細ページで、左側メニューバーのワークロード > Deploymentを選択し、Deploymentページで新規作成をクリックします。
2. Deploymentの新規作成ページで、Deploymentの作成を参照して作成し、データボリュームのマウントを設定します。下の図をご覧ください。


データボリューム(オプション)
マウント方式既存のPVCを使用を選択します。
データボリューム名:ご自身で定義します。ここではcos-volとします。
PVCの選択ステップ3で作成したPVCを選択します。ここではcos-pvcを選択します。
インスタンス内コンテナマウントポイントの追加をクリックし、マウントポイントを設定します。
データボリューム:この手順で追加したデータボリューム「cos-vol」を選択します。
ターゲットパス:ターゲットパスを入力します。ここでは/cacheとします。
サブパスのマウント:選択したデータボリューム内のサブパスまたは単一のファイルのみをマウントします(例:./dataまたはdata)。
3. Deploymentの作成をクリックします。

YAMLファイルによるCOSの使用

COSにアクセス可能なSecretを作成する

COSにアクセス可能なSecretをYAMLで作成できます。テンプレートは次のとおりです。
apiVersion: v1
kind: Secret
type: Opaque
metadata:
name: cos-secret
# Replaced by your secret namespace.
namespace: kube-system
data:
# Replaced by your temporary secret file content. You can generate a temporary secret key with these docs:
# Note: The value must be encoded by base64.
SecretId: VWVEJxRk5Fb0JGbDA4M...(base64 encode)
SecretKey: Qa3p4ZTVCMFlQek...(base64 encode)

COS-CSI動的設定をサポートするPVを作成する

COS-CSI動的設定をサポートするPVをYAMLで作成できます。テンプレートは次のとおりです。
apiVersion: v1
kind: PersistentVolume
metadata:
name: cos-pv
spec:
accessModes:
- ReadWriteMany
capacity:
storage: 10Gi
csi:
driver: com.tencent.cloud.csi.cosfs
nodePublishSecretRef:
name: cos-secret
namespace: kube-system
volumeAttributes:
# Replaced by the url of your region.
url: http://cos.ap-XXX.myqcloud.com
# Replaced by the bucket name you want to use.
bucket: XXX-1251707795
# You can specify sub-directory of bucket in cosfs command in here.
path: /costest
# You can specify any other options used by the cosfs command in here.
# additional_args: "-oallow_other"# Specify a unique volumeHandle like bucket name.(this value must different from other pv's volumeHandle)
volumeHandle: XXX
persistentVolumeReclaimPolicy: Retain
volumeMode: Filesystem

PVCを作成してPVをバインドする

上記のPVをバインドしたPVCをYAMLで作成できます。テンプレートは次のとおりです。
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: cos-pvc
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 1Gi
# You can specify the pv name manually or just let kubernetes to bind the pv and pvc.
# volumeName: cos-pv
# Currently cos only supports static provisioning, the StorageClass name should be empty.
storageClassName: ""

Podが使用するPVCを作成する

PodをYAMLで作成できます。テンプレートは次のとおりです。
apiVersion: v1
kind: Pod
metadata:
name: pod-cos
spec:
containers:
- name: pod-cos
command: ["tail", "-f", "/etc/hosts"]
image: "centos:latest"
volumeMounts:
- mountPath: /data
name: cos
resources:
requests:
memory: "128Mi"
cpu: "0.1"
volumes:
- name: cos
persistentVolumeClaim:
# Replaced by your pvc name.
claimName: cos-pvc

関連情報

COSの使用方法に関するその他の情報については、README_COSFS.mdをご参照ください。

ヘルプとサポート

この記事はお役に立ちましたか?

フィードバック