日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

部署DataCache CRD

阿里云以DataCache CRD的方式將ECI的數(shù)據(jù)緩存功能提供給Kubernetes用戶,以便Kubernetes用戶可以使用該功能來提前拉取大規(guī)模數(shù)據(jù)。本文介紹如何在Kubernetes集群中部署DataCache CRD。

計費(fèi)說明

  • 如果是ACK集群,部署DataCache CRD會默認(rèn)部署在已有ECS節(jié)點上,無需額外付費(fèi)。

  • 如果是ACK Serverless集群,部署DataCache CRD后會生成一個0.25 vCPU 、0.5 GiB的ECI Pod,收取ECI實例費(fèi)用。費(fèi)用=(0.25*vCPU單價+0.5*內(nèi)存單價)*運(yùn)行時長。關(guān)于ECI實例如何計費(fèi),以及vCPU和內(nèi)存的具體單價,請參見ECI實例計費(fèi)。

準(zhǔn)備工作

操作前,請準(zhǔn)備好以下信息:

  • AccessKey ID和AccessKey Secret。獲取方式請參見創(chuàng)建AccessKey

    重要

    請確保AccessKey所屬阿里云賬號或者RAM用戶具有數(shù)據(jù)緩存相關(guān)API的權(quán)限。

  • 集群所屬的地域ID。

(推薦)通過Helm部署

  1. 連接Kubernetes集群。

  2. 確認(rèn)Helm版本。

    helm version
  3. 根據(jù)Helm版本選擇以下一種方式部署DataCache CRD。

    Helm版本為3.7及以上版本

    1. 如果Helm版本為3.7,需開啟實驗功能。

      Helm版本為3.8及以上版本可跳過該步驟。

      export HELM_EXPERIMENTAL_OCI=1
    2. 設(shè)置環(huán)境變量。

      說明

      設(shè)置REPO時,請直接使用oci://eci-release-registry.cn-hangzhou.cr.aliyuncs.com/datacache/datacache-operator,無需修改地域ID。

      export REPO="oci://eci-release-registry.cn-hangzhou.cr.aliyuncs.com/datacache/datacache-operator"
      export AK='<AccessKey ID>'
      export SK='<AccessKey Secret>'
      export REGION='<地域ID>'
    3. 部署DataCache CRD。

      helm install datacache-operator $REPO --set accessKey=$AK --set secretKey=$SK --set regionId=$REGION

    Helm版本低于3.7

    1. 安裝阿里云ACR插件。

      helm plugin install https://github.com/AliyunContainerService/helm-acr

      如果您訪問Github比較流暢,可以直接執(zhí)行上述命令。如果網(wǎng)絡(luò)不流暢,可以參考以下命令安裝。

      git clone https://github.com/AliyunContainerService/helm-acr.git
      sed -i 's/github.com/helm-acr-releases.oss-cn-hangzhou.aliyuncs.com/g' helm-acr/scripts/install_plugin.sh
      helm plugin install helm-acr
    2. 添加Helm倉庫到本地Helm客戶端。

      helm repo add datacache acr://eci-release-chart.cn-hangzhou.cr.aliyuncs.com/datacache/datacache-operator
      helm repo update
    3. 設(shè)置環(huán)境變量。

      export REPO="datacache/datacache-operator"
      export AK='<AccessKey ID>'
      export SK='<AccessKey Secret>'
      export REGION='<地域ID>'
    4. 部署DataCache CRD。

      helm install datacache-operator $REPO --set accessKey=$AK --set secretKey=$SK --set regionId=$REGION

