Docker集群编排工具之Kubernetes(K8s)介绍、安装及使用

本文介绍了Kubernetes(K8s)的基本原理、特性及架构,包括API Server、Scheduler、Controller Manager等核心组件。详细阐述了K8s的安装配置过程,包括主节点和计算节点的设置,以及使用kubectl命令操作Pod和Replication Controller。最后,还展示了如何部署Dashboard以实现web界面管理。
摘要由CSDN通过智能技术生成

K8s基础原理
k8s中文社区:https://www.kubernetes.org.cn/

简介
Kubernetes与较早的集群管理系统Mesos和YARN相比,对容器尤其是 Docker的支持更加原生,同时提供了更强大的机制实现资源调度,自动 管理容器生命周期,负载均衡,高可用等底层功能,使开发者可以专注于开发应用。

Kubernetes是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署,规划,更新,维护的一种机制。

K8s特性
Kubernetes是为生产环境而设计的容器调度管理系统,对于负载均衡、 服务发现、高可用、滚动升级、自动伸缩等容器云平台的功能要求有原生支持

一个K8s集群是由分布式存储(etcd)、服务节点(Minion, etcd现在称为Node)和控制节点(Master)构成的。所有的集群状态都保存在etcd中,Master节点上则运行集群的管理控制模块。Node节点是真正运行应用容器的主机节点,在每个Minion节点上都会运行一个Kubelet代理,控制该节点上的容器、镜像和存储卷等。

K8s架构图,介绍

Master(管理节点)
API Server:供Kubernetes API接口,主要处理 Rest操作以及更新Etcd中的对象。 所有资源增删改查的唯一入口。
Scheduler:绑定Pod到Node上,资源调度。
Controller Manager: 所有其他群集级别的功能,目前由控制器Manager执行。资源对象的 自动化控制中心。
Etcd:所有持久化的状态信息存储在Etcd中。
Node(计算节点)
Kubelet:管理Pods以及容器、镜像、Volume等,实现对集群 对节点的管理
Kube-proxy:提供网络代理以及负载均衡,实现与Service通讯。
Docker Engine:负责节点的容器的管理工作。
API SERVER(授权)
只有API Server与存储通信,其他模块通过 API Server访问集群状态。
一个工作节点的问题不影响集群体。
在K8s集群中,所有的配置管理操作都声明 式而非命令式的。
各个模块在内存中缓存自己的相关状态以 提高系统性能。
Scheduler(资源调度)
负责集群的资源调度,根据特定的调度算法将pod调度到指定的minion上。
这部分工作分出来变成一个组件,意味着可以很方便地替换成其他的调度器。
Scheduler调度器输入是待调度pod和可用的工作节点列表,输出则是应用调度 算法从列表中选择一个最优的用于绑定待调度的pod节点。
Controller Manager(控制管理中心)
Controller Manager作为集群内部的管理控制中心,负责集群内的Node、Pod副本、服务端点、命名空间、服务账号、资源定额等的管理并执行自动化修复流程,确保集群处于预期的工作状态
在Kubernetes集群中,每个Controller就是一个操作系统,它通过API Server监控系统的共享状态,并尝试着将系统状态从“现有状态”修正到“期望状态”

POD(资源池)
Pod是K8s集群中所有业务类型的基础
Pod是在K8s集群中运行部署应用或服务的最小单元,它是可以支持多容器的。
Pod的设计理念是支持多个容器在一个Pod中共享网络地址和文件系统。
POD控制器Deployment、Job、DaemonSet和 PetSet

LABEL(标签)
Label是一个 key=value的键值对,由用户指定,可以附加到 K8S资源之上。
给某个资源定义一个标签,随后可以通过label进行查询和筛选 ,类似SQL的where语句。
Label可以给对象创建多组标签

Replication Controller,RC
RC是K8s集群中最早的保证Pod高可用的API对象。通过监控运行中的Pod来保证集群中运行指定数目的Pod副本。
指定的数目可以是多个也可以是1个;少于指定数目,RC就会启动运行新的Pod副本;多于指定数目,RC就会杀死多余的Pod副本。
即使在指定数目为1的情况下,通过RC运行Pod也比直接运行Pod更明智,因为RC也可以发挥它高可用的能力,保证永远有1个Pod在运行。
PC总结
RC里包括完整的POD定义模板
RC通过Label Selector(标签选择器)机制实现对POD副本的自动控制。
通过改变RC里的POD副本以实现POD的扩容和缩容
通过改变RC里POD模块中的镜像版本,可以实现POD的滚动升级。

K8s组件

回到顶部
K8s安装配置

K8s安装方法
yum安装 1.5.2

二进制安装

kubeadm安装(官方) 需要梯子,全部容器化

minkube安装

编译安装

自动化安装

K8s资源
官网    kubernetes.io

中文社区  ht

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值