Kubernetes介绍
一、 k8s的介绍
【1】什么是Kubernetes
Kubernetes是容器集群管理系统,是一个开源的平台,可以实现容器集群的自动化部署、自动扩缩容、维护等功能。
Kubernetes的名字来自希腊语,意思是“舵手” 或 “领航员”。K8s是将8个字母“ubernete”替换为“8”的缩写。
【2】k8s的作用
- 快速部署应用
- 快速扩展应用
- 无缝对接新的应用功能
- 节省资源,优化硬件资源的使用
Kubernetes的目标是促进完善组件和工具的生态系统,以减轻应用程序在公有云或私有云中运行的负担。
【3】Kubernetes 特点
- 可移植: 支持公有云,私有云,混合云,多重云(multi-cloud)
- 可扩展: 模块化, 插件化, 可挂载, 可组合
- 自动化: 自动部署,自动重启,自动复制,自动伸缩/扩展
Kubernetes是Google 2014年创建管理的,是Google 10多年大规模容器管理技术Borg的开源版本。
【4】Kubernetes能什么
可以在物理或虚拟机的Kubernetes集群上运行容器化应用,Kubernetes能提供一个以“容器为中心的基础架构”,满足在生产环境中运行应用的一些常见需求,如:
多个进程(作为容器运行)协同工作。(Pod)、 存储系统挂载、 Distributing secrets、 应用健康检测、应用实例的复制、 Pod自动伸缩/扩展、 Naming and discovering、 负载均衡、 滚动更新、 资源监控、 日志访问、 调试应用程序、 提供认证和授权
【5】Kubernetes的组成
k8s主要由以下几个核心组件组成:
- etcd保存了整个集群的状态;
- apiserver提供了资源操作的唯一入口,并提供认证、授权、访问控制、API注册和发现等机制;
- controller manager负责维护集群的状态,比如故障检测、自动扩展、滚动更新等;
- scheduler负责资源的调度,按照预定的调度策略将Pod调度到相应的机器上;
- kubelet负责维护容器的生命周期,同时也负责Volume(CVI)和网络(CNI)的管理;
- Container runtime负责镜像管理以及Pod和容器的真正运行(CRI);
- kube-proxy负责为Service提供cluster内部的服务发现和负载均衡;
除了核心组件,还有一些推荐的Add-ons:
- kube-dns负责为整个集群提供DNS服务
- Ingress Controller为服务提供外网入口
- Heapster提供资源监控
- Dashboard提供GUI
- Federation提供跨可用区的集群
- Fluentd-elasticsearch提供集群日志采集、存储与查询
二、k8s的一些重要概念
【1】cluster
cluster是 计算、存储和网络资源的集合,k8s利用这些资源运行各种基于容器的应用。
【2】master
master是cluster的大脑,他的主要职责是调度,即决定将应用放在那里运行。master运行linux操作系统,可以是物理机或者虚拟机。为了实现高可用,可以运行多个master。
【3】node
node的职责是运行容器应用。node由master管理,node负责监控并汇报容器的状态,同时根据master的要求管理容器的生命周期。node运行在linux的操作系统上,可以是物理机或者是虚拟机。
【4】pod
pod是k8s的最小工作单元。每个pod包含一个或者多个容器。pod中的容器会作为一个整体被master调度到一个node上运行。
【5】controller
k8s通常不会直接创建pod,而是通过controller来管理pod的。controller中定义了pod的部署特性,比如有几个剧本,在什么样的node上运行等。为了满足不同的业务场景,k8s提供了多种controller,包括deployment、replicaset、daemonset、statefulset、job等。
【6】deployment
是最常用的controller。deployment可以管理pod的多个副本,并确保pod按照期望的状态运行。
【7】eplicaset
实现了pod的多副本管理。使用deployment时会自动创建replicaset,也就是说deployment是通过replicaset来管理pod的多个副本的,我们通常不需要直接使用replicaset。
【8】daemonset
用于每个node最多只运行一个pod副本的场景。正如其名称所示的,daemonset通常用于运行daemon。
【9】statefuleset
能够保证pod的每个副本在整个生命周期中名称是不变的,而其他controller不提供这个功能。当某个pod发生故障需要删除并重新启动时,pod的名称会发生变化,同时statefulset会保证副本按照固定的顺序启动、更新或者删除。
【10】job
用于运行结束就删除的应用,而其他controller中的pod通常是长期持续运行的。
【11】service
deployment可以部署多个副本,每个pod 都有自己的IP,外界如何访问这些副本那?
答案是service
k8s的 service定义了外界访问一组特定pod的方式。service有自己的IP和端口,service为pod提供了负载均衡。
k8s运行容器pod与访问容器这两项任务分别由controller和service执行。
【12】namespace
可以将一个物理的cluster逻辑上划分成多个虚拟cluster,每个cluster就是一个namespace。不同的namespace里的资源是完全隔离的。
Kubernetes介绍相关推荐
- kubernetes 介绍_Kubernetes的友好介绍
kubernetes 介绍 Kubernetes is one of the most exciting technologies in the world of DevOps these days. ...
- day95-容器编排-kubernetes介绍与安装部署
kubernetes 一.容器编排工具 docker machine docker compose docker swarm docker service docker stack kubernete ...
- Docker学习总结(19)——Google开源的容器集群管理系统Kubernetes介绍
Kubernetes是Google开源的容器集群管理系统.它构建Ddocker技术之上,为容器化的应用提供资源调度.部署运行.服务发现.扩容缩容等整一套功能,本质上可看作是基于容器技术的mini-Pa ...
- 学习笔记之-Kubernetes(K8S)介绍,集群环境搭建,Pod详解,Pod控制器详解,Service详解,数据存储,安全认证,DashBoard
笔记来源于观看黑马程序员Kubernetes(K8S)教程 第一章 kubernetes介绍 应用部署方式演变 在部署应用程序的方式上,主要经历了三个时代: 传统部署:互联网早期,会直接将应用程序部署 ...
- Kubernetes入门一:介绍及环境准备
Kubernetes学习笔记 本节主要介绍: Kubernetes的一些基础知识 Kubernetes集群搭建的相关操作内容 前言 1. 部署的演变过程: 整个部署的演变过程如图所示: 传统部署时代: ...
- kubernetes布署方式介绍
系列文章目录 Kubernetes介绍 文章目录 系列文章目录 前言 kubenetes集如布署方式 一.kubeadm 二.二进制包 三.minikube方式布署 四.kind方式布署 五.yum安 ...
- k8s入门系列之介绍篇
Kubernetes介绍 1.背景介绍 云计算飞速发展 - IaaS - PaaS - SaaS Docker技术突飞猛进 - 一次构建,到处运行 - 容器的快速轻量 - 完整的生态环境 2.什么是k ...
- Docker集群管理工具-Kubernetes部署记录
Kubernetes介绍 Kubernetes是Google开源的容器集群管理系统,是基于Docker构建一个容器的调度服务,提供资源调度.均衡容灾.服务注册.动态扩缩容等功能套件. Kubernet ...
- Docker 和 Kubernetes 从听过到略懂:给程序员的旋风教程
早在 Docker 正式发布几个月的时候,LeanCloud 就开始在生产环境大规模使用 Docker,在过去几年里 Docker 的技术栈支撑了我们主要的后端架构.这是一篇写给程序员的 Docker ...
最新文章
- Effective user and Real user
- 教师教学的“五个转化”能力
- Cuckoo Hashing的应用及性能优化
- 微信小程序 基础3【组件化开发、自定义组件、全栈开发、使用Express】
- ZOJ Problem Set - 1730 Crazy Tea Party
- NGINX 配置超时时间
- 计算机二级C选择题精华
- android开发复制文本,如何在Android应用中以编程方式复制文本?
- git删除远程仓库的文件或目录
- JEESITE快速开发平台(二)环境搭建
- 【Excel文件合并工具】
- 腾讯云联手腾讯安全玄武实验室,提供「应用克隆」漏洞免费检测服务
- 吉林大学软件学院黄庆道《最优化算法》对偶单纯形使用大M法条件
- 编写测试用例方法之错误推测法
- sql如何查看数据库表的关联关系?
- 学习游戏开发,有哪些常识需要了解
- 统计文本大写字母和小写字母和数字和其他字符的个数
- Hadoop02---HDFS基础(HDFS原理 java客户端).md
- 一道经典推理题(常玩能提高逻辑思维能力哦)
- web漏洞-淡然qqyw图标点亮系统源码审计-sql注入篇
热门文章
- 电商那些年,我摸爬打滚出的高并发架构实战精髓(2017-03-27 YYQ DBAplus社群)
- 盛世昊通董车长2.0“后“积薄发,点爆汽车后市场
- 海思Hi3511芯片参数和工作原理介绍
- 温度场有限容积法程序入门之六:后处理.花絮.Contour Plotter and 3D Function Grapher Together - the Applet and the Souce Co
- 二[2-(2,4-二氟苯基)-5-甲基吡啶][2,2‘-联(四叔丁基吡啶)]铱二(六氟磷酸)盐,1335047-34-1
- 计算机电源要求吗,电脑真的需要用大功率电源吗?走出选择电源误区
- 邮件服务中550、553和禁止中继错误原因和解决方法
- 前端架构设计第六课工程化构建、编译、运行
- 如何高效学习_斯科特扬(读后,整体学习法试用,总结)
- 极客时间--数据结构与算法之美