Kubernetes教程学习纪要

152 阅读2分钟

1. 背景

2. 学习记录

2.1 主要的组件

etcd:可信赖的分布式键值存储服务,为分布式集群存储一些关键数据,协助分布式集群正常运转 键值对数据库,存储K8S集群的所有重要信息(持久化) api server: 所有访问的入口

controller manager: 维持副本期望数目

scheduler: 负责介绍任务,选择合适的节点进行分配任务

kubelet: 直接与容器引擎交互实现容器的生命周期管理

kube-proxy: 负责写入规则至IPTABLES、IPVS 实现服务映射访问的

coreDNS: 可以为集群中的SVC创建一个域名IP的对应关系解析

dashboard: 给K8s集群提供一个B/S解构访问体系

Ingress controller: 官方只能实现四层代理,Ingress 可以实现七层代理

federation:提供一个可以跨集群中心多k8s统一管理功能

promethus:提供一个k8s集群的监控能力

elk: 日志搜集平台

K8S 中所有的内容都抽象成资源, 资源实例化以后叫做对象

2.2 K8S 概述

  • K8S 是谷歌2014开源的容器化集群管理系统

  • 使用K8S 进行 容器化应用部署

  • 使用K8S 利于应用扩展

  • K8S目标实施 让部署容器化应用更加简洁高效

2.3 k8s集群架构组件

分为master主控节点和node 工作节点

  • master组件

apiserver: 集群统一入口,以restful的方式,交给etcd存储

scheduler:节点调度,选择node节点应用部署

controller-manager: 处理集群中常规后台任务,一个资源对应一个控制器

etcd: 存储系统,用于保存集群相关的数据

  • node 组件

master 派到node节点的代表,管理本机容器

kube-proxy: 提供网络代理,负载均衡等操作

2.4 k8s核心概念

  • pod

最小部署单元

一组容器的集合

共享网络

生命周期是短暂的

  • controller

确保预期的pod副本数量

无状态的应用部署

有状态的应用部署

确保所有的node运行同一个pod

一次性任务和定时任务

  • service

定义一组pod的访问规则

通过service统一入口进行访问,由controller去创建pod进行部署

2.5 测试环境

master: 2C4G 20G磁盘

node: 4C8G 40G磁盘

高可用集群副本数据最好是 >= 3 奇数个

3. 学习资料

www.bilibili.com/video/BV1GT…

看到第7节了