etcd

图解kubernetes批处理Job控制器的关键设计

允我心安 提交于 2020-04-24 01:53:39
K8s中的批处理任务模块主要是由Job控制器完成,今天我们就来关注下其底层的关键设计,包括完成状态、并行模式、并行策略等关键机制 1. 基础概念 在聊k8s的任务模块的实现的时候,我们先看一下传统的任务系统的设计与实现,然后聊下基于k8s的基础的概念 1.1 传统的任务系统设计 传统的任务系统设计主要可以分为master(任务分配/故障感知/负载均衡)、Worker(任务执行/任务监控/任务管理)、分布式协调(etcd等存储元数据)、任务仓库(存储任务的实现比如类或者接口)等几部分, 从大的部分又可以切分为两个部分管控端(分布式协调/master/仓库)、执行端(Worker),传统的任务系统大概就是这样 通常复杂的就是如何在master如何做任务的负载均衡、任务的快速完成、依赖等管控功能,其次就是如何在worker端实现一个牛x的引擎,可以支持各种不同任务的执行环境和类型的执行 1.2 基于Pod的任务载体 k8s中的最小单元调度是Pod,同样的job控制器调度的最小单元也是Pod, Pod里面包含容器,以容器为载体k8s屏蔽了传统worker模块的任务执行环境与实现两个部分,只需要添加一些配置数据,对应的Pod就可以完成对应的任务的执行 1.3 简化的调度层 在k8s中Pod通常被定义为一个不稳定的单元,即k8s并不保证你的pod在被调度到某一台机器后就会一直的稳定运行

CentOS7安装k8s

落花浮王杯 提交于 2020-04-23 12:17:46
借鉴博客:https://www.cnblogs.com/xkops/p/6169034.html 此博客里面有每个k8s配置文件的注释:https://blog.csdn.net/qq_35904833/article/details/78190257 啊西吧,啊西吧,根据上面的博客终于安装成功了。妈的,网上大部分博客安装k8s配置写得乱七八槽的,终于找到一篇条理清晰,安装详细的k8s安装博客啦,哈哈哈哈,不容易啊快三个星期了,从狗屁不懂搞这玩意。 下面写一写我自己的安装流程:   一、安装准备:       准备两台服务器(我用的是CentOS7系统):192.168.26.227,192.168.26.228       一主一从:         master机:192.168.26.227         node机:192.168.26.228       简单说一下k8s:         k8s是个什么玩意?           可以这样去理解:k8s全称:Kubernetes,它可以看作是一个分布式系统支撑平台。                   我们为什么要用k8s集群?           故障自愈:             k8s这个玩意可以监控容器运行,我们把项目放到容器里。由于一些外部内部原因服务器承受不住压力,如果主节点上的容器突然挂了

微服务时代之网关相关技术选型及部署(nacos+gateway)

僤鯓⒐⒋嵵緔 提交于 2020-04-23 07:24:14
1.场景描述 因要用到微服务,关于注册中心这块,与同事在技术原型上做了讨论,初步定的方案是使用:阿里巴巴的nacos+springcloud gateway,下面表格是同事整理的注册中心对比,以前用的springcloud的eureka作为注册中心( springcloud-高可用部署 ),与eurka相比,这次之所以用阿里的nacos,其中还有一个主要的原因就是nacos集成了动态加载,不用重启网关,动态加载服务配置等。 注册中心对比: Feature Zookeeper Eureka Consul Etcd Nacos 服务健康检查 (弱)长连接,keepalive 可配支持 服务状态,内存,硬盘等 连接心跳 心跳/自定义 多数据中心 — — 支持 — 支持 kv存储服务 支持 — 支持 支持 支持 一致性 paxos — raft raft raft CAP定理 CA AP CA CP AP 使用接口(多语言能力) 客户端 http(sidecar) 支持http和dns http/grpc dns/http/rpc watch支持 支持 支持 long polling/大部分增量 全量/支持long polling 支持 long polling 全量/支持long polling 自身监控 — metrics metrics metrics metrics 安全 acl

值得关注的 9 个开源云原生项目

