K8S发布系统-后续Jenkins

接之前,此节就做收尾篇吧。

新环境的发布完全通过Jenkins来操作,与之前ZSDS隔开;基础镜像和配置的模板均使用上面 发布配置 部分的Demo样例。

通常服务

使用模板列表中的 Fixed_Front 和 Fixed_Project 任务为模板来创建新的项目即可:

使用Fixed_Project创建JAVA项目,使用Fixed_Front创建前端项目。

如:

主要修改项目描述,以及Pipeline中的相关地址即可。

特别配置任务

项目facility-cmd-node需要部署于具有一台固定公网IP的节点上,则需要先在那个节点上打上标签:

kubectl label nodes cn-hangzhou.172.16.12.100 zongs365.com/node-type=extranet
kubectl get nodes --show-labels

此标签的适配是在YAML文件中定义的,故此项目使用与其它项目不同的YAML文件模板(deployment-cmd.yaml),任务与需要做相应的修改。

其它事项

K8S部署YAML文件,初次创建使用create,之后使用replace。Pipeline中有相关判断。

若不使用自建Harbor镜像仓库,直接使用阿里云镜像仓库来上传下载镜像的话,需要进行额外配置:

  • 阿里云:
    新建RAM子账号,并赋予“AliyunContainerRegistryFullAccess”全部权限;

    使用子账号登陆控制台,这时还看不到其它仓库,需要点击创建仓库,才能看到授权的其它实例仓库;然后进入实例中,点击访问凭证并设置固定密码即可:
  • Worker节点:
    在自建群集的Worker节点上操作,使用子账号登陆云镜像:
    docker login --username=image_pusher@xxxx registry.cn-hangzhou.aliyuncs.com
    cat ~/.docker/config.json
    docker logout


    将生成的认证config.json复制到所有节点的/var/lib/kubelet/下,并重启kubelet服务即可:

    mv ~/.docker/config.json /var/lib/kubelet/
    cd /var/lib/kubelet/
    scp -p config.json 172.16.220.144:/var/lib/kubelet/
    systemctl restart kubelet

Tips:也可以使用创建Secret的方法进行操作。

发表评论

error: Content is protected !!