目录一、Kubernetes的list-watch机制1、List-watch2、创建pod的过程:二、scheduler调度的过程和策略:1、简介2、预算策略:predicate3、优先策略:3.1、leastrequestedpriority:3.2、balanceresourceallocation:3.3、imagelocalitypriority:4、选择的过程:三、kubernetes对Pod的调度策略四、定向调度1、调度策略简介:2、指定节点:3、指定标签:五、亲和性调度:1、介绍:2、键值的运算关系:3、node亲和性实例一、Kubernetes的list-watch机制1、L
命令行:kubectl命令行工具优点:90%以上的场景都可以满足对资源的增,删,查比较方便,对改不是很友好缺点:命令比较冗长,复杂,难记声明式:K8S当中的yaml文件来实现资源管理---声明式GUI:图形化工具的管理1、kubectl命令查看部署查看pod的情况(详细的信息,日志,发布和回滚)[root@master01~]#kubectlversion查看k8s版本[root@master01~]#kubectlapi-resources查看所有api资源对象的名称[root@master01~]#kubectlcluster-info查看K8S的集群信息[root@master01~]#
kubeadm默认证书为一年,一年过期后,会导致apiservice不可用,使用过程中会出现:x509:certificatehasexpiredorisnotyetvalid.可以在初始化群集之前重新编译kubeadm,证书有效期自动为100年;也可如下重新编译修改证书目录一、获取源码二、修改证书有效期三、编译kubeadm1软件包准备2GoLang环境3安装Go环境:4验证:5编译:6查看编译后的版本信息:7保存备用:四、执行命令更新证书 1检查证书到期时间:2续订全部证书:3再次查看证书有效期,全部都100年了:一、获取源码访问:Releases·kubernetes/kubernete
K8s问题的排查1.POD启动异常、部分节点无法启动pod``2.审视集群状态``3.追踪事件日志``4.聚焦Pod状态``5.检查网络连通性``6.审视存储配置``7.研究容器日志``8.K8S集群网络通信``9.问题:Service是否通过DNS工作?``10.总结1、POD启动异常、部分节点无法启动pod容器里管理应用pod是k8S中最小调度单元,POD里面的容器共享pod的空间、资源、网络、存储等。``pod管理一个容器。``pod管理多个容器。pod出现异常的原因:1、资源过剩:大量POD在同一个物理节点,出现资源占用太多导致物理节点宕机。``2、内存和CPU超标:pod中的应用出现
目录一、实验1.环境2.K8Smaster节点环境准备3.K8Smaster节点安装kubelet、kubeadm、kubectl3.K8Snode节点环境准备与软件安装4.K8Smaster节点部署服务5.K8Snode节点部署6.K8Smaster节点查看集群7.容器网络(CNI)部署8.K8S集群测试二、问题1.calico生成资源报错2.为何要安装docker和ci-dockerd一、实验1.环境(1)主机表1主机主机架构版本IP备注masterK8Smaster节点1.29.0192.168.204.8node1K8Snode节点1.29.0192.168.204.9node2K8S
介绍最近,AI引起了广泛关注,而Kubernetes驱动的DevOps也不例外。软件工程师是自动化的忠实拥护者,因此针对Kubernetes操作员的AI驱动工具自然也开始涌现。 这些工具大多专为终端(CLI)使用而设计。Kubernetes是容器编排的首选平台,而在AI驱动工具的帮助下可以从自动化任务、提高可靠性和提供洞察力等方面来帮助您更好掌握它。 OpenAI是KubernetesAIOps最有前途的AI平台之一。它提供了一套开源工具,可用于为Kubernetes构建AI驱动的解决方案。我们将分成两个parts来探讨OpenAI的一些开源工具如何帮助您实现KubernetesAIOps。
安装KubeSphere最好的方法就是参考官方文档,而且官方文档是中文的。官网地址:https://kubesphere.com.cn/https://github.com/kubesphere/kubesphere/blob/master/README_zh.mdKubernetes(K8S)kubesphere介绍安装提前条件:使用Kubeadm部署Kubernetes(K8S)安装--附K8S架构图使用Kubeadm部署Kubernetes(K8S)安装--持久化存储(NFS网络存储)Kubernetes(K8S)安装Metrics-Server#检查K8S版本,低版本需要升级[root
参考Kubernetes源码剖析(书籍)kube-apiserver的设计与实现-自记小屋kube-apiserver核心思想APIGroupInfo记录GVK与Storage的对应关系将GVK转换成,RestfulHTTPPath将Storage封装成HTTPHandler将上面两个形成映射,实现相关的路由处理发起请求并处理的流程发送请求:通过GVK对应的RestfulHTTPPath发送请求(对k8s资源的操作)认证:经过认证插件,判断是否为合法用户鉴权(或叫授权):经过鉴权插件,判断该用户是否有权限操作此资源准入控制:先执行已配置的mutating变更准入控制插件(修改用户提交的资源对象
K8S容器编排高级应用1.Pod控制器pod控制器帮助我们自动管理pod,并满足期望的pod数量。pod控制器通过label标签来管理pod。在资源文件中通过selector来配置选择器,通过kind来配置控制器。一般我们的应用在生产环境用k8s一定要用pod控制器管理pod而不是自己创建pod这样才能保证可靠性。版本升级的时候一般通过改资源文件的方式来升级,尽量不要用命令来升级不然资源文件没有改不利于后期维护。1.pod控制器组成1.标签选择器匹配并关联Pod资源对象。2.期望副本数期望在集群中精确运行着的Pod资源的对象数量。3.pod模板用于新建Pod资源对象的Pod模板资源文件。2.R
------>课程视频同步分享在今日头条和B站大家好,我是博哥爱运维。在前面的几十关里面,博哥在k8s上部署服务一直都是用的dockerhub上的公有镜像,对于企业服务来说,有些我们是不想把服务镜像放在公网上面的;同时如果在有内部的镜像仓库,那拉取镜像的速度就会很快,这时候就需要我们来部署公司内部的私有镜像仓库了,这里博哥会使用我们最常用的harbor来部署我们内部的私有镜像仓库。harbor官方文档:https://goharbor.io/docs/2.10.0/harbor内部架构图在生产中安装一般有两种方式,一种是用docker-compose启动官方打包好的离线安装包;二上用helmc