粉丝1038获赞2996

k 八 s 里面 r、 b、 a、 c 是 什么?我们来看张图片啊。 k 八 s 集群比做一个公司用户或服务账号,就是公司里的员工角色,如 rooster rooster rooster 就 像是岗位权限说明书,规定这个岗位能干哪些事情,比如说读报表啊,修改文件,重启服务这些绑定 robedding, closer routing, 就 像给某个员工分配了某个岗位,让他可以拥有岗位里的权限,这个和我们平时系统里的 r p a c 是 一样的,首先有用户,然后有角色,还有就是把角色和用户绑定 r p a c 里面的权限有哪些呢?可以从三个维度来说。第一个维度就是动作维度,表示你可以干哪些事情,比如 get, list, watch, update, great 这些动作。第二个维度是资源维度, 包括 public, service, 概概, map 这些资源,就是说哪些人可以对这些资源进行什么操作。第三个维度是从操作范围减,是 name space 级别的还是集群级别的,如果是 name space 级别的话就是 ro 加 robedding, 如果是肌群级别的话就是 cluster row 加 cluster roboting。 我 们来看个势例,首先我定义了个肉,然后这个肉被操作的资源是 o 的, 然后它拥有的动作权限是 get, create, delete。 然后我们再创建一个 roboting, 表示把用户和角色绑定在这个 robotin 里面。我们看 subject 下面 can 表示用户类型, name alice 是 具体的某个人,表示这个人可以进行哪些操作。下面的 ro i e f 就是 引用的上面定义的 ro, 这里就将用户和角色绑定到一起了。 如果是操作基区维度的,我们把它的 can 定义为 close ro, 然后 robin 定义为 close robin, 这就是 k b s r b a c。

本集介绍 k 八 s 管理工具 cuber v 三版本安装部署,按照 cuber 官网介绍将 docker 运行改为 docker compose 方式,便于后续查看运行参数。 创建目录,将制作好的 docker compose 文件上传到该目录中,只需要修改该文件中的访问端点即可。如果不想使用默认密码,添加密码环境变量并设置即可。 通过 docker compose up 杠低启动应用 查看服务状态,可以看到服务正在启动中,稍等片刻,此时服务启动并且进行健康检查, 现在可以看到服务被标记为健康状态了。打开浏览器,输入地址,加八十端口就可以打开 cuber 管理平台,输入账号密码就可以登录成功了。 点击添加集群,填写集群名称和描述, 点击 q config, 按照提示获取对应的内容,到 master 节点复制内容, 粘贴到 q config 中,点击确定集群导入中, 片刻之后就可以看到导入成功。


keeps 的资源介绍? keeps 的资源类型主要有 department, service, port, replica set。 我们看一下每个资源的主要作用。 port 是一个或多个容器的组合, 这些容器共享存储网络和秘密空间以及如何运行的规范。我们部署的应用就是以容器化的形式在 pot 中运行。 rapic confect 作用是确保 pot 已指定的副本个数运行。 一般是官网建议使用 department, 而不是直接使用 represent。 除非你需要之定义更新业务流程或者业务根本不需要更新。这个资源我们可以不用太关注。 department 是管理 represent 的 变相炮的,提供声明式的更新,回滚扩容和说容等功能。通俗来说,我们应用部署的个数容器,镜像内存和 cpu 等信息,通过 department 的配 致声明是非常方便的。 service 定了一组 pot 的访问入口,主要功能是做了四层网络代理并负载均衡到一组 pot 中。 我们一个应用部署多个实力,可以通过 service 负载均衡暴露出一个指定的 ip 和端口供外部调用。与 service 功能类似的还有 ingress, keep as 默认部署是没有 ingress 的。 ingress 的功能类似于 ngx, 可以做四层和七层的网络代理以及限流操作。 increds 在 k 八 s 中并不是必须的,可以被更外层的 n, g, x 替代。以上是个人对 k 八 s 资源的理解,欢迎交流指正。

