eci-profile は、条件を満たす既存の Pod にアノテーションを追加して Elastic Container Instance の機能を使用できるようにする ECI Effect 機能を提供します。このトピックでは、特定の既存の Pod にアノテーションを自動的に追加して DataCache を使用するために eci-profile を構成する方法について説明します。
構成の説明
eci-profile は ECI Effect 機能を提供します。eci-profile の selectors セクションでは、一致させる必要がある名前空間ラベルまたは Pod ラベルを配列形式で指定し、動的に追加する必要がある DataCache 関連のアノテーションを指定できます。指定したアノテーションは、指定したラベルを持つ Pod に自動的に追加されます。詳細については、eci-profile の構成 を参照してください。
selectors パラメーターには複数のセレクターを構成できます。各セレクターの名前を指定する必要があります。また、必要に応じて、各セレクターの以下の情報を指定することもできます。
namespaceSelector: 一致させる名前空間ラベル。
objectSelector: 一致させる Pod ラベル。
effect: Pod に動的に追加するアノテーションとラベル。
k8s.aliyun.com/eci-data-cache-bucket
アノテーションを追加して、DataCache の保存に使用するバケットを指定できます。
構成例
eci-profile 構成ファイルを編集します。
kubectl -n kube-system edit cm eci-profile
selectors セクションにセレクターを追加します。
次のコードは、
data-cache: true
ラベルを持つ Pod にk8s.aliyun.com/eci-data-cache-bucket: "default"
アノテーションを自動的に追加して、DataCache の保存に使用するバケットを指定する例を示しています。data: selectors: | [ { "name": "datacache-selector", "objectSelector": { "matchLabels": { "data-cache": "true" } }, "effect": { "annotations": { "k8s.aliyun.com/eci-data-cache-bucket": "default" } } } ]
DataCache を作成します。詳細については、DataCache の作成 を参照してください。
作成した DataCache を使用して Pod を作成します。
kubectl create -f test-edc.yaml
test-edc.yaml のサンプルコンテンツ:
重要DataCache を使用して Pod を作成する場合は、DataCache の保存に使用するバケットを指定する必要があります。また、HostPath パラメーターを使用して、データを保存するパスを指定する必要があります。
apiVersion: v1 kind: Pod metadata: name: test-edc labels: alibabacloud.com/eci: "true" data-cache: "true" # ラベルが Pod に追加されると、eci-profile によって k8s.aliyun.com/eci-data-cache-bucket: "default" アノテーションが Pod に自動的に追加され、DataCache の保存に使用するバケットが指定されます。 spec: containers: - name: model image: registry.cn-shanghai.aliyuncs.com/eci_open/nginx:1.14.2 command: ["sleep", "999999"] volumeMounts: - name: "model" mountPath: "/model" volumes: - name: "model" hostPath: path: "/model/test" # データの保存パスを指定します。値を実際の値に置き換えます。