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

Helm Chart部署物

本文為您介紹Helm Chart部署物使用場景與原理,以及如何創建和使用。

使用場景

  • 當使用Helm Chart部署服務時,如果您的Chart包需要保持私密性不公開,則推薦使用計算巢的Helm Chart部署物。這些部署物存儲于計算巢Acr鏡像倉庫中,并通過臨時密鑰實現安全拉取。

    重要

    對于那些可公開訪問的Helm Chart包,直接在服務ROS模板中指定其公開鏈接即可完成部署,無需額外配置。

  • Helm Chart一般用于服務結構比較復雜,對應的部署資源YAML文件比較多的場景,用來對部署資源YAML文件做結構化管理。Helm Chart部署物在計算巢中是托管到Acr倉庫中,具體上傳和拉取原理,請參見容器鏡像部署物

應用原理

Helm Chart部署物在服務模板中怎么使用呢,主要需要在服務模板中定義以下兩個標識,在部署時進行替換:

  • {{computenest::helmchart::test}}部署物占位符,替換成Helm Chart的完整地址,如oci://compute-nest-chart-registry.cn-hangzhou.cr.aliyuncs.com/${aliUid}/wordpress:15.4.1

  • {{computenest::helm::dockerconfigjson}}倉庫拉取密鑰,用來拉取托管在計算巢Acr倉庫中的Chart包。

Helm Chart部署使用計算巢定義的公共模塊MODULE::ACS::ComputeNest::FluxOciHelmDeploy,里面使用了開源組件FluxCd, 目前僅支持Oci格式的Chart倉庫,計算巢Helm Chart部署物倉庫對應的格式為Oci格式。使用MODULE::ACS::ComputeNest::FluxOciHelmDeploy部署Helm Chart部署物示例模板如下:

Resources:
  FluxHelmDeploy:
    Type: MODULE::ACS::ComputeNest::FluxOciHelmDeploy
    Version: v1
    Properties:
      ClusterId:
        Ref: ClusterId
      ReleaseName: wordpress
      Namespace: wordpress
      HelmChartUrl: '{{ computenest::helmchart::test }}'
      DockerConfigJson: '{{ computenest::helm::dockerconfigjson }}'
      ChartValues:
        mariadb:
          primary:
            persistence:
              enabled: true
              storageClass: alicloud-disk-essd
              size: 20Gi
        persistence:
          enabled: false
...

創建和使用

前提條件

已安裝Helm Chart并已有鏡像。如果您沒有,請參見推送和拉取Helm Chart

創建Helm Chart部署物

  1. 配置部署物的基本信息。

    1. 登錄計算巢控制臺,在左側導航欄選擇服務部署物,并在部署物區域中單擊創建部署物

    2. 部署物信息區域,完成部署物信息填寫。

      配置項

      說明

      部署物名稱

      由中文、數字、英文及下劃線組成,長度在 3~50 個字符之間,一個中文字等于 2 個字符,部署物名稱創建后不可修改。

      部署物版本名稱

      由中文、數字、英文及下劃線組成,長度在 3~50 個字符之間,一個中文字等于 2 個字符。

      部署物描述

      簡介長度在10-500個字符之間,一個中文字等于2個字符。

      資源組

      選擇創建的部署所歸屬的資源組名稱。

      資源組對您擁有的云資源從用途、權限、歸屬等維度進行分組,實現企業內部多用戶、多項目的資源分級管理。更多信息,請參見資源組

      標簽配置

      選擇或填寫完整的標簽鍵和標簽值,為部署物定標簽。每個資源最多可綁定20條標簽。若無可選的標簽鍵和標簽值,可創建自定義標簽。創建自定義標簽的詳細操作,請參見創建并綁定自定義標簽

  2. 配置Helm Chart部署物。

    1. 部署物內容區塊,選擇部署物類型Helm Chart

    2. 單擊獲取訪問憑證,可以獲取對應命名空間的臨時密鑰,在命令行中按順序執行獲取的命令。

      image

    3. Helm Chart包上傳到計算巢ACR倉庫后,在選擇商品中選擇剛上傳的Chart包,并單擊發布部署物

      image

  3. 查看部署物。

    1. 返回服務部署物頁面,單擊部署物名稱,進入部署物詳情界面查看部署進度。

    2. 當狀態為可用時,表示創建完成。

      image

使用Helm Chart部署物

