Wayne是笔者无意之间刷文章了解到的,简单使用之后发现能解决当前眼下诸多问题,出于推动公司容器化进程的原因选择开始使用,当前所有环境都已经在使用中。借助官方的介绍Wayne 是一个通用的、基于 Web 的 Kubernetes 多集群管理平台。通过可视化 Kubernetes 对象模板编辑的方式,降低业务接入成本,拥有完整的权限管理系统,适应多租户场景,是一款适合企业级集群使用的发布平台。
附上:
喵了个咪的博客:w-blog.cn
wayne官方Git地址:https://github.com/Qihoo360/wayne/blob/master/README-CN.md
PS:当前最新版本 v1.8.6,官方暂时不支持版本升级能力,不要轻易尝试版本升级;
Wayne 已大规模服务于 360 搜索,承载了内部绝大部分业务,稳定管理了近千个业务,上万个容器,运行了两年多时间,经受住了生产的考验。
一、Wayne配置Kubernetes
Wayne分为前台和后台,首先使用管理员账号进入后台
在集群页面关联集群
填写你的kubeconfig配置
创建集群后接下来创建命名空间
这里就需要配置分配资源和在拉去镜像时使用的镜像仓库的secret:
切换到前台,选择我们刚刚创建的命名空间
创建第一个项目
首先需要创建私有仓库密钥
但是这里有个问题,在项目里面创建的加密字典会默认加上项目名的前缀,笔者都是把镜像的Secret和PV/PVC提前创建好,名字统一
kind: Secret
apiVersion: v1
metadata:
name: vpcregsecret
namespace: core
selfLink: /api/v1/namespaces/core/secrets/vpcregsecret
uid: e8d6ef47-ce0c-11e9-9c16-00163e089310
resourceVersion: '31550513'
creationTimestamp: '2019-09-03T05:37:25Z'
data:
.dockerconfigjson: >-xxxxx
如果还是使用前台创建的配置,可以进入后台编辑命名空间默认Secret名称
后面创建容器就不需要指定镜像仓库密钥了,在同一个命名空间下也不需要建多份密钥,如果需要多份密钥只需要在创建容器的时候指定这里配置的相当于默认值
二、创建部署(deployment)
然后就可以创建容器了
发布成功之后就可以实时看到具体的状态了,也可以使用web shell、在线查看日志
更新版本
修改镜像,每次更新都需要填写发布说明
发布即可, 每一次发布都有记录
三、通过OpenApi来控制
默认API是不具备更新镜像的权限的需要单独增加权限
主要需要的是 OPENAPI_UPGRADE_DEPLOYMENT 权限
搜索赋予权限
API文档:wayne/openapi.swagger.json at master · Qihoo360/wayne · GitHub
通过OpenApi触发的更新都会有对应的更新说明: