部署镜像到CCI
```yaml
name: Deploy CCI Actions Demo
on:
push:
branches:
master
env:
REGION_ID: region_id # set this to your preferred huaweicloud region, e.g. cn-north-4
PROJECT_ID: project_id # 项目ID,可以在华为云我的凭证获取
ACCESS_KEY_ID: {{ secrets.ACCESSKEY }} # set this to your huaweicloud access-key-id
ACCESS_KEY_SECRET:{{ secrets.SECRETACCESSKEY }} # set this to your huaweicloud access-key-secret
SWR_ORGANIZATION: swr_organization # SWR 组织名
IMAGE_NAME: image_name # 镜像名称
Huawei Cloud Deploy CCI Action
开发者可以集成此action到workflow,将镜像部署到华为云容器实例。
前置工作
1.云服务资源使用
容器镜像服务(SoftWare Repository for Container,下面简称SWR)和 云容器实例(Cloud Container Instance, CCI)
2.SWR
SWR需要创建组织并授权管理
3.CCI
使用Deploy CCI Action前需要在CCI服务完成下面前置步骤操作。
1)服务权限管理设置
2)创建命名空间(非必须,不存在即创建)
3)创建负载(非必须,不存在即创建)
鉴权认证
推荐使用最新版本的huaweicloud/auth-action进行华为云部署容器实例的鉴权认证。
Input
action片段使用介绍
action片段默认使用华为云统一鉴权huaweicloud/auth-action。
从SWR容器镜像中心获取镜像部署CCI容器实例
从SWR我的镜像获取镜像部署CCI容器实例
根据提供的yaml文件部署CCI容器实例
1.部署Kubernetes样例yaml文件
以下示例为一个名为cci-deployment的Deployment负载,负载在命名空间是cci-namespace-70395701,使用swr.cn-north-4.myhuaweicloud.com/namespace/demo:v1.1t镜像创建两个Pod,每个Pod占用500m core CPU、1G内存。
负载Deployment yaml文件更多介绍:Deployment
End-to-End 样例 Workflows
1.部署cci样例workflow
以下示例为将镜像部署到华为云容器实例workflow过程。workflow包含的步骤:
一、代码容器构建build
二、部署容器实例deploy
jobs: build: runs-on: ubuntu-latest outputs: image: ${{ steps.build-image.outputs.image }} steps: - uses: actions/checkout@v2
deploy: needs: build runs-on: ubuntu-latest steps: - name: Authenticate to Huawei Cloud uses: huaweicloud/auth-action@v1.1.0 with: access_key_id: secrets.ACCESSKEYsecretaccesskey:{{ secrets.SECRETACCESSKEY }} region: env.REGIONIDprojectid:{{env.PROJECT_ID}}
``` 详情可参考 deploy-cci-workflow-sample
Action中使用的公网地址说明
1.此Action是部署云容器实例CCI, 使用过程会调用华为云服务OpenAPI,涉及到云服务是: 统一身份认证服务 IAM,云容器实例 CCI,虚拟私有云 VPC,弹性负载均衡 ELB。华为云服务OpenAPI统一公网汇总页面华为云地区和终端节点
2.k8s client端的认证插件cci-iam-authenticator linux下载地址
3.k8s client端的认证插件cci-iam-authenticator darwin下载地址