64匹马,8个赛道,找出跑得最快的4匹马,5场就够了 64匹马,8个赛道,找出跑得最快的4匹马,至少比赛几场?一共需要5场第一步:前4场每一场跑16匹马,每条跑道起点一匹终点一匹,对头跑,当第一对马碰头的时候赛跑结束,挑出前四名,4场比赛下来就是前十六强第二步:第五场十六强对头跑取前四要问怎么取前四:第一对碰头的时候取跑的距离最远的前四就可以了...
k8s系列(二十一:实例)资源指标API的metrics-server及自定义指标API的prometheus 资源指标:metrics-server自定义资源指标:prometheus通过k8s-prometheus-adapter将监控系统的指标转变为k8s可以识别的类型新一代监控系统架构: 核心指标流水线:由kubelet、metrics-server以及API server提供api的组成;CPU积累使用率、内存即时使用率、Pod的资 ...
k8s系列(二十:实例)容器资源需求、资源限制、heapster(已废) 容器的资源需求,资源限制 requests:需求,最低保障,确保容器运行 limits:限制,硬限制,确保过度消耗资源 cpu: 1颗逻辑cpu=1000,millicores 内存: E,P,T,G,M,K EI,Pi QoS服务质量: ...
k8s系列(十九:实例)高级调度nodeSelector、nodeaffinity;podaffinity、podantiaffinity 节点选择器:nodeSelector节点亲和性:nodeaffinity节点选择器:nodeSelector,强约束演示nodeAffinity:node硬亲和node软亲和podaffinity第一个随机以后追随第一个pod跟pod什么是在同一位置的标准很重要 1、 以节点名称为标准 2、节点标签为标...
k8s系列(十八:概念)调度器、预选策略、优选函数 schduler1、 predicate预选排除完全不符合 predicate,检查所有预选策略,反对法则,一票否决 https://github.com/kubernetes/kubernetes/blob/master/pkg/scheduler/algorithm/predicates/predicates.go 预选策略: ...
k8s系列(十七:实例)Calico网络策略 https://docs.projectcalico.org/v3.10/getting-started/kubernetes/基于BGP的方式来构建网络另外可以基于IPIP,基于ip报文承载另一个ip报文,也支持ipip隧道calico服务于192.168.0.0/16calico不支持ipvs支持iptables部署Egress:pod访问目标,对方地址、端口...
k8s系列(十六:实例)配置网络插件flannel 重新定义flannel配置文件(实现通过物理网卡直接通信;pod之间的桥接网络,如果两个节点是跨网段的他会自动降级)没生效,将配置文件还原https://github.com/coreos/flannel#flannel改为host-gw只允许个节点在同一个网段,只支持host-gw,跨网段通信不了,一旦有...
k8s系列(十五:实例)Dashboard k8s前端 分级授权 https://github.com/kubernetes/dashboard将dashboard暴露出去集群外部访问卸载dashboard服务自定义部署给dashboard生成证书创建key生成证书签署请求签证创建secret创建serviceaccount将dashboard-admin用clusterro...
k8s系列(十四:实例)RBAC :1、rolebinding 2、role 3、clusterbinding 4、clusterrole 12、14、 34、 授权基于插件实现有以下插件: Node:基于节点 ABAC:基于属性的访问控制 RBAC:Role-based基于角色(角色是授权的主体) webhook:基于http的回调机制角色(role) 资源:1、Objects 2、Object list 3、虚拟的URL或对象许可(permission):在...
k8s系列(十三:实例)k8s认证及serviceaccount、用集群ca签署私钥 认证——授权——准入插件的形式,通过一个插件即可认证: 1、token 2、sso授权: 1、RBAC基于角色的访问许可控制 2、webhook准入控制:用来定义对应认证授权之后的控制客户端请求API server的信息组成 user:username,uid group...
k8s系列(十二:实例)CoreOS:Operator,Statefulset 无状态更关注群体:cattle有状态更关注个体: petStatefulset:有状态应用副本集控制器,前身为PetSet(1.3)1.5之后为Statefulset,每个pod存储的数据不同、因此不能挂载同一个存储空间 主要用于管理具有以下特性的应用程序: 1、稳定且需要有唯一的网络标识符; ...
k8s系列(十一:实例)PV动态供给,configMap,secret StorageClass:pvc申请pv是不针对pv针对存储类,尚未做成pv的存储空间做的分类PV动态供给:存储集群向外提供restfull接口,当k8s需要申请pv时调用此接口,去存储集群里划分出指定的空间 之后在创建pv、pvc绑定configMap一:特殊类型的储存卷,目的不是给pod提供存储空间来用,而是给我们的管理员或者用户提供...
k8smatesIP变更重置master masterkubectl delete node node32kubeadm resetkubeadm init --kubernetes-version=v1.16.2 --pod-network-cidr=10.244.0.0/16kubectl apply -f kube-flannel.ymlnodekubeadm reset重新生成token kub...
k8s系列(十:实例)存储卷(脱离节点的其他存储设备) 根据应用本身是否需要持久存储数据以及某一次请求跟此前的请求之间是否有关联性可以分为四类应用: 1、有状态有持久存储 2、有状态无存储 3、无状态无存储 4、无状态有持久存储大多数跟数据存储服务相关的应用和有状态应用都是需要持久储存数据的k8s存储卷的类型: 1、 只在节点本地使用emptyDir,一旦pod删这个存储卷也会删掉,作为临时目...
k8s系列(九:实例)1、创建一个后端tomcat pod 配置service 2、部署Ingress Controller 3、定义Ingress 背景外部到调度器的协议是https7层,由一个pod比如nginx直接调度到另一个pod,用一个pod反代至真正服务的pod,那这个pod需要service接入外部流量,这个service定义成nodeport,那么这个pod就成为https会话卸载器,调度器到内部的pod是http4层Ingress Controller 在集群中挑出三个节点打上污点、用Daem...
k8s系列(八:实例)Service Service严重依赖k8s的DNS服务(CoreDNS,1.11之前的版本kube-dns)Service的工作模式: userspace:1.1- (proxy转发调度) iptabls:1.10- (service转发调度) ipvs: 1.11+ (ipvs转发调度)需要在安装是指定 ...
k8s系列(七:实例)DaemonSet控制器 DaemonSet在整个集群的每一个节点上运行指定pod的一个副本并且只能是一个副本,或者是在集群中某些符合选择器的节点上运行一个指定的pod副本,用于实现系统级的管理功能,可以把节点上的某个目录作为存储卷关联到pod中,让pod实现某些管理功能定义 daemonset-demo.yamlapiVersion: apps/v1kind: Deploymentmetadata: na...
k8s系列(六:实例)pod控制器、replicaSet、deployment、动态更新、控制更新节奏(金丝雀、蓝绿) pod控制器的类型: ReplicaSet:支持滚动更新,自动扩缩容,用pod资源模板保证pod副本数量 Deployment:借助ReplicaSet来实现,还支持回退,声明式配置资源,这个服务是无状态的,必须保持一直运行,守护进程类 的 DaemonSet: 用一个节点精确保持一个特...
k8s系列(五:概念)lable、lable selector、annotation资源注解、pod生命周期、pod对象相位、容器重启策略、pod优先级 定义标签选择器1、matchLabels:直接给键值对指定标签选择器2、matchExpressions:基于表达式指定标签选择器列表查看pods的标签添加标签执行创建用命令添加label修改label删除一个label用-l来声明标签选择器用L来自定义显示用键资源注解annotation也是键值对,不...