尚硅谷-K8S笔记

1.K8S概述和特性
(1)K8S是谷歌开源的容器化集群管理系统
(2)使用K8S进行容器化应用部署,应用扩展
2.K8S特性
(1)自动装箱
基于容器对应用运行环境的资源配置要求自动部署应用容器,不需要过多手动干预
(2)自我修复
当容器失败时,会对容器进行重启
当所部署的 Node 节点有问题时,会对容器进行重新部署和重新调度
当容器未通过监控检查时,会关闭此容器直到容器正常运行时,才会对外提供服务
(3)水平扩展
通过简单的命令、用户 UI 界面或基于 CPU 等资源使用情况,对应用容器进行规模扩大
或规模剪裁
(3)服务发现
用户不需使用额外的服务发现机制,就能够基于 Kubernetes 自身能力实现服务发现和
负载均衡
不直接提供服务,而是通过一个对外统一入口(service)
(4)滚动更新
可以根据应用的变化,对应用容器运行的应用,进行一次性或批量式更新
对于Kubernetes集群来说,一个service可能有多个pod,滚动升级(Rolling update)就是指每次更新部分Pod,而不是在同一时刻将该Service下面的所有Pod shutdown,然后去更新(例如replace --force方案),逐个更新可以避免将业务中断,
(5)版本回退
可以根据应用部署情况,对应用容器运行的应用,进行历史版本即时回退
(6)密钥和配置管理
在不需要重新构建镜像的情况下,可以部署和更新密钥和应用配置,类似热部署
(7)存储编排
自动实现存储系统挂载及应用,特别对有状态应用实现数据持久化非常重要
存储系统可以来自于本地目录、网络存储(NFS、Gluster、Ceph 等)、公共云存储服务
(8)批处理
提供一次性任务,定时任务;满足批量数据处理和分析的场景
3.K8S集群架构
(1)分为Master节点和Node节点
Master上有API Server, Scheduler和Controller Manager

2.K8S架构组件
3.K8S核心概念
*Pod
*Controller
*Service
4.容器化的优势
(1)可以带环境安装,让生产环境和测试环境保持一直,从而应用部署更加简单方便。

轻量级,开源,负载均衡,弹性伸缩
2.K8S具有完善的集群管理能力,包括多层次的安全防护和准入机制,多租户应用支撑能力,透明的服务注册和服务发现机制,内建的智能负载均衡器,强大的故障发现和自我修复能力,服务滚动升级和在线扩容能力,可扩展的资源自动调度机制,以及多样的资源配额管理能力。同时,还有包括开发,部署测试和运维监控在内的管理工具。
3.K8S核心概念
Pod Controller Service Ingress RABC Helm
(1)什么是Pod?控制器类型?K8S网络通讯模式
(2)K8S集群搭建(Kubeadm,二进制,ansible)
(3)资源清单:资源 掌握资源清单的写法 编写Pod 掌握Pod的生命周期
(4)Pod控制器:掌握各种控制器的特点以及使用定义方式
(5)服务发现:我运行起来的Pod无法直接被客户端(一组服务或一个用户)访问,因为k8S集群内部的IP地址是私有的。这时我们可以通过服务发现机制来将服务暴漏给客户端,则客户端可以通过“暴漏地址+端口”的方式来访问Pod。
具体实现,则是通过给一些Pod定义一个统一入口,如果想要访问这些Pod的话,只需要访问到这个入口就行。
同时,这也是一个负载均衡的方案
4.服务发现:掌握SVC原理极其构建方式
(1)无状态服务和有状态服务
无状态服务不会在本地存储持久化数据,多个服务实例对同一用户请求的响应结果完全一致,多服务实例之间没有依赖关系。
比如web应用,在k8s控制器 中动态启停无状态服务的pod并不会对其它的pod产生影响. 如LVS,Apache
有状态服务要在本地存储持久化数据,多个实例之间有依赖关系,如主从关系。典型就是分布式数据库,如果停止分布式集群中任一Pod,就会导致数据的丢失或者集群异常crash.
5.存储
(1)掌握多种存储类型的特点,并能够在不同环境中选择合适的存储方案。
如congfigmap存储配置文件,secret存储用户名密码等需要加密的文件,volume来存储一些基本数据(如网页文件等),PV等。
6.调度器:
(1)掌握调度器原理,能根据要求把Pod调度到想要的节点运行。
7.集群安全机制
(1)掌握集群的认证,鉴权,访问控制原理及其流程
8.HELM(哈姆)
(1)类似于Linux系统中的YUM包管理工具,而HELM安装的是集群,例如MangoBD集群,只需要一条命令,就能完成集群在K8S里的安装。
(2)掌握HELM的原理和HELM的模板自定义,通过HELM来部署常见插件。
9.运维
(1)Kubeadm源码修改
因为通过Kubeadm创建的K8S集群,默认证书有效期只有一年,过期后集群就不能被正常访问了。
你可以每年更新一次集群,如果你不喜欢更新的话也可以修改Kubeadm源码,来修改更新时间
(2)Kubernetes高可用集群构建

posted @   不太甜的橘子  阅读(313)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示