[亡魂溺海] 提交于 2020-04-23 04:52:22
工作中用了容器?熟悉这些出自云原生计算基金会的项目吗? 随着用容器来开发应用的实践变得流行, 云原生应用 也在增长。云原生应用的定义为: “云原生技术用于开发使用打包在容器中的服务所构建的应用程序,以微服务的形式部署,并通过敏捷的 DevOps 流程和持续交付工作流在弹性基础设施上进行管理。” 这个定义提到了构成云原生应用的不可或缺的四个元素: 容器 微服务 DevOps 持续集成和持续交付 (CI/CD) 尽管这些技术各有各自独特的历史,但它们之间却相辅相成,在短时间内实现了云原生应用和工具的惊人的指数级增长。这个 云原生计算基金会(CNCF) 信息图呈现了当今云原生应用生态的规模和广度。 云原生计算基金会项目 我想说,瞧着吧!这仅仅是一个开始。正如 NodeJS 的出现引发了无数的 JavaScript 工具的爆炸式增长一样,容器技术的普及也推动了云原生应用的指数增长。 好消息是,有几个组织负责监管并将这些技术连接在一起。 其中之一是 开放容器倡议 Open Containers Initiative(OCI),它是一个轻量级的、开放的治理机构(或项目),“它是在 Linux 基金会的支持下形成的,其明确目的是创建开放的行业标准的容器格式和运行时。” 另一个是 CNCF,它是“一个致力于使云原生计算普及和可持续发展的开源软件基金会”。 通常除了围绕云原生应用建立社区之外

SIG Cloud Provider Alibaba 网研会第 2 期顺利召开 | 云原生生态周报

你离开我真会死。 提交于 2020-04-18 17:40:47
作者 | 高相林、陈俊、孙健波 业界要闻 Gartner 报告:阿里云与 AWS 并列入选容器产品最完善 近日,国际知名调研机构 Gartner 发布 2020 年容器公有云竞争格局报告,阿里云再度成为国内唯一入选厂商。Gartner 报告显示,阿里云容器服务在中国市场表现强劲,产品形态丰富,在如 Serverless 容器、服务网格、安全沙箱容器、混合云和边缘等领域,具备良好的技术发展策略。 Dragonfly 晋升成为 CNCF 孵化项目 4 月 9 日,由云原生计算基金会(CNCF)技术监督委员会投票,Dragonfly 正式晋升为 CNCF 孵化级别的托管项目。 SIG Cloud Provider Alibaba 网研会第 2 期 4 月 16 日(周四) 19:00 将举办 SIG Cloud Provider Alibaba 网研会第 2 期,本次网研会为自办直播,直播主要有两种形式:视频直播+文字直播。视频直播将在云栖社区、开发者社区、开发者钉群进行,文字直播将联合 DockOne 社区在 10+ 微信群内进行文字直播。 TiDB 4.0 发布 4 月 8 号是 PingCAP 成立五周年的日子,其开发团队也在当天发布了具有里程碑意义的 TiDB 4.0 首个 RC 版本。 上游重要进展 Fix client watch reestablishment

Kubernetes 完整二进制部署(精品)

感情迁移 提交于 2020-04-18 12:26:59
Kubernetes 完整二进制部署(精品) 目录 1、基础环境 2、部署DNS 3、准备自签证书 4、部署Docker环境 5、私有仓库Harbor部署 6、部署Master节点 6.1、部署Etcd集群 6.2、部署kube-apiserver集群 6.2.1、创建cliient证书 6.2.2、签发kube-apiserver证书 6.2.3、kube-apiserver配置 6.3、L4反向代理 6.3.1、部署Nginx 6.3.2、部署keepalived 6.4、部署controller-manager 6.5、部署kube-scheduler 7、部署Node节点服务 7.1、部署Kubelet 7.1.1、签发kubelet证书 7.1.2、kubelet配置 7.1.3、准备pause基础镜像 7.1.4、创建kubelet启动脚本 7.2、部署kube-proxy 7.2.1、签发kube-proxy证书 7.2.2、Kube-proxy配置 7.2.3、创建kube-proxy启动脚本 8、验证集群 1、基础环境 1.安装epel-release $ yum install epel-release -y 2.保证系统内核版本为3.10.x以上 $ uname -a Linux k8s-node01 3.10.0-693.el7.x86_64 3

Kubernetes 完整二进制部署(精品)

