02 2022 档案
摘要:Pod资源调度 API Server在接受客户端提交Pod对象创建请求后,然后是通过调度器(kube-schedule)从集群中选择一个可用的最佳节点来创建并运行Pod。而这一个创建Pod对象,在调度的过程当中有3个阶段:节点预选、节点优选、节点选定,从而筛选出最佳的节点。如图: 节点预选:基于一系
阅读全文
摘要:一、网络策略 网络策略(Network Policy )是 Kubernetes 的一种资源。Network Policy 通过 Label 选择 Pod,并指定其他 Pod 或外界如何与这些 Pod 通信。 Pod的网络流量包含流入(Ingress)和流出(Egress)两种方向。默认情况下,
阅读全文
摘要:一、容器网络模型 OS: root@harbor:~# cat /etc/issue Ubuntu 20.04.2 LTS \n \l root@harbor:~# uname -r 5.4.0-81-generic IP分配: 192.168.1.101 k8s-master etcd 192.1
阅读全文
摘要:在任何将资源或服务提供给有限使用者的系统上,认证和授权是两个必不可少的功能,前者用于身份鉴别,负责验证“来者是谁”,而后者则实现权限分派,负责鉴证“他有权做哪些事”。Kubernetes系统完全分离了身份验证和授权功能,将二者分别以多种不同的插件实现,而且,特有的准入控制机制,还能在“写”请求上辅助
阅读全文
摘要:一、Ingress介绍 1、什么是Ingress? Kubernetes提供了两种内建的云端负载均衡机制(cloud load balancing)用于发布公共应用,一种是工作于传输层的Service资源,它实现的是“TCP负载均衡器”,另一种是Ingress资源,它实现的是“HTTP/HTTPS负
阅读全文
摘要:1、Pod 水平自动扩缩 Pod 水平自动扩缩(Horizontal Pod Autoscaler) 可以基于 CPU 利用率自动扩缩 ReplicationController、Deployment、ReplicaSet 和 StatefulSet 中的 Pod 数量。 除了 CPU 利用率,也可
阅读全文
摘要:1、安装metrics-server 官方代码仓库地址:https://github.com/kubernetes-sigs/metrics-server wget https://github.com/kubernetes-sigs/metrics-server/releases/download
阅读全文
摘要:一、statefulset简介 从前面的学习我们知道使用Deployment创建的pod是无状态的,当挂载了Volume之后,如果该pod挂了,Replication Controller会再启动一个pod来保证可用性,但是由于pod是无状态的,pod挂了就会和之前的Volume的关系断开,新创建的
阅读全文
摘要:一、存储卷的概念和类型 为了保证数据的持久性,必须保证数据在外部存储在docker容器中,为了实现数据的持久性存储,在宿主机和容器内做映射,可以保证在容器的生命周期结束,数据依旧可以实现持久性存储。但是在k8s中,由于pod分布在各个不同的节点之上,并不能实现不同节点之间持久性数据的共享,并且,在节
阅读全文
摘要:一、容器化应用配置 应用程序是可执行程序文件,它含有指令列表,CPU通过执行这些指令完成代码运行。例如,Linux工程师最常用的命令之一cat对应于/usr/bin/cat程序文件,该文件含有按特定目的组织的机器指令列表,用于在屏幕上显示指定文件的内容。大多数应用程序的行为都可以支持命令行选项及参数
阅读全文
摘要:一、容器的存活性探测livenessProbe 有些应用程序因存在缺陷(例如多线程导致的应用程序死锁等)会在长时间持续运行后逐渐转为不可用状态,并且仅能通过重启操作恢复,Kubernetes的容器存活性探测机制可发现诸如此类的问题,并依据探测结果结合重启策略触发后续的行为。存活性探测是隶属于容器级别
阅读全文
摘要:运行于Pod中的容器化应用绝大多数是服务类的守护进程,例如envoy和demoapp等,它们受控于控制器资源对象,在自愿或非自愿中断后只能由重构的、具有同样功能的新Pod对象所取代,属非可再生类组件。在Kubernetes应用编排的动态、弹性管理模型下,Service资源用于为此类Pod对象提供一个
阅读全文
摘要:一、pod控制器的介绍 1、什么是pod控制器? 自主式Pod对象由调度器绑定至目标工作节点后即由相应节点上的kubelet负责监控其容器的存活性,容器主进程崩溃后,kubelet能够自动重启相应的容器。不过,kubelet对非主进程崩溃类的容器错误却无从感知,这依赖于用户为Pod资源对象自定义的存
阅读全文
摘要:一、应用容器与Pod资源 1、什么是pod Pod 是可以在 Kubernetes 中创建和管理的、最小的可部署的计算单元。Pod (就像在鲸鱼荚或者豌豆荚中)是一组(一个或多个) 容器; 这些容器共享存储、网络、以及怎样运行这些容器的声明。 Pod 中的内容总是并置(colocated)的并且一同
阅读全文
摘要:http流量的流程图 一、路由的作用 1、路由匹配(match) (1)基础匹配:prefix、path和safe_regex (2)高级匹配:headers和query_patameters 2、路由 (1)路由(route) :把请求报文转发到相应的集群 (2)重定向(redirect) : 把
阅读全文
摘要:1、集群环境 OS: root@harbor:~# cat /etc/issue Ubuntu 20.04.2 LTS \n \l IP分配:<br>192.168.1.100 k8s-deploy 192.168.1.101 k8s-master1 etcd1 192.168.1.102 k8s-
阅读全文
摘要:一、集群管理相关内容 1)集群管理器与服务发现机制 2)主动健康状态检测与异常点探测 3)负载均衡策略 (1)分布式负载均衡 负载均衡算法:加权轮询、加权最少连接、环哈希、磁悬浮和随机等 区域感知路由 (2)全局负载均衡 位置优先级 位置权重 均衡器子集 4) 熔断和连接池 二、Cluster Ma
阅读全文
摘要:一、实验环境 OS: root@harbor:~# cat /etc/issue Ubuntu 20.04.2 LTS \n \l IP分配:192.168.1.100 k8s-deploy 192.168.1.101 k8s-master1 etcd1 192.168.1.102 k8s-mast
阅读全文
摘要:一、envoy动态配置介绍 动态资源,是指由envoy通过xDS协议发现所需要的各项配置的机制,相关的配置信息保存 于称之为管理服务器(Management Server )的主机上,经由xDS API向外暴露;下面是一个 纯动态资源的基础配置框架。 { "lds_config": "{...}",
阅读全文
摘要:一、实验环境 OS: root@harbor:~# cat /etc/issue Ubuntu 20.04.2 LTS \n \l IP分配: 192.168.1.100 k8s-deploy 192.168.1.101 k8s-master1 etcd1 192.168.1.102 k8s-mas
阅读全文
摘要:一、什么是Kubernetes Kubernetes 是一个可移植、可扩展的开源平台,用于管理容器化工作负载和服务,有助于声明式配置和自动化。它拥有庞大且快速发展的生态系统。Kubernetes 服务、支持和工具广泛可用 使用Kubernetes可以: 自动化容器的部署和复制 随时扩展或收缩容器规模
阅读全文