啊,这节我们接着来讲这个 harm, 我们通过这个 harm 来自定义一个应用啊,呃,主要以 ngx 来进行演示, 当然 n g x 你可以通过,我只是为了呃方便演示采用 n g x, 你其实可以查嘛,都有现成的,对不对?这些 repo, 你看这些, 这个,呃别纳米的,又是比较新的啊,别纳米,所以这个这个仓库大家要关注啊,你看他是一点二,三点四,比较新看比较新 用其他的用微软的这个一点幺,三点五,那这个就比较老, 所以你直接,你要安装,你直接就是一直做啊,这个是啊啊,这个直接用别纳米的,你这样也可以直接安装一个,我只只只为了演示,所以我这里面呢,就是直接 n g x 为一件事啊,那 create 一个 my n g x, 这是这里面,你看这是它的一个结构 charts charts 啊,这个里面有 timeliness, 是我们平时就是频繁编辑的这个 charts 目录可要可不要啊。如果是一个简单的应用啊,这个 charts 是它的原数据,也就是这个 timer charts 是原数据,在这儿, 最关键的是这个 values, values 里面的这个你看一些啊,参数的值啊,都会引用,引用到那里面去, 引用到我们的 temperas 里面去啊,你这里写什么值,我们就会对它进行一个替换,其实就 go temperas 这方面的一个技术啊, 我们看一下 templates 目录下面有什么内容,它有 deployment 啊,你看常见的这个 hypers, 这个 template 的不要删了啊,这是一个你在编辑其他的这个模板 time 呃,样本的时候 会引用到这个里面内容,这个不能随便删除。哎, engrass 啊,是不是 comte 啊, service 啊, s a 啊,还有还有一个测试的,测试的你到可以把它删掉,也就是说其实这里面的目录你看你用得着哪些,你就留下哪些就可以了。 可以删掉这个 hpa, 然后这个肯定用,用不着,暂时用不着啊,因为这应用我打就打算简单的部署一下啊。 sense 杠这个也用不着。 service 用不着啊,只留这个 deployment 啊。这个 notes 文件可以看一下里面没有, 其实也可以删掉啊, 都有判断的,你看这里面这个模板语法,你看如果 value 是里面这个 english ina。 不啊,如果他是为处的话,那就炫上这下面的这个魔法。这这两天你看一下这个外电视里面这个 ingras 他有没有激活, 你看 engrass, enable 的默认是 force, 所以你可删不可,可不删。你如果这里为处的话,那个 engl engrass 那个压码文件就会生效,他会进行渲染,然后进行部署, 就是这么简单。我们接下来就是编辑这个 deployment, 就主要编辑它,编辑它这里面的 content 是 image, 看它末日的,你看这里引用的是 emay 级 reporter, emay 级 tech 啊。 嗯,你可以看一下,这里面呢也是用的这个 index word 呢,就是这个 index, 对不对? 也就是说你自己创建一个自定义,用他默认就是这个以 ngx 作为势力来对你进行一个指导, 有暂时这里就用不着。 在这,我们来到外面就是这个目录, 用不着做任何更改。 store ex 幺幺啊,直接就是这样。 my engines, 这个是指定你这个 release 就是 chart 跟 release 的这个关系。 chart 和 release 它一个关系,就类似于这个 doctor 镜像里面的这个 emays 呃, enter 的关系啊,这是一对一。 好,那我们就先不说, 那这个就显示这个 status 为 deployed, 表示它已经开始部署,但是有没有部署成功 啊? deploy 的也没有复制成功。 个人的密密空间 and use empathy's employment 都是默认的命运空间,在都在默认的命运空间下面。 containers, 那我其他的这这些都没有,都没有那个 my endings one names, the ingress 相关的一个配置 service the page 五本书 a c 的 p o 啊,这个盖的 p o 也就已经开始创建了啊。 one, 这里面你妹姐的这个 tag 取决于你这里 可以在这里指定它的这个版本啊。有人说 a t e x t 那么它就拉取最新的, 那这个已经取起来了,看一下。好,这个已经装里。 好,这就是如何通过这个。嗯, harm 自定义一个 harm charts 啊,我们 就就相当于我们现在这个包啊,这就是一个包,我们也可以把它推送到自己的室友仓库啊,方便来进行管理。那么后续要想不储的话就非常方便了, 只需要维护那个 windows 里里面的,根据不同环境给出不同的参数值就可以了。好,这是这节内容,就现在分享的这里。

