k8s基础知识点 本节将对k8s的基本概念、监控与日志、应用程序生命周期管理、调度、存储、集群安全等方面进行详细的解释,旨在帮助读者深入了解k8s的各个方面。 k8s基础概念 k8s是一种容器集群管理系统,由Google在2014年开源。k8s用于容器化应用程序的部署、扩展和管理,目标是让部署容器化应用简单高效。k8s集群架构主要包括kube-apiserver、kube-controller-manager、kube-scheduler、Etcd、kubelet、kube-proxy、docker或rocket等组件。 k8s集群架构与组件 1. kube-apiserver:kubernetes API,集群的统一入口,各组件协调者,以RESTful API提供接口服务,所有对象资源的增删改查和监听操作都交给APIServer处理后再提交给Etcd存储。 2. kube-controller-manager:处理集群中常规后台任务,一个资源对应一个控制器,而ControllerManager就是负责管理这些控制器的。 3. kube-scheduler:根据调度算法为新创建的Pod选择一个Node节点,可以任意部署,可以部署在同一个节点上,也可以部署在不同的节点上。 4. Etcd:分布式键值存储系统。用于保存集群状态数据,比如Pod、Service等对象信息。 5. kubelet:kubelet是Master在Node节点上的Agent,管理本机运行容器的生命周周期,比如创建容器、Pod挂载数据卷、下载secret、获取容器和节点状态等工作。kubelet将每个Pod转换成一组容器。 6. kube-proxy:在Node节点上实现Pod网络代理,维护网络规则和四层负载均衡工作。 7. docker或rocket:容器引擎,运行容器。 k8s基本概念 1. Pod:最小部署单元,一组容器的集合,一个Pod中的容器共享命名网络空间,Pod是短暂的。 2. Controllers:Deployment、StatefulSet、DaemonSet、Job、Cronjob等。 3. Service:防止Pod失联,定义一组Pod的访问策略。 4. Label:标签,附加到某个资源上,用于关联对象、查询、筛选。 5. NameSpaces:命名空间,将对象逻辑上分离。 k8s监控与日志管理 1. 查看集群状态:kubectl cluster-info 2. 查看资源信息:kubectl describe <资源> <名称> 3. 查看资源信息:kubectl get pod <Pod名称> --watch 4. 监控集群资源利用率:Metrics-server + cAdvisor 5. 查看Node资源消耗:kubectl top node <node name> 6. 查看Pod资源消耗:kubectl top pod <pod name> 7. 管理k8s组件日志:使用systemd管理、使用容器管理 8. 管理k8s应用日志:查看容器标准输出日志、查看容器标准错误日志 k8s应用程序生命周期管理 1. Deployment部署Java应用 2. 使用kubectl create deployment创建Deployment 3. 使用kubectl rollout status查看Deployment状态 4. 使用kubectl rollout undo回退Deployment 5. 使用kubectl rollout pause暂停Deployment 6. 使用kubectl rollout resume恢复Deployment 本节只是对k8s的基本概念、监控与日志、应用程序生命周期管理等方面进行了简单的介绍,更多的知识点还需要深入学习和实践。
剩余37页未读,继续阅读
- 粉丝: 7
- 资源: 8
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- fed54987-3a28-4a7a-9c89-52d3ac6bc048.vsidx
- (177367038)QT实现教务管理系统.zip
- (178041422)基于springboot网上书城系统.zip
- (3127654)超级玛丽游戏源码下载
- (175717016)CTGU单总线CPU设计(变长指令周期3级时序)(HUST)(circ文件)
- (133916396)单总线CPU设计(变长指令周期3级时序)(HUST).rar
- Unity In-game Debug Console
- (3292010)Java图书管理系统(源码)
- Oracle期末复习题:选择题详解与数据库管理技术
- (176721246)200行C++代码写一个Qt俄罗斯方块