不羁的心 提交于 2020-04-17 10:17:43
【推荐阅读】微服务还能火多久?>>> 目录 1、基础环境 2、部署DNS 3、准备自签证书 4、部署Docker环境 5、私有仓库Harbor部署 6、部署Master节点 6.1、部署Etcd集群 6.2、部署kube-apiserver集群 6.2.1、创建cliient证书 6.2.2、签发kube-apiserver证书 6.2.3、kube-apiserver配置 6.3、L4反向代理 6.3.1、部署Nginx 6.3.2、部署keepalived 6.4、部署controller-manager 6.5、部署kube-scheduler 7、部署Node节点服务 7.1、部署Kubelet 7.1.1、签发kubelet证书 7.1.2、kubelet配置 7.1.3、准备pause基础镜像 7.1.4、创建kubelet启动脚本 7.2、部署kube-proxy 7.2.1、签发kube-proxy证书 7.2.2、Kube-proxy配置 7.2.3、创建kube-proxy启动脚本 8、验证集群 1、基础环境 1.安装epel-release $ yum install epel-release -y 2.保证系统内核版本为3.10.x以上 $ uname -a Linux k8s-node01 3.10.0-693.el7.x86_64 3

Kubernetes Logs 如何获取kube-system pod的日志

|▌冷眼眸甩不掉的悲伤 提交于 2020-04-15 14:59:21
【推荐阅读】微服务还能火多久?>>> 你如何从kube-system pod获取日志?运行kubectl log pod_name不起作用: [root@k8s-master ~]# kubectl logs etcd-k8s- master Error from server (NotFound): pods " etcd-k8s-master " not found 以下是查看所有命名空间的输出: [root@k8s-master ~]# kubectl get pods --all- namespaces NAMESPACE NAME READY STATUS RESTARTS AGE default nginx-demo-v1-94kqx 1 / 1 Running 0 23m default nginx-demo-v1-t88mj 1 / 1 Running 0 23m kube -system coredns-9d85f5447-jb8l2 1 / 1 Running 0 6d7h kube -system coredns-9d85f5447-zx2j5 1 / 1 Running 0 6d7h kube -system etcd-k8s-master 1 / 1 Running 0 6d7h kube -system kube-apiserver-k8s-master

Kubernetes Logs 如何获取kube-system pod的日志

巧了我就是萌 提交于 2020-04-15 13:07:30
【推荐阅读】微服务还能火多久?>>> 你如何从kube-system pod获取日志?运行kubectl log pod_name不起作用: [root@k8s-master ~]# kubectl logs etcd-k8s- master Error from server (NotFound): pods " etcd-k8s-master " not found 以下是查看所有命名空间的输出: [root@k8s-master ~]# kubectl get pods --all- namespaces NAMESPACE NAME READY STATUS RESTARTS AGE default nginx-demo-v1-94kqx 1 / 1 Running 0 23m default nginx-demo-v1-t88mj 1 / 1 Running 0 23m kube -system coredns-9d85f5447-jb8l2 1 / 1 Running 0 6d7h kube -system coredns-9d85f5447-zx2j5 1 / 1 Running 0 6d7h kube -system etcd-k8s-master 1 / 1 Running 0 6d7h kube -system kube-apiserver-k8s-master

HappyJoeJoe/go-bin2es

心不动则不痛 提交于 2020-04-14 17:44:53
【推荐阅读】微服务还能火多久?>>> go-bin2es go-bin2es is a service syncing binlog to es 架构图: 采用了 go-mysql 可以过滤指定的db的table, 从而把binlog数据通过 配置的方法 过滤后, 刷新到 elasticsearch7 上 特点: 支持高版本的elasticsearch7 原生支持es的嵌套对象、嵌套数组类型 实时性高, 低时延 保证数据最终一致性 基于etcd, 支持一主多备 不支持 delete 操作 支持自定义函数 UserDefinedFunc 去处理es数据, 可扩展更强 Example create database test ; create table Parent ( id int not null auto_increment primary key , name varchar ( 64 ) not null , sex char ( 1 ) not null ) comment = '父' ; create table Child ( id int not null auto_increment primary key , name varchar ( 64 ) not null , sex char ( 1 ) not null , parent_id int not