数据库部署到 k 八十环境的关键点,到这一期基本上讲的差不多了,在这里呢,我给大家汇报一下我们公司本次数据中心迁移啊数据库部署到 k 八十环境的一个情况。因为我们公司主要做的是自动化转型,也就是说主要做的就是进销存 erp 企业管理系统,包括销售管理系统、采购管理系统、 仓储管理系统、运输管理系统、加工系统,还有我们的客户管理系统,嗯,还有这个财务系统等等等等,做的是业财一体化,所以,呃,需要部署的数据库实力还是比较多的, 这个时候我们之前的一键恢复的流水线就发挥了作用。为什么?因为数据中心的迁移,首先最难的点就在于数据的啊迁移,那数据的迁移可能大家觉得搞个重库就可以同步过来,不是的,重库他只能同步丁 logo 增量数据,他没法同步全量的数据,所以我们的一键恢复包含了之前的 冷备的数据。又说我们先通过冷备的数据恢复了啊 t 减一的这个呃全量数据,然后再通过存库的能力恢复了全量的数据,这样的话我们两个机房的啊数据就完全同步了,所以这个时候 你就会发现流水线他能省好多事,真的,我觉得流水线在这一次里面发挥了很大的价值。 这一次有一点不同的是什么呢?原有的数据中心,他的麦穗口是跑在虚拟环境的,虚拟环境他要手动创建这个啊虚拟机,所以啊, 我们目前迁移补足了一块,就是不需要手动创建虚拟机了,从创建麦穗口的呃炮的,到一键恢复一条线完整的打通了,这个就啊价值就非常大了,到后面啊农灾能力也将会有质的提升。 好,这个是我们公司的一个情况。那除此之外呢?呃,其实 micro 还是有一些需要大家注意的一个呃小细节,那就是我们的配置,还有这个密码,初次化的密码等等,这些东西其实还是要利用到 k 八十的一些配置,比如说, 呃 macbook 的 配置要放到 config 里面,然后初次化数据库的时候,你的 root 密码可以先暂时放到 sql 里面。初次化,初次化完之后呢,我个人建议是要先把这个啊 root 密码给删掉,为什么?因为它只有在初次化那一刻用的到 root 密码,后面 root 密码基本上用不到了。所以 这里面有很多细节,就是你一开始把 root 密码放到数据库里面没关系,但是猝死完完后一定要及时删除 k 八十里那个数据库里面的数据库的 root 密码,这样的话更加的安全可靠一点。 好,这个是一个小细节。好,本期的内容先到这啊,关于数据库部署到 k 八十的内容啊,到此结束,那下一期我将介绍一下啊其他的一些前沿内容啊,比如说我们的这个呃 english 或者是 get away。 好, 大家如果感兴趣的话可以点点关注点点赞,咱们下期再见。

ks 里面 network policy 是 什么?可以试一下什么样效果?首先我们看一下 network policy 是 什么?来看一张图片,想象 pose 是 办公楼里的办公室,默认情况下,大楼里的所有办公室都可以相互串门,随便走动。 network policy 就 像门口的保安, 告诉谁可以进,谁不可以进去。所以简单点说, network policy, 它是用来控制 pose 之间谁可以访问谁。具体 network policy 怎么用呢? 第一步,使用 network policy 的 前提条件时,必须安装支持它的 c n i 插件,像卡里克 simon 就 支持, final 就 不支持。第二步,我们一定要明白, network policy 一定是以 pad 为中心生效的,它有个 pad select 标签,表示给哪类 pad 去使用。第三步,我们要写允许谁能进,谁能出。 network policy 的 默认逻辑只有一句话, 没有被允许的一律拒绝。常用的两个方向是, ingress, 谁能访问我? ingress, 我 能访问谁?来看一下这个样的文件,这个里面我们看一下 port selector, 它表示以 backend 这个 port 为中心,然后它策略我们看 policy types 是 ingress, ingress 表示谁能访问我,然后我们看一下 ingress matches 访问 backend, 也就是说 backend 指接待 frontend, 这就是 network policy 的 使用方法。

