Wayne - 360开源多租户K8S管理平台(使用教程)

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触发的更新都会有对应的更新说明:

本文由博客一文多发平台 OpenWrite 发布!

文振熙 CSDN认证博客专家 Go/GoLang PHP 分布式
六年技术研发经验、四年后端技术架构经验,带领管理过45+技术团队和技术架构团队,从零到一帮助公司组建了后端团队、 运维团队和大数据团队,并且不断演进推广前沿技术;

多年来一直坚持产出优质原创博文,共创作169篇原创博客,全网阅读量破百万,并且被CSDN开源社区授予CSDN认证专家,

参加或主导多个开源项目研发(PhalApi、GoCore、GoRSA、KT-connect);
<p> <span style="color:#333333;">Kubernetes</span><span style="color:#333333;">是Google开源的一个容器编排引擎,它支持自动化部署、大规模可伸缩、应用容器化管理。在生产环境中部署一个应用程序时,通常要部署该应用的多个实例以便对应用请求进行负载均衡。</span> </p> <p> <span style="color:#333333;"><br /></span> </p> <p> <span style="color:#333333;">在Kubernetes中,我们可以创建多个容器,每个容器里面运行一个应用实例,然后通过内置的负载均衡策略,实现对这一组应用实例的管理、发现、访问,而这些细节都不需要运维人员去进行复杂的手工配置和处理。</span> </p> <p> <span style="color:#333333;"><br /></span> </p> <p> <span style="color:#333333;">虽说我们可以使用比如Kubeadm工具可以简化k8s集群的部署,但这却对我们k8s的各个组件如何协同工作,及排错造成困扰。本套课程主要是以二进制的方式来一步步的安装k8s的集群,来加深我们对K8s集群进一步的理解。同时也可以作为我们生产部署的一种方式。</span> </p> <p> <span style="color:#333333;"><br /></span> </p> <p> <strong><span style="color:#333333;"><span>知识讲解:</span></span></strong> </p> <p> <span style="color:#333333;"><span>   1.   </span></span><span style="color:#333333;">概述了K8s的集群的一个整体架构。</span> </p> <p> <span style="color:#333333;"> 2. 为了实现各个组件的通信,讲解了如何为各组件签发证书、配置kubeconfig、和产生加密的key及密钥。</span> </p> <p> <span style="color:#333333;"> 3. Etcd</span><span style="color:#333333;">键值存储集群的部署。</span> </p> <p> <span style="color:#333333;"> 4. K8s</span><span style="color:#333333;">的主节点的三大组件一步步的部署。</span> </p> <p> <span style="color:#333333;"> 5. K8s</span><span style="color:#333333;">的worker节点的三大组件及flannel网络插件部署。</span> </p> <p> <span style="color:#333333;"> 6. 部署kube coredns作为k8s内部的域名解析。</span> </p> <p> <span style="color:#333333;"><span><br /></span></span> </p> <p> <span style="color:#333333;"><span>注意:</span></span><span style="color:#FF0000;">本课程学习需要具有一定的Linux基础,**是学习过K8s集群或者在使用K8S使用有一段时间的。这样可以更好的理解本套课程内容。</span> </p> <p> <span style="color:#FF0000;"><br /></span> </p> <p> <span style="color:#FF0000;"><img src="https://img-bss.csdn.net/202003240658215582.png" alt="" /><br /></span> </p>
相关推荐
©️2020 CSDN 皮肤主题: 技术黑板 设计师:CSDN官方博客 返回首页