通過YAML部署

  1. 連接Kubernetes集群。

  2. 準(zhǔn)備DataCache CRD的YAML配置文件,命名為aliyun-datacache-controller.yaml。

    YAML配置文件內(nèi)容如下,請根據(jù)實際修改代碼中的AccessKey ID(第13行)、AccessKey Secret(第14行)和地域ID(第211行)。

    展開查看詳細(xì)YAML

    apiVersion: v1 
    kind: Namespace 
    metadata: 
      name: datacache-controller
    ---
    apiVersion: v1
    kind: Secret
    metadata:
      name: accesskey.eci.aliyun.com
      namespace: datacache-controller
    type: Opaque
    stringData:
      accessKey: ***            #請按實際填寫AccessKey ID
      secretKey: ***            #請按實際填寫AccessKey Secret
    ---
    apiVersion: apiextensions.k8s.io/v1
    kind: CustomResourceDefinition
    metadata:
      name: datacaches.eci.aliyun.com
    spec:
      group: eci.aliyun.com
      scope: Cluster
      names:
        kind: DataCache
        plural: datacaches
        singular: datacache
        shortNames:
          - edc
        categories:
          - all
      versions:
        - name: v1alpha1
          served: true
          storage: true
          subresources:
            status: {}
          schema:
            openAPIV3Schema:
              type: object
              required:
                - spec
              properties:
                spec:
                  type: object
                  required:
                    - path
                    - dataSource
                  properties:
                    bucket:
                      type: string
                      default: default
                      description: 對應(yīng)一個bucket,缺省為default,eci-system為ECI公共緩存保留空間,不可使用
                    path:
                      type: string
                      description: 對應(yīng)的bucket的目錄
                    dataSource:
                      type: object
                      description: 緩存數(shù)據(jù)源
                      properties:
                        type:
                          type: string
                          description: 支持NAS/OSS/URL/SNAPSHOT等
                        options:
                          type: object
                          description: 具體類型參數(shù),詳見DataCache文檔
                          x-kubernetes-preserve-unknown-fields: true
                    size:
                      type: integer
                      default: 20
                      description: 緩存大小,需要提前評估好,默認(rèn)取最小的塊存儲大小,即20 GiB
                    retentionDays:
                      type: integer
                      description: 保留天數(shù),默認(rèn)不過期
                    netConfig:
                      type: object
                      properties:
                        securityGroupId:
                          type: string
                          description: 安全組
                        vSwitchId:
                          type: string
                          description: 交換機(jī)
                        eipInstanceId:
                          type: string
                          description: 如果交換機(jī)沒有配置SNAT,可以綁定EIP,拉取公網(wǎng)數(shù)據(jù)
                        eipCreateParam:
                          type: object
                          description: 與EipInstanceId二選一
                          properties:
                            bandwidth:
                              type: integer
                              description: 公網(wǎng)帶寬,單位為MB,缺省值為5
                            commonBandwidthPackage:
                              type: string
                              description: 共享帶寬包
                            internetChargeType:
                              type: string
                              description: EIP計費(fèi)類型
                            publicIpAddressPoolId:
                              type: string
                              description: IP地址池
                            ISP:
                              type: string
                              description: EIP線路類型
                status:
                  type: object
                  properties:
                    status: 
                      type: string
                    progress:
                      type: string
                    snapshotId:
                      type: string
                    dataCacheId:
                      type: string
          additionalPrinterColumns:
            - name: Age
              type: date
              jsonPath: .metadata.creationTimestamp
            - name: dataCacheId
              type: string
              jsonPath: .status.dataCacheId
            - name: Status
              type: string
              jsonPath: .status.status
            - name: Progress
              type: string
              jsonPath: .status.progress
            - name: Bucket
              type: string
              jsonPath: .spec.bucket
            - name: Path
              type: string
              jsonPath: .spec.path
    --- 
    apiVersion: v1
    kind: ServiceAccount
    metadata:
      name: aliyun-datacache-controller
      namespace: datacache-controller
    --- 
    apiVersion: rbac.authorization.k8s.io/v1
    kind: ClusterRole
    metadata:
      name: aliyun-datacache-controller
      namespace: datacache-controller
    rules:
      - apiGroups:
          - "eci.aliyun.com"
        resources:
          - datacaches
          - datacaches/status
        verbs:
          - "*"
      - apiGroups:
          - ""
        resources:
          - events
        verbs:
          - create
          - patch
          - update
      - apiGroups:
          - ""
        resources:
          - configmaps
        verbs:
          - get
    --- 
    apiVersion: rbac.authorization.k8s.io/v1
    kind: ClusterRoleBinding
    metadata:
      name: aliyun-datacache-controller
    roleRef:
      apiGroup: rbac.authorization.k8s.io
      kind: ClusterRole
      name: aliyun-datacache-controller
    subjects:
      - kind: ServiceAccount
        name: aliyun-datacache-controller
        namespace: datacache-controller
    --- 
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: aliyun-datacache-controller
      namespace: datacache-controller
    spec:
      selector:
        matchLabels:
          app: aliyun-datacache-controller
      replicas: 1
      template:
        metadata:
          labels:
            app: aliyun-datacache-controller
        spec:
          serviceAccountName: aliyun-datacache-controller
          containers:
          - name: datacache-operator
            image: eci-release-registry.cn-hangzhou.cr.aliyuncs.com/datacache/datacache-operator:latest
            resources:
              limits: 
                memory: "512Mi"
                cpu: "250m"
              requests:
                memory: "64Mi"
                cpu: "50m"
            env: 
            - name: REGION_ID
              value: ***          #請根據(jù)實際填寫地域
            - name: ACCESS_KEY
              valueFrom:
                secretKeyRef:
                  name: accesskey.eci.aliyun.com
                  key: accessKey
            - name: SECRET_KEY
              valueFrom: 
                secretKeyRef:
                  name: accesskey.eci.aliyun.com
                  key: secretKey
  3. 部署DataCache CRD。

    kubectl apply -f aliyun-datacache-controller.yaml