本集学习如何通过 qbird 部署 java 服务,制作好的 java 服务镜像上传到 harbor 上。 接下来在 qbird 上创建部署工作覆盖层,选择微服务层, 添加工作容器,填写名称镜像,填写刚刚 harbor 上的 ve 版本,选择镜像仓库密码,如果没有,点击创建,这里面填写 harbor 地址,账号和密码, 填写名称保存, 选择镜像拉取策略。接下来配置服务和路由, 这里面默认集群模式。添加端口,这里面需要根据自己的业务服务端口填写我的扎勒测试服务端口为八零八零, 继续填写路由信息。添加规则,注意这里面如果填写的虚拟域名需要添加到 host 中, 点击保存运行, 此时看到镜像拉取失败, 点击编辑,选择镜像仓库账号密码, 还是拉取镜像失败, 如果看到这种报错,参考文档修改,接下来我们按照这个来修改。我的容器是 container 的, 在 container 配置文件中添加 harbour 信息,注意 k 八 s 中每个工作节点都需要添加, 修改好后保存重启 container 和 kublid, 重启后可以查下状态, 重启成功后再来看下镜像拉取情况。拉取镜像需要时间,稍等片刻, 此时可以看到镜像拉取成功了,服务也已经启动成功了。 接下来访问下该服务的接口,填写接口名称, 可以看到接口访问成功了,日制也打印了,快去试试吧!

本集我们来快速了解一下 k 八 s 中 ingress 是 如何工作的。可以把 ingress 想象成集群的智能门卫或者七层覆盖均衡期,它负责管理从外部访问集群内部服务的流量。结合流程图可以看到,客户端发起了一个请求。 这个请求首先到达集群的 ingress controller, 它是整个流程的大脑,是一个长驻进程,负责具体流量的转发。 ingress controller 会时刻监听着一种叫 ingress 的 a p i 对 象。这个 ingress 资源就是我们用亚某文件定义的路由规则手册,它明确规定了当遇到对应的域名并且路径时 check 在 请求时必须把它转发到后端名为 shop s d c 的 servs。 ingress controller 拿到这条规则后,就会执行路由动作,将请求精准地转发给对应的 servs。 最后, service 再通过负债均衡将流量分发到背后一个或多个健康的怕上,由这些怕及我们的业务容器来处理请求并返回结果。 简单来说, ingress controller 是 执行者, ingress 资源是规则手册。这种设计让我们能够通过声明式的 ymail 文件轻松管理外部流量的路由,实现基于域名路径的灵活转发。一个 ip 地址就能暴露多个服务,非常方便。 接下来安装 ingress, 下载 ingress, 让某文件查看镜像地址,如果不可以访问的,改为可以访问的地址,执行 quebec apply 杠 f 命令安装,查看容器状 态,稍等片刻后可以看到 ingress 容器已经运行,当然也可以通过 cuber 查看。


cuberness k 八 s 中的机遇角色的访问控制 robust assess control, 简称 rbac, 是一种安全机制,用于管理用户、服务账户以及他们对 cuberness 资源的访问权限。 rbac 通过定义角色 roll 和鸡群角色 custer roll, 并将这些角色分配给用户货组,从而实现细力度的全线控制。 rbac 的核心组件 一、角色 roll 定义一组权限,这些权限是特定于某个 cuberness 命名空间的,他们可以用来授予对命名空间内资源的访问权限。二、集群角色 custer roll 类似于角色,但是他们的作用欲是整个 huberns 机群可以跨多个命名空间授权。三、角色 绑定 robin 将一个角色绑定到特定的命名空间和用户组获服务账户上,从而授予他们该角色的权限。四、鸡群角色绑定 cost robin 将一个集群角色绑定到用户组或服务账户上,无论他们位于哪个命名空间,都可以授予他们该角色的权限。二、 bac 的工作原理一、创建角色定义一组规则 这些规则指定了哪些资源可以被访问以及可以执行哪些操作,如电 post watch list。 二、创建角色绑定将创建的角色分配给特定的用户或服务账户,限制他们只能在特定的命名空间内执行角色中定义的操作。 三、创建集群角色和集群角色绑定与角色和角色绑定类似,但是他们适用于整个集群的资源。 rbac 的使用场景,一、命名空间隔离,在多团队使用同一集群的情况下 使用。二、 bac 可以确保每个团队只能访问自己的资源。二、细力度权限控制可以为不同的用户或服务账户分配不同的角色,从而精确控制他们可以执行的操作。 三、服务账户权限为自动化脚本和服务定义服务账户,并授予他们所需的最小权限级,以提高安全性。 rbac 的配置和管理一、默认角色 cubanic 提供了一些默认的角色, 入阿门带的 beauty 可以直接使用或作为自定义角色的起点。二、动态权限管理 r b a c 的权限可以在运行时动态调整,无需重启 a p i 服务器。 三、审查和更新定期审查权限配置,确保他们符合最小权限原则, 并根据需要更新角色和角色绑定。注意事项一、权限提升 rbacapi 会阻止用户通过编辑角色或角色绑定来提升自己的权限。二、资源引用 在角色中可以通过资源合资资源的引用来精细控制对 pubernese api 的反用。三、主体引用角色绑定和鸡群角色绑定可以绑定到用户 组货服务账户。通过二 bac, cubernet 实现了强大的访问控制能力,帮助管理员和运维人员保护集群资源,防止为授权访问正确配置。二 bac 策略对于维护 cubernet 集群的安全性至关重要。