本節以創建私有化部署服務為例,重點介紹在創建服務時使用Helm Chart部署物相關配置。

  1. 登錄計算巢控制臺

  2. 在左側導航欄中選擇我的服務,在我創建的服務區域下單擊創建新服務

  3. 創建私有化部署服務。

    image

  4. 根據提示填入服務基本信息,在錄入模板中根據實際情況進行選擇并輸入ROS模板。

    在服務ROS模板資源中填入Helm Chart部署物標識 {{ computenest::helmchart::test}} 和部署物拉取密鑰標識 {{ computenest::helm::dockerconfigjson}}

    示例模板

    說明

    本示例模板僅可用于測試。

    ROSTemplateFormatVersion: '2015-09-01'
    Description:
      en: 新建ack部署
      zh-cn: new ack
    Parameters:
      PayType:
        Type: String
        Label:
          en: ECS Instance Charge Type
          zh-cn: 付費類型
        Default: PostPaid
        AllowedValues:
          - PostPaid
          - PrePaid
        AssociationProperty: ChargeType
        AssociationPropertyMetadata:
          LocaleKey: InstanceChargeType
      PayPeriodUnit:
        Type: String
        Label:
          en: Pay Period Unit
          zh-cn: 購買資源時長周期
        Default: Month
        AllowedValues:
          - Month
          - Year
        AssociationProperty: PayPeriodUnit
        AssociationPropertyMetadata:
          Visible:
            Condition:
              Fn::Not:
                Fn::Equals:
                  - ${PayType}
                  - PostPaid
      PayPeriod:
        Type: Number
        Description:
          en: When the resource purchase duration is Month, the value of Period ranges from 1 to 9, 12, 24, 36, 48, or 60. <br><b><font color='red'> When ECS instance types are PrePaid valid </b></font>
          zh-cn: 當購買資源時長為Month時,Period取值:1~9 <br><b><font color='red'>當ECS實例類型為PrePaid有效</b></font>
        Label:
          en: Period
          zh-cn: 購買資源時長
        Default: 1
        AllowedValues:
          - 1
          - 2
          - 3
          - 4
          - 5
          - 6
          - 7
          - 8
          - 9
        AssociationProperty: PayPeriod
        AssociationPropertyMetadata:
          Visible:
            Condition:
              Fn::Not:
                Fn::Equals:
                  - ${PayType}
                  - PostPaid
      ZoneId:
        Type: String
        AssociationProperty: ALIYUN::ECS::Instance:ZoneId
        Label:
          en: Zone ID
          zh-cn: 可用區
      EcsInstanceType:
        Type: String
        Label:
          en: Instance Type
          zh-cn: 實例類型
        AssociationProperty: ALIYUN::ECS::Instance::InstanceType
        AssociationPropertyMetadata:
          ZoneId: ${ZoneId}
          InstanceChargeType: ${InstanceChargeType}
      EcsInstancePassword:
        NoEcho: true
        Type: String
        AllowedPattern: '[0-9A-Za-z\_\-\&:;''<>,=%`~!@#\(\)\$\^\*\+\|\{\}\[\]\.\?\/]+$'
        Label:
          en: Instance Password
          zh-cn: 實例密碼
        ConstraintDescription:
          en: Length 8-30, must contain three(Capital letters, lowercase letters, numbers, ()`~!@#$%^&*_-+=|{}[]:;'<>,.?/ Special symbol in)
          zh-cn: 長度8-30,必須包含三項(大寫字母、小寫字母、數字、 ()`~!@#$%^&*_-+=|{}[]:;'<>,.?/ 中的特殊符號)
        MinLength: 8
        MaxLength: 30
        AssociationProperty: ALIYUN::ECS::Instance::Password
      ServerSystemDiskCategory:
        Type: String
        AllowedValues:
          - cloud_efficiency
          - cloud_ssd
          - cloud_essd
        AssociationPropertyMetadata:
          LocaleKey: DiskCategory
          InstanceType: ${EcsInstanceType}
        Label:
          en: Server System Disk Category
          zh-cn: Server系統盤磁盤類型
        Default: cloud_essd
      ServerSystemDiskSize:
        Type: Number
        Label:
          en: Server System Disk Size(GB)
          zh-cn: Server節點系統盤大小(GB)
        MinValue: 1
        Default: 500
      VpcCidrBlock:
        Type: String
        Label:
          en: VPC CIDR IPv4 Block
          zh-cn: 專有網絡IPv4網段
        Description:
          zh-cn: VPC的ip地址段范圍,<br>您可以使用以下的ip地址段或其子網:<br><font color='green'>[10.0.0.0/8]</font><br><font color='green'>[172.16.0.0/12]</font><br><font color='green'>[192.168.0.0/16]</font>
          en: 'The ip address range of the VPC in the CidrBlock form; <br>You can use the following ip address ranges and their subnets: <br><font color=''green''>[10.0.0.0/8]</font><br><font color=''green''>[172.16.0.0/12]</font><br><font color=''green''>[192.168.0.0/16]</font>'
        Default: 192.168.0.0/16
        AssociationProperty: ALIYUN::VPC::VPC::CidrBlock
      VSwitchCidrBlock:
        Type: String
        Label:
          en: VSwitch CIDR Block
          zh-cn: 交換機子網網段
        Description:
          zh-cn: 必須屬于VPC的子網段。
          en: Must belong to the subnet segment of VPC.
        Default: 192.168.1.0/24
        AssociationProperty: ALIYUN::VPC::VSwitch::CidrBlock
        AssociationPropertyMetadata:
          VpcCidrBlock: VpcCidrBlock
      PodCidr:
        Type: String
        Description:
          zh-cn: 請填寫有效的私有網段,即以下網段及其子網:10.0.0.0/8,172.16-31.0.0/12-16,192.168.0.0/16<br>不能與 VPC 及 VPC 內已有 Kubernetes 集群使用的網段重復。<font color='blue'><b>創建成功后不能修改</b></font>
          en: 'Please fill in a valid private segment, i.e. the following segments and their subnets: 10.0.0.0/8, 172.16-31.0.0/12-16, 192.168.0.0/16<br> which cannot duplicate the network segments already used by clusters in VPC and VPC Kunetberes. <font color=''blue''><b>Cannot be modified after successful creation</b></font>'
        Label:
          zh-cn: Pod 網絡 CIDR
          en: Pod Network CIDR
        AssociationProperty: ALIYUN::CS::ManagedKubernetesCluster::PodCidr
        Default: 10.0.0.0/16
      ServiceCidr:
        Type: String
        Description:
          zh-cn: 可選范圍:10.0.0.0/16-24,172.16-31.0.0/16-24,192.168.0.0/16-24<br>不能與 VPC 及 VPC 內已有 Kubernetes 集群使用的網段重復。<font color='blue'><b>創建成功后不能修改</b></font>
          en: 'Optional range: 10.0.0.0/16-24, 172.16-31.0.0/16-24, 192.168.0.0/16-24<br> cannot duplicate segments already used by existing Kubernetes clusters in VPC and VPC.<font color=''blue''><b>Cannot be modified after successful creation</b></font>'
        Label:
          zh-cn: Service CIDR
          en: Service CIDR
        AssociationProperty: ALIYUN::CS::ManagedKubernetesCluster::ServiceCidr
        Default: 172.16.0.0/16
    Resources:
      EcsVpc:
        Type: ALIYUN::ECS::VPC
        Properties:
          VpcName:
            Ref: ALIYUN::StackName
          CidrBlock:
            Ref: VpcCidrBlock
      EcsVSwitch:
        Type: ALIYUN::ECS::VSwitch
        Properties:
          VSwitchName:
            Ref: ALIYUN::StackName
          VpcId:
            Ref: EcsVpc
          ZoneId:
            Ref: ZoneId
          CidrBlock:
            Ref: VSwitchCidrBlock
      EcsSecurityGroup:
        Type: ALIYUN::ECS::SecurityGroup
        Properties:
          SecurityGroupName:
            Ref: ALIYUN::StackName
          VpcId:
            Ref: EcsVpc
          SecurityGroupEgress:
            - PortRange: '-1/-1'
              Priority: 1
              IpProtocol: all
              DestCidrIp: 0.0.0.0/0
              NicType: intranet
          SecurityGroupIngress:
            - PortRange: '-1/-1'
              Priority: 1
              IpProtocol: all
              SourceCidrIp:
                Ref: PodCidr
              Description: pod網絡訪問開放
              NicType: intranet
            - PortRange: '-1/-1'
              Priority: 1
              IpProtocol: all
              SourceCidrIp:
                Ref: VpcCidrBlock
              Description: vpc網絡訪問開放
              NicType: intranet
            - PortRange: '-1/-1'
              Priority: 1
              IpProtocol: icmp
              SourceCidrIp: 0.0.0.0/0
              Description: icmp協議端口放開
              NicType: intranet
            - Priority: 1
              PortRange: 22/22
              SourceCidrIp: 0.0.0.0/0
              IpProtocol: tcp
            - Priority: 1
              PortRange: 443/443
              SourceCidrIp: 0.0.0.0/0
              IpProtocol: tcp
            - Priority: 1
              PortRange: 3001/3001
              SourceCidrIp: 0.0.0.0/0
              IpProtocol: tcp
            - Priority: 1
              PortRange: 31001/31001
              SourceCidrIp: 0.0.0.0/0
              IpProtocol: tcp
            - Priority: 1
              PortRange: 9000/9000
              SourceCidrIp: 0.0.0.0/0
              IpProtocol: tcp
            - Priority: 1
              PortRange: 3389/3389
              SourceCidrIp: 0.0.0.0/0
              IpProtocol: tcp
            - Priority: 1
              PortRange: 80/80
              SourceCidrIp: 0.0.0.0/0
              IpProtocol: tcp
      CsghubServerInstance:
        Type: ALIYUN::ECS::InstanceGroup
        Properties:
          ZoneId:
            Ref: ZoneId
          IoOptimized: optimized
          InstanceChargeType:
            Ref: PayType
          PeriodUnit:
            Ref: PayPeriodUnit
          Period:
            Ref: PayPeriod
          VpcId:
            Ref: EcsVpc
          VSwitchId:
            Ref: EcsVSwitch
          SecurityGroupId:
            Ref: EcsSecurityGroup
          SystemDiskCategory:
            Ref: ServerSystemDiskCategory
          SystemDiskSize:
            Ref: ServerSystemDiskSize
          MaxAmount: 1
          ImageId: centos_7
          InstanceType:
            Ref: EcsInstanceType
          Password:
            Ref: EcsInstancePassword
          InternetMaxBandwidthOut: 50
          InstanceName:
            Fn::Join:
              - '-'
              - - Ref: ALIYUN::StackName
                - '[1,4]'
      InstanceRunCommand:
        Type: ALIYUN::ECS::RunCommand
        Properties:
          Type: RunShellScript
          Sync: true
          CommandContent:
            Fn::Sub:
              - |
                #!/bin/bash
    
                yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
                yum makecache fast
                yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin jq
                mkdir -p /etc/docker
                tee /etc/docker/daemon.json <<-'EOF'
                {
                    "registry-mirrors": [
                        "https://docker.m.daocloud.io",
                        "https://mirror.baidubce.com",
                        "https://dockerproxy.com",
                        "https://mirror.iscas.ac.cn",
                        "https://huecker.io",
                        "https://dockerhub.timeweb.cloud",
                        "https://noohub.ru",
                        "https://vlgh0kqj.mirror.aliyuncs.com"
                    ]
                }
                EOF
                systemctl enable docker
                systemctl start docker
                sleep 10
    
                # 安裝Server
                wget '{{ computenest::file::csgserver }}' -O csghub-main.tar.gz
                tar -xvf csghub-main.tar.gz
                cd /root/csghub-main/deploy/all_in_one
                sed -i 's/SERVER_DOMAIN=[^,)]*/SERVER_DOMAIN=${PublicAddress}/' .env
                sleep 10
                chmod 777 startup.sh
                ./startup.sh
                sleep 10
                docker compose restart user_server
                sleep 10
                docker compose restart nginx
                docker compose restart user_server
                # 執行成功回調WaitCondition結束waitCondition的等待     
              - PublicAddress: 
                  Fn::Select:
                    - 0
                    - Fn::GetAtt:
                        - CsghubServerInstance
                        - PublicIps
          InstanceIds:
            Fn::GetAtt:
              - CsghubServerInstance
              - InstanceIds
          Timeout: 3600
  5. 部署物關聯區塊中可設置Helm關聯。單擊選擇部署物,在彈框中選擇部署物和版本,單擊確定完成Helm Chart部署物替換。

    image

  6. 完成服務的創建,并測試通過后, 請根據計算巢服務的發布審核標準進行自檢,并提交審核。發布審核標準的詳細信息,請參見發布審核標準

  7. 服務創建完成后,可以在服務詳情頁查看部署物關聯關系。

    image

相關文檔

  • 關于創建計算巢服務的詳細內容,請參見創建服務

  • 當您不再需要部署物或部署物版本時,可刪除該部署物或部署物版本,請參見刪除部署物

  • 當您需要變更部署物內容等信息時,可通過創建新版本來實現,請參見創建新版本

  • 設置部署物的升級配置,請參見服務升級配置