• 沒有找到結果。

4.8 自定义组合部署任务

4.8.19 Kubernetes 部署

部署原理

产品优势

1. 可支持标准的原生kubernetes集群部署,采用公网部署时不需绑定在特定云厂 商。

2. kubectl中使用到的yaml文件可以直接从上游发布服务或者代码仓库获取,打通了 CI/CD流水线。

3. yaml文件和kubectl命令参数都可以引用部署任务中参数设置,增加灵活性,减少 或避免部署脚本的修改。

自定义集群部署

步骤1 获取kubeconfig文件。

● 以华为云CCE集群为例。

a. 登录CCE控制台,选择“资源管理 > 集群管理”,单击待连接集群下的“命 令行工具> kubectl”。

b. 在集群详情页面,绑定公网apiserver地址。

说明

由于部署服务执行机与用户K8S集群不在同一个VPC,所以只能通过弹性IP访问。

c. 在集群详情页面,下载kubectl配置文件(kubeconfig)。

用户指南 4 创建部署任务

说明

下载完成后用户会得到一个kubeconfig.json文件。

– 用户自己的K8S集群

参考资料:创建kubeconfig文件 步骤2 创建Kubernetes接入点。

1. 进入部署服务主页。(部署服务主页<北京4>)

2. 单击“新建任务”,打开“新建任务-基本信息”页面。

3. 单击“下一步”,进入“新建任务-选择部署模板”页面。

4. 选择“空白模板”,并单击“下一步”,进入“添加步骤”页面。

5. 切换到“所有步骤”页签,搜索到“Kubernetes部署”,将其“添加”。

6. 将“部署方式”选择为“自定义集群”。

7. 创建Kubernetes部署接入点。

用户指南 4 创建部署任务

4-22 创建 Kubernetes 部署接入点—参数说明 参数名称 填写说明

连接名称 服务扩展点的名称。

Kubernetes

URL 填写为,kubeconfig文件中,"name":"externalCluster"字段后 server中的URL,如下例中的URL为https://121.36.**.**:5443

{"name":"externalCluster","cluster":{"server":"https://121.36.**.**:

5443","insecure-skip-tls-verify":true}}

Kubeconfig 直接复制Kubeconfig文件中的全部内容即可。

须知

填写信息后单击“验证并确定”按钮,可以验证接入点是否配置成功。

步骤3 按页面提示,补全所需参数,即可完成Kubernetes公网部署。

须知

● yaml文件中可以使用{{}}引用部署任务“参数设置”中的参数。

● 命令参数中可以使用 ${} 引用部署任务“参数设置”中的参数。

● 当yaml来源选择代码仓库时,需要填写yaml文件的相对路径,当前目录为代码分支 的根目录。

● 当部署方式为公网部署时,可选择单个yaml文件或者文件夹,在内网部署模式下,

仅支持选择单个yaml文件。

● kubectl命令使用指南请参考:kubectl命令 。

----结束

用户指南 4 创建部署任务

CCE 集群部署

步骤1 进入部署服务主页。(例如:部署服务主页<北京4>)

步骤2 单击“新建任务”,打开“新建任务-基本信息”页面。

步骤3 单击“下一步”,进入“新建任务-选择部署模板”页面。

步骤4 选择“空白模板”,并单击“下一步”,进入“添加步骤”页面。

步骤5 切换到“所有步骤”页签,搜索到“Kubernetes部署”,将其“添加”。

步骤6 将“部署方式”选择为“CCE集群”

步骤7 这时可直接选择华为云同区域下的“集群名称”和“命名空间名称”。(什么是集 群?)

步骤8 按页面提示,补全所需参数,即可完成Kubernetes内网部署。

用户指南 4 创建部署任务

须知

● yaml文件中可以使用{{}}引用部署任务“参数设置”中的参数。

● 命令参数中可以使用 ${} 引用部署任务“参数设置”中的参数。

● 当yaml来源选择代码仓库时,需要填写yaml文件的相对路径,当前目录为代码分支 的根目录。

● 部署方式为内网部署时,yaml文件请遵循以下几条规则 – 仅支持yaml格式的文件输入,不支持文件夹路径。

– 只支持deployment、service、ingress三种类型的kubernetes对象的创建和升 级,且deployment对象个数不大于1。

– 同一个部署步骤中,不同的kubernetes对象在同一个yaml文件中定义。

– yaml文件中,不同对象之间用”---”开头的字符分割。

● kubectl命令使用指南请参考:kubectl命令 。

----结束

CCE 集群—deployment 快速部署

步骤1 创建CCE集群,可参考快速创建CCE集群。

步骤2 创建命名空间,可参考创建命名空间。

步骤3 创建负载均衡、容器配置,可参考创建无状态负载。

步骤4 推送镜像到镜像仓库,可参考制作Docker镜像并推送到SWR镜像仓。(可选,若部署 非私有镜像,请跳过)

步骤5 进入部署服务主页。(例如:部署服务主页<北京4>)

步骤6 单击“新建任务”,打开“新建任务-基本信息”页面。

步骤7 单击“下一步”,进入“新建任务-选择部署模板”页面。

步骤8 选择“空白模板”,并单击“下一步”,进入“添加步骤”页面。

步骤9 切换到“所有步骤”页签,搜索到“Kubernetes部署”,将其“添加”。

步骤10 进入步骤编辑页面,参考表4-23进行如下配置:

1. 将“集群类型”选择为“CCE集群”。

2. 将“部署方式”切换至“快速部署”。

3. 选择好需要部署的集群、命名空间、工作负载(deployment)、容器、镜像和镜 像版本(镜像版本不要选择当前版本,会导致部署不生效)。

4-23 参数说明

集群名称 选择CCE云容器引擎中购买的K8S集群。

命名空间 选择CCE云容器引擎中K8S集群的命名空间。

工作负载(deployment )

● 使用kubectl通过yaml文件部署门槛相对较高,用户可以参考以下两种方法编写 yaml文件。

● 使用yaml文件部署成功后,再使用{{}}引用部署任务参数,挂接流水线打通整个 CI/CD流程。

用户指南 4 创建部署任务

方法1:

可参考CCE相关文档:如何使用kubectl命令?

方法2:

1. 在CCE服务中创建好工作负载。

2. 选择工作负载相关的对象,点击编辑yaml文件,下载得到yaml文件。

3. 删除掉上述yaml中和版本、时间戳、状态等相关的字段(不删除可能会报错)。

用户指南 4 创建部署任务

说明

1. 常见的对象以及yaml在CCE界面上的获取位置:

deployment:

点击“工作负载>无状态>更多>编辑YAML”。

service:

点击“资源管理>网络管理>Service>编辑YAML”。

ingress:

点击“资源管理>网络管理>Ingress>查看YAML”。

configmap:

点击“配置中心>配置项(ConfigMap)>查看YAML”。

secret:

点击“配置中心>配置项(Secret)>查看YAML”。

2. yaml文件中需要删除的字段:(yaml中以下字段都是K8S集群自动生成的,因此在部署使用 的yaml无需填写。)

metadata.selfLink //访问资源自身的URL

metadata.uid //系统为每个对象生成的唯一ID

metadata.resourceVersion //用于识别改资源内部版本号

metadata.generation //对象修改序号

metadata.creationTimestamp //创建对象的时间戳

metadata.annotations //对象的注解

status //对象在系统中当前的状态

相關文件