检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
yaml文件中增加引用监控能力的配置。 apiVersion: osc.io/v1beta1 kind: CustomServiceDefinition metadata: name: helmrelease-csd spec: CRDRef: apiVersion: apiextensions
创建存储 通过在集群中创建PVC的方式创建存储,典型的创建方式如下: EVS云硬盘 apiVersion: v1 kind: PersistentVolumeClaim metadata: name: pvc-evs-auto-example namespace: default
"k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) // HwfkaSpec defines the desired
"k8s.io/api/apps/v1" corev1 "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/types"
ume(PV)方式挂载存储,典型的步骤如下: 创建PV,为集群提供存储服务。 apiVersion: v1 kind: PersistentVolume metadata: name: mypv1 annotations: # 访问控制: 使用 group
schema: openAPIV3Schema: description: Hwfka is the Schema for the hwfkas API properties: apiVersion:
hwDnatElbAccess(公网访问):支持通过弹性公网IP访问实例。 hidden(字段隐藏):支持对基于CRD自动生成控件的字段表单隐藏。 statusDescriptors: text(展示文本): 实例的状态字段一般文本展示。 link(访问链接): 公开实例的外部链接。 specDescriptors
创建API和Controller 根据以上设计的CR,在项目工程中创建对应的CRD类型: $ kubebuilder create api --group osctest --version v1 --kind Hwfka Create Resource [y/n] y Create
# 基于 openAPIV3Schema 的校验规则 validation: openAPIV3Schema: description: Memcached is the Schema for the Memcacheds API properties:
yaml文件中增加引用日志能力的配置。 apiVersion: osc.io/v1beta1 kind: CustomServiceDefinition metadata: name: helmrelease-csd spec: CRDRef: apiVersion: apiextensions
charts目录 templates目录 {Helm}/ ├─ Chart.yaml #【必选】包含了chart信息文件,包括api版本、名称、描述、图标、类型、注释 ├─ values.yaml #【必选】参数值文档,为templates下的文档配置参数值
服务能力如服务依赖、服务访问、服务部署、监控日志等公共能力欠缺。 因此围绕CRD自研CSD,通过声明式配置CRD的能力引用,增强服务治理能力。 CSD本身属于CustomServiceDefinition类型的资源,其符合k8s资源的通用定义方法。其apiVersion和kind是固定的,metadata
Helm是用于Kubernetes应用的包管理工具,详情可参考Helm指导。 Operator Operator 是Kubernetes的扩展软件和API的客户端,通过自定义资源管理应用及其组件,同时也作为自定义资源的控制器。Operator遵循Kubernetes理念,旨在自动化部署运维服务和应用。Operator
yaml,描述当前OSC服务包的安装,升级方式信息。 lifecycle.yaml文件样例 ## 描述该OSC服务包的声明周期相关信息 install: strategy: deployment clusterPermissions: - rules: - apiGroups:
由CRD中定义的openAPIV3Schema字段规定CR中可配置的参数以及这些参数的类型、范围,应用在创建CR的时候通过YAML文件指定这些参数。 2. 使用自定义csd.yaml文件生成表单 自动生成的创建表单已经很强大,但有时可能需要修改自定义表单的呈现方式。例如,可能需要对用
operator为例: apiVersion: operators.coreos.com/v1alpha1 kind: ClusterServiceVersion metadata: annotations: alm-examples: "[ { "apiVersion":
前置说明 上传商用服务的账号须具有ISV权限,具体申请方式请参见如何加入华为云云市场。 使用商用服务发布的账号需要在上海一region下创建一个OBS桶,桶创建要求如下: 表1 OBS桶创建参数说明 参数 值 说明 区域 上海一 只能选上海一,不能选其它区域,OSC虽然是Global服务,但本身部署在上海一。
OpenAPI校验 在定义CRD时,需同时定义基于OpenAPI的校验规则,其中包含创建CR时的字段及取值范围,以便校验用户创建的CR中字段值的合法性。使用Kubebuilder,可通过在API中定义Marker,自动生成spec.validation.openAPIV3Schema。
生成代码和资源描述文件 修改api/v1/memcached_types.go或controller中的markers之后,需要重新生成代码和资源描述文件。 # 生成 api/v1/zz_generated.deepcopy.go make generate # 生成 config/crd/bases
downloading k8s.io/component-base v0.22.1 go: downloading k8s.io/apiextensions-apiserver v0.22.1 Update dependencies: go mod tidy go: downloading