一、 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主要由以下几个核心组件组成:

  1. etcd保存了整个集群的状态;
  2. apiserver提供了资源操作的唯一入口,并提供认证、授权、访问控制、API注册和发现等机制;
  3. controller manager负责维护集群的状态,比如故障检测、自动扩展、滚动更新等;
  4. scheduler负责资源的调度,按照预定的调度策略将Pod调度到相应的机器上;
  5. kubelet负责维护容器的生命周期,同时也负责Volume(CVI)和网络(CNI)的管理;
  6. Container runtime负责镜像管理以及Pod和容器的真正运行(CRI);
  7. kube-proxy负责为Service提供cluster内部的服务发现和负载均衡;

除了核心组件,还有一些推荐的Add-ons:

  1. kube-dns负责为整个集群提供DNS服务
  2. Ingress Controller为服务提供外网入口
  3. Heapster提供资源监控
  4. Dashboard提供GUI
  5. Federation提供跨可用区的集群
  6. 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介绍相关推荐

  1. kubernetes 介绍_Kubernetes的友好介绍

    kubernetes 介绍 Kubernetes is one of the most exciting technologies in the world of DevOps these days. ...

  2. day95-容器编排-kubernetes介绍与安装部署

    kubernetes 一.容器编排工具 docker machine docker compose docker swarm docker service docker stack kubernete ...

  3. Docker学习总结(19)——Google开源的容器集群管理系统Kubernetes介绍

    Kubernetes是Google开源的容器集群管理系统.它构建Ddocker技术之上,为容器化的应用提供资源调度.部署运行.服务发现.扩容缩容等整一套功能,本质上可看作是基于容器技术的mini-Pa ...

  4. 学习笔记之-Kubernetes(K8S)介绍,集群环境搭建,Pod详解,Pod控制器详解,Service详解,数据存储,安全认证,DashBoard

    笔记来源于观看黑马程序员Kubernetes(K8S)教程 第一章 kubernetes介绍 应用部署方式演变 在部署应用程序的方式上,主要经历了三个时代: 传统部署:互联网早期,会直接将应用程序部署 ...

  5. Kubernetes入门一:介绍及环境准备

    Kubernetes学习笔记 本节主要介绍: Kubernetes的一些基础知识 Kubernetes集群搭建的相关操作内容 前言 1. 部署的演变过程: 整个部署的演变过程如图所示: 传统部署时代: ...

  6. kubernetes布署方式介绍

    系列文章目录 Kubernetes介绍 文章目录 系列文章目录 前言 kubenetes集如布署方式 一.kubeadm 二.二进制包 三.minikube方式布署 四.kind方式布署 五.yum安 ...

  7. k8s入门系列之介绍篇

    Kubernetes介绍 1.背景介绍 云计算飞速发展 - IaaS - PaaS - SaaS Docker技术突飞猛进 - 一次构建,到处运行 - 容器的快速轻量 - 完整的生态环境 2.什么是k ...

  8. Docker集群管理工具-Kubernetes部署记录

    Kubernetes介绍 Kubernetes是Google开源的容器集群管理系统,是基于Docker构建一个容器的调度服务,提供资源调度.均衡容灾.服务注册.动态扩缩容等功能套件. Kubernet ...

  9. Docker 和 Kubernetes 从听过到略懂:给程序员的旋风教程

    早在 Docker 正式发布几个月的时候,LeanCloud 就开始在生产环境大规模使用 Docker,在过去几年里 Docker 的技术栈支撑了我们主要的后端架构.这是一篇写给程序员的 Docker ...

最新文章

  1. Effective user and Real user
  2. 教师教学的“五个转化”能力
  3. Cuckoo Hashing的应用及性能优化
  4. 微信小程序 基础3【组件化开发、自定义组件、全栈开发、使用Express】
  5. ZOJ Problem Set - 1730 Crazy Tea Party
  6. NGINX 配置超时时间
  7. 计算机二级C选择题精华
  8. android开发复制文本,如何在Android应用中以编程方式复制文本?
  9. git删除远程仓库的文件或目录
  10. JEESITE快速开发平台(二)环境搭建
  11. 【Excel文件合并工具】
  12. 腾讯云联手腾讯安全玄武实验室,提供「应用克隆」漏洞免费检测服务
  13. 吉林大学软件学院黄庆道《最优化算法》对偶单纯形使用大M法条件
  14. 编写测试用例方法之错误推测法
  15. sql如何查看数据库表的关联关系?
  16. 学习游戏开发,有哪些常识需要了解
  17. 统计文本大写字母和小写字母和数字和其他字符的个数
  18. Hadoop02---HDFS基础(HDFS原理 java客户端).md
  19. 一道经典推理题(常玩能提高逻辑思维能力哦)
  20. web漏洞-淡然qqyw图标点亮系统源码审计-sql注入篇

热门文章

  1. 电商那些年,我摸爬打滚出的高并发架构实战精髓(2017-03-27 YYQ DBAplus社群)
  2. 盛世昊通董车长2.0“后“积薄发,点爆汽车后市场
  3. 海思Hi3511芯片参数和工作原理介绍
  4. 温度场有限容积法程序入门之六:后处理.花絮.Contour Plotter and 3D Function Grapher Together - the Applet and the Souce Co
  5. 二[2-(2,4-二氟苯基)-5-甲基吡啶][2,2‘-联(四叔丁基吡啶)]铱二(六氟磷酸)盐,1335047-34-1
  6. 计算机电源要求吗,电脑真的需要用大功率电源吗?走出选择电源误区
  7. 邮件服务中550、553和禁止中继错误原因和解决方法
  8. 前端架构设计第六课工程化构建、编译、运行
  9. 如何高效学习_斯科特扬(读后,整体学习法试用,总结)
  10. 极客时间--数据结构与算法之美