随笔分类 -  k8s

kubernetes
摘要:一、Kubernetes网络模型 在Kubernetes网络中存在两种IP(Pod IP和Service Cluster IP),Pod IP 地址是实际存在于某个网卡(可以是虚拟设备)上的,Service Cluster IP它是一个虚拟IP,是由kube-proxy使用Iptables规则重新定 阅读全文
posted @ 2022-03-17 17:22 Mr.peter 阅读(346) 评论(0) 推荐(0) 编辑
摘要:etcd 是一个被广泛应用于共享配置和服务发现的分布式、一致性的 kv 存储系统。作为分布式 kv,其底层使用的 是 raft 算法来实现多副本数据的强一致复制,etcd-raft 作为 raft 开源实现的杰出代表,在设计上,将 raft 算法逻辑和持久化、网络、线程等完全抽离出来单独实现,充分解 阅读全文
posted @ 2022-03-16 15:01 Mr.peter 阅读(512) 评论(0) 推荐(0) 编辑
摘要:ETCD架构图: 从etcd的架构图中可以看到,etcd主要分为四个部分: HTTP Server: 用于处理用户发送的API请求以及其它etcd节点的同步与心跳信息请求。 Store:这个模块顾名思义,就像一个商店把etcd已经准备好的各项底层支持加工起来,为用户提供五花八门的API支持,处理用户 阅读全文
posted @ 2022-03-16 13:57 Mr.peter 阅读(737) 评论(0) 推荐(0) 编辑
摘要:etcd简介 etcd是一个非常可靠的kv存储系统,常在分布式系统中存储着关键的数据。它是由coreos团队开发并开源的分布式键值存储系统,具备以下特点: 简单:提供定义明确且面向用户的API 安全:支持SSL证书验证 性能:基准压测支持1w+/sec写入 可靠:采用Raft协议保证分布式系统数据的 阅读全文
posted @ 2022-03-16 13:23 Mr.peter 阅读(2360) 评论(1) 推荐(1) 编辑
摘要:一、flannel是什么 Flannel是CoreOS团队针对Kubernetes设计的一个网络规划服务,简单来说,它的功能是让集群中的不同节点主机创建的Docker容器都具有全集群唯一的虚拟IP地址。Flannel官网:https://github.com/coreos/flannel 1、覆盖网 阅读全文
posted @ 2022-03-16 10:59 Mr.peter 阅读(254) 评论(0) 推荐(0) 编辑
摘要:你需要一个 Ingress Controller 来实现 Ingress,单纯的创建一个 Ingress 没有任何意义 1、 Kubernetes Ingress2、 Kubernetes Ingress Controller Kubernetes Ingress Kubernetes Ingres 阅读全文
posted @ 2022-03-16 09:35 Mr.peter 阅读(622) 评论(0) 推荐(0) 编辑
摘要:Deployment 适合场景 无状态的应用 特点 1.pod之间没有顺序 2.所有pod共享存储 3.pod名字包含随机数字 4.service都有ClusterIP,可以负载均衡 StatefulSet 适合场景 有状态的应用 特点 1.部署、扩展、更新、删除都要有顺序 2.每个pod都有自己存 阅读全文
posted @ 2022-03-16 09:24 Mr.peter 阅读(582) 评论(0) 推荐(0) 编辑
摘要:每个Pod都有一个特殊的被称为“根容器”的Pause 容器。 Pause容器对应的镜像属于Kubernetes平台的一部分,除了Pause容器,每个Pod还包含一个或者多个紧密相关的用户业务容器。 Kubernetes设计这样的Pod概念和特殊组成结构有什么用意????? 原因一:在一组容器作为一个 阅读全文
posted @ 2022-03-15 17:27 Mr.peter 阅读(555) 评论(0) 推荐(0) 编辑
摘要:Pod是Kubernetes的基础单元,了解其创建的过程,更有助于理解系统的运作。 ①用户通过kubectl或其他API客户端提交Pod Spec给API Server。 ②API Server尝试将Pod对象的相关信息存储到etcd中,等待写入操作完成,API Server返回确认信息到客户端。 阅读全文
posted @ 2022-03-08 23:31 Mr.peter 阅读(783) 评论(0) 推荐(0) 编辑
摘要:Pod 的 status 在信息保存在 PodStatus 中定义,其中有一个 phase 字段。 Pod 的相位(phase)是 Pod 在其生命周期中的简单宏观概述。该阶段并不是对容器或 Pod 的综合汇总,也不是为了做为综合状态机。 Pod 相位的数量和含义是严格指定的。除了本文档中列举的状态 阅读全文
posted @ 2022-03-08 23:09 Mr.peter 阅读(139) 评论(0) 推荐(0) 编辑
摘要:因为Pod作为在集群的节点上运行的进程,所以在不再需要的时候能够优雅的终止掉是十分必要的(比起使用发送KILL信号这种暴力的方式)。用户需要能够放松删除请求,并且知道它们何时会被终止,是否被正确的删除。用户想终止程序时发送删除pod的请求,在pod可以被强制删除前会有一个宽限期,会发送一个TERM请 阅读全文
posted @ 2022-03-08 22:41 Mr.peter 阅读(950) 评论(0) 推荐(0) 编辑
摘要:云原生快速落地 阅读全文
posted @ 2022-02-04 23:32 Mr.peter 阅读(44) 评论(0) 推荐(0) 编辑
摘要:何谓云原生? 技术的变革,一定是思想先行,云原生是一种构建和运行应用程序的方法,是一套技术体系和方法论。云原生(CloudNative)是一个组合词,Cloud+Native。Cloud表示应用程序位于云中,而不是传统的数据中心;Native表示应用程序从设计之初即考虑到云的环境,原生为云而设计,在 阅读全文
posted @ 2022-02-04 23:28 Mr.peter 阅读(42) 评论(0) 推荐(0) 编辑
摘要:什么是Prometheus? Prometheus是由SoundCloud开发的开源监控报警系统和时序列数据库(TSDB)。Prometheus使用Go语言开发,是Google BorgMon监控系统的开源版本。2016年由Google发起Linux基金会旗下的原生云基金会(Cloud Native 阅读全文
posted @ 2021-03-16 16:52 Mr.peter 阅读(190) 评论(0) 推荐(0) 编辑
摘要:kubernetes 集群的所有的操作基本上都是通过 apiserver 这个组件进行的,它提供 HTTP RESTful 形式的 API 供集群内外客户端调用。kubernetes 对于访问 API 来说提供了三个步骤的安全措施:认证、授权、准入控制,用户使用 kubectl,client-go 阅读全文
posted @ 2021-03-03 13:46 Mr.peter 阅读(1501) 评论(0) 推荐(0) 编辑
摘要:1、准备好一个包含应用程序的Deployment的yml文件,然后通过kubectl客户端工具发送给ApiServer。2、ApiServer接收到客户端的请求并将资源内容存储到数据库(etcd)中。3、Controller组件(包括scheduler、replication、endpoint)监控 阅读全文
posted @ 2021-03-02 14:23 Mr.peter 阅读(2164) 评论(0) 推荐(0) 编辑
摘要:kubernetes Pod创建 的 工作流: 第一步: kubectl 向api server 发起一个create pod 请求 第二步: api server接收到pod创建请求后,不会去直接创建pod,而是生成一个包含创建信息的yaml。 第三步: apiserver 将刚才的yaml信息写 阅读全文
posted @ 2020-11-26 17:48 Mr.peter 阅读(2169) 评论(0) 推荐(0) 编辑
摘要:一、容器与容器之间的通信 同一个pod中的容器,共用同一个网络命名空间,直接使用localhost或127.0.0.1加上端口访问就好了。可以看到这两个容器的ip地址,路由表,以及暴露的端口号等都是一样的,因为他们使用的是同一个网络命名空间,同一个网络栈。 【注意】:他们只是共用网络命名空间(net 阅读全文
posted @ 2020-11-23 20:30 Mr.peter 阅读(1865) 评论(0) 推荐(0) 编辑
摘要:Kubernetes主要由以下几个核心组件组成: etcd保存了整个集群的状态; apiserver提供了资源操作的唯一入口,并提供认证、授权、访问控制、API注册和发现等机制; controller manager负责维护集群的状态,比如故障检测、自动扩展、滚动更新等; scheduler负责资源 阅读全文
posted @ 2020-11-20 17:47 Mr.peter 阅读(130) 评论(0) 推荐(0) 编辑
摘要:DNS and Service Discovery. 阅读全文
posted @ 2020-08-21 09:27 Mr.peter 阅读(64) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示