生产搭建 k 八十环境应该考虑哪些方面呢?个人认为应该优先考虑可观车型, 也就是监控。因为有了监控以后,生产出了问题,可以快速定位,做定点优化,比如说系统问题啊,网络安全问题啊等等。 有了监控就可以快速定位,问题,可以快速定位问题就可以快速优化,针对性的优化,而不是一上来就做各种啊性能的调优。我觉得没必要,尤其是在你不懂的情况下。当然如果说你以前遇到的坑,你可以提前做,但是如果你以前没有遇到这样的坑,没有调过这样的参数,我的建议是不要去调,哪怕要调,也要对每一个参数 做细致的学习,你要知道每一个参数代表什么意思,它背后的原理是什么,你才能去调,不然的话瞎调会出问题啊。所以我更建议的是啊,先做监控,其他的如果不懂,先不做,等生产出了性能问题,或者是别的什么问题的时候,通过监控定位问题,然后做针对性的优化。好,这个是我的一个原则, 这个原则也支撑着我去做一些啊组建的选择,比如说网络组建的选择。网络组建有多种选择,比如说这个 flano, clymon, calico 这三个组建,那这三个组建都可以用,那我们究竟该用哪一个组建呢?这个时候啊,如果你像我一样更喜欢可观测性的话,那这个时候 clymon 必然成为你的第一选择。为什么?因为 clymon 它天然的带了一个啊监控,所以网络监控这一块, clymon 应该是可以满足我们的需求的, 那除此之外呢,我们还需要考虑磁盘 i o, 还有磁盘的容量,还有 cpu 内存等等这些东西,那这些东西的话,我们就使用这个普罗米修斯就可以搞定了。所以啊, 监控成为我的第一个优先考虑的点啊。第二点是什么呢?第二点是数据安全,也就是啊 s 的 etc, 它的数据要做备份。关于 e t、 c、 d 的 数据备份,在我之前做运维架构的时候有讲过啊,怎么去做 e t c 的 数据备份,而且我有讲是,呃,用 jacks 拍个烂流水线去做,大家可以去翻翻我那个视频就知道怎么做了,这里就不再赘述。所以 e t c d 的 数据备份,呃,其实也很简单, 但是这里面还有一个需要考虑的东西是什么呢?就是 k 八十的密钥管理组件,也就是 secret 这个组件。 secret 它默认的是没有经过加密的,它就是一个百事六十四的一个字母串,存储在 etc 的 这个数据库里面。 很多情况下,你把一些敏感的密码存到 secret, 这个时候其实如果别人得到了你的 e、 t、 c、 d 的 这个数据的话,就可以得到很多敏感的信息,所以 secret 的 话最好是需要加密的,而不是说默认的位置。就是四啊,这个也是应该考虑的一个点。 那除此之外呢啊,我们还应该考虑一些安全问题,那这个安全问题是什么问题呢?就是权限控制,其实很多情况下大家都用不好这个啊。 k 八十的权限权限控制主要是用 service account 的 这个东西去控制,也就是说 你你要什么样的资源,做什么样操作,你要你要参考最小权限原则,不能直接给他一个最大的权限,让他去操作,那这样是一个很危险的, 所以大家要去学习一下 service account, 还有这个 k 八十的这个权限控制,对吧?他的这个角色呀,还有他的这个资源呢,还有角色有资源的绑定啊等等,这些东西必须得学习,如果你不学习,你就很难去做这个,呃,做好这个安全的。呃,控制, 呃,这里有一个典型的就是说啊 jacks, 你 要在 k 八十里面跑一个 jacks, 但是 jacks 里面也要去操控 k 八十的基群去做流水线的发布啊,也就是 c i c d 的 cd 环节,你要去调用啊 k 八十的这个 api 去做这个呃,服务的发布。那这个时候 jacks 的 这个权限应该怎么控制?给他一个什么样的权限最小权限就可以达到要求呢? 其实我最开始的时候,我第一次用提拉斯的时候,我是给了他最大的权限,直接把德明的权限给了吉尼斯,所以,所以,呃,现在啊,熟悉之后,我觉得这个这样做是一个风险很大的一点,所以后面我基本上都是一点一点调试,看一下最小权限是什么,给他一个最小权限就完事了。好,所以对于啊权限的控制 值得大家付出精力去学习一下。好,这是第三点,第四点就是关于对资源的控制,我们都知道 k 八十,嗯,对资源的控制主要依赖于路由器下面的 request 和 limit, 可能大家都会设置 limit 比较大, request 比较小,就是 request 和 limit 是 不一致的,这种情况下它会导致某一个节点超额分配,超额分配的情况下,如果突然有一个峰值,它会导致这个节点上有一些应用被驱逐,那驱逐之后啊,会造成什么样的影响 其实就是未可知了。这里我更建议的是 request 和这个 limit 啊,都是一样的,这样的话就不会超过分配,也不会被驱逐。当然这个我觉得大家,呃,如果考虑了被驱逐之后,或者说你有信心控制这个驱逐的优先级也无所谓,对吧?你能控制这个影响范围就行。 我个人是比较喜欢是 limit 和 limit 是 这个一致的,这样的话就不会有有有这个驱逐的风险。当然这里面啊,带来了一个问题是有可能造成一定的这个资源浪费。 呃,但是我觉得你再怎么去做这个啊,做啊优化资源浪费是难免的,主要是你浪费的度有多少,其实有经验的话,你自己的分配其实并不会浪费多少资源,所以我个人更建议的是 request 和 limit 都是一致的。好,这个是关于 cpu 和内存的限制。那这个呃 显卡的限制 p v 该如何控制呢?啊?当然这个 k 八十里面有这个 p v c 或者是呃 p v 啊,这个东西它可以控制它的这个容量大小。呃,因为我本人用的不是统一存储,所以我的基本上是本地模式。 那本地模式我当时一开始想做的选择是 logo p v, 但是我发现 logo p v 它有个缺点,它这个缺点是什么呢?它必须得啊 重启 pod 才能扩容,有时候在扩容的时候你要先把这个 pod 给杀掉,你才能啊,才能这个扩容,这个呃, logp v, 所以 我最后选择这个方案还是 host hostpass 去做挂载会更好。 hostpass 做挂载,反正你这个呃速度机有这个 lvm 对 吧?扩容比较方便,所以我觉得,呃, logp v 还是 别用了,哪怕是说 lockp v, 嗯,它可以被这个嗯配额限制,但是它扩容很难,所以我还是更倾向于这个啊 housepass 去做控制 好,这个是关于这个资源的一个啊配额,当然剩下的还有一个配额还得去考虑就是网络的限流,网络限流的话就是要利用到 clymer 的 这个网络策略去做限流, 呃,说白了,在整个搭建过程中,其实你最主要关心的是安全、监控、资源的控制这三个方面,如果你这三个方面做的很好的话,那基本上不会有太大问题,尤其是监控,监控做的好的情况下,哪怕后面发生了问题,你也可以快速定位 好。所以,呃,搭建 k 八式环境没有想象中那么简单,要学习的东西还是蛮多的,大家如果还有别的方面考虑的话,可以在评论区告诉我,我也来学习学习啊。这个是我个人的一个啊,经验当然 是不是到此为止了呢?我觉得可能我的经验还是不太呃,不太足。呃,如果大家有更好的这个方案的话啊,可以找我私信交流交流。好,本期视频到这,再见。