Kubernetes集群架构组件

一个Kubernetes集群首先需要包含两个部分

master(主控节点)和node(工作节点)

(1)master组件

● API server:集群的一个统一入口,以restful的方式,交给etcd进行存储。

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

● controller-manager:处理集群中常规后台任务,一个资源对应一个控制器,维持副本的期望数目

● etcd:存储系统,用于保存集群相关的数据(持久化)

(2)node组件

● kubelet:可以理解为master派到node里的一个代表,管理本机的容器,直接跟容器引擎交互,实现容器生命周期的管理

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

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

● Dashboard:给K8s集群提供一个B/S结构访问体系

● Ingress Controller:官方的只能实现四层代理,INGRESS可以实现七层代理

● FEDERATION:提供一个可以跨集群中心多K8s统一管理功能

● PROMETHEUS:提供K8s集群的监控能力

● ELK:提供K8s集群日志统一分析介入平台

K8S核心概念:

① Pod:

    ● K8S中的最小部署单元

    ● 一组容器的集合

    ● 一个Pod中的容器是共享网络的

    ● 一个Pod的生命是短暂的

② controller:

    ● 确保预期的pod副本数量

    ● 有状态应用部署

    ● 无状态应用部署     

    ● 确保所有的node运行同一个Pod

    ● 一次性任务和定时任务

③ Service:

    ● 定义一组Pod的访问规则

过程:通过Service统一入口进行访问,由controller去创建Pod进行部署。

● 前置知识点--kubernetes 集群搭建

目前生产部署 Kubernetes 集群主要有两种方式:
(1)kubeadm
Kubeadm 是一个 K8s 部署工具,提供 kubeadm init 和 kubeadm join,用于快速部
署 Kubernetes 集群。
(2)二进制包
从 github 下载发行版的二进制包,手动部署每个组件,组成 Kubernetes 集群。
Kubeadm 降低部署门槛,但屏蔽了很多细节,遇到问题很难排查。如果想更容易可
控,推荐使用二进制包部署 Kubernetes 集群,虽然手动部署麻烦点,期间可以学习很
多工作原理,也利于后期维护。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值