K8S - 容器编排工具Kubernetes简介
1 - Kubernetes
Kubernetes(简称K8s,用8代替8个字符“ubernete”)是Google开源的一个容器编排引擎。
目前最为广泛且流行的容器编排调度系统,也是现在用来构建云原生应用编排的最佳平台。
已成为在私有云,公共云以及混合云环境中大规模部署容器化应用程序的事实标准。
- 支持自动化部署:自动化容器的部署和复制
- 大规模可伸缩:随时扩展或收缩容器规模
- 应用容器化管理:容器间的负载均衡、升级版本、弹性替换等等
使用Kubernetes,只需一个yaml格式的部署文件,使用kubectl命令与就Kubernetes API交互,就可以部署多层容器的完整集群。
目前所有云原生应用基本上都会基于 Kubernetes API 去构建。
1.1 实用的特性
- 一致性:是指在 Kubernetes 上构建的应用可以无缝的迁移到任何环境里,不论公有云、私有云还是跨云。
- 可扩展性:是指把 Kubernetes 的插件机制运用到任何环境里,通过 Kubernetes 这些插件都可以实现自定义化。
- 自我修复功能:包括健康检查、故障的自动恢复、自动扩展等机制,这些对于系统运行至关重要。

1.2 官方信息
- kubernetes官网:https://kubernetes.io/
- kubernetes官网文档:https://kubernetes.io/docs/home/
- kubernetes官网教程:https://kubernetes.io/docs/tutorials/
- kubernetes中文社区:https://www.kubernetes.org.cn/
- kubernetes中文文档:http://docs.kubernetes.org.cn/
- GitHub:https://github.com/kubernetes/kubernetes
2 - 基础概念
2.1 - Kubernetes组成

Pod
- K8s 的基础构建模块,是最小的构建单元,用于处理 Volume、Secret 以及容器的相关配置
- 一个 Pod 包含一个或一组容器和卷,通常每个 Pod 只包含一个容器
- 如果容器之间的联系非常紧密并且需要直接共享资源,可以考虑将一组容器放在同一个Pod
- 同一个Pod里的容器共享同一个网络命名空间,即相同的IP地址和Port空间,可以使用localhost互相通信
- 运行在 Worker Node 中,非持久的,会在宕掉时自动重启
- 通过使用持久化的卷类型来持久化容器数据
- 同一个Pod里的容器共享存储, 当Kubernetes挂载volume到Pod, 本质上是将volume挂载到Pod中的每一个容器
特别说明:
- Kubernetes管理的对象是Pod,而不是直接管理容器,即便Pod中只有一个容器。
- 也就是说,Kubernetes只可以看到Pod,而Pod也只可以看到容器。
Node
- 承载Pod的单独物理机或虚拟机,作为Kubernetes worker,为容器提供一些必要的环境,比如存储、网络等。
- 每个节点都运行如下Kubernetes关键组件:
- Kubelet:主节点代理
- Kube-proxy:Service使用其将链接路由到Pod,如上文所述
- Docker或Rocket:Kubernetes使用的容器技术来创建容器
Service
- 定义了外界访问一组特定Pod的方式以及访问这些Pod的策略
- 为Pod提供负载均衡,在一定数量的Pod之间均衡流量
- 通过Label找到Pod组
Master
- 每一个集群拥有一个Kubernetes Master,主要负责集群的状态维护,也给集群提供一个对外访问的入口
- API server(即 kube-apiserver):K8s 控制的前端,提供可以用来和集群交互的REST端点,也就是暴露 K8s API
- Scheduler(即 kube-scheduler):为新 Pod 选择 Node
- Replication Controller:使用Pod模板创建同一个容器的多份拷贝,确保任意时间都有指定数量的Pod“副本”在运行
ETCD
- 用于集群状态数据的分布式键值存储。
2.2 Kubernetes总体架构

3 - 参考信息
- http://www.dockone.io/
- http://www.k8smeetup.com/
- Kubernetes新手快速入门指南:https://mp.weixin.qq.com/s/lMyMZyskekmN5BWwqjFDsQ
K8S - 容器编排工具Kubernetes简介的更多相关文章
- Docker(二):理解容器编排工具Kubernetes内部工作原理
一.Kubernetes是什么 要说到Docker就不得不说说Kubernetes.当Docker容器在微服务的环境下数量一多,那么统一的,自动化的管理自然少不了.而Kubernetes就是一个这样的 ...
- kubernetes(k8s)容器编排工具基础概念
Kubernetes (K8s): 中文社区:https://www.kubernetes.org.cn/replication-controller-kubernetes 官网:https://ku ...
- K8s(一)----容器编排工具基础概念
kubernetes(k8s)容器编排工具基础概念 Kubernetes (K8s): 中文社区:https://www.kubernetes.org.cn/replication-controlle ...
- K8s容器编排
K8s容器编排 Kubernetes(k8s)具有完备的集群管理能力: 包括多层次的安全防护和准入机制 多租户应用支撑能力 透明的服务注册和服务发现机制 内建智能负载均衡器 强大的故障发现和自我修复能 ...
- 使用容器编排工具docker swarm安装clickhouse多机集群
1.首先需要安装docker最新版,docker 目前自带swarm容器编排工具 2.选中一台机器作为master,执行命令sudo docker swarm init [options] 3,再需 ...
- docker-compose (单机版的容器编排工具)
类似于ansible剧本 yml 格式 要使用这个编排工具,必须先安装 yum install -y docker-compose cd wordpress/ vi docker-compose.ym ...
- 容器编排工具之Docker-compose
前文我们聊了下docker私有仓库harbor的搭建,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/13061984.html:在上一篇博客的末尾,我们简单聊了 ...
- Docker系列10—容器编排工具Docker Compose详解
本文收录在容器技术学习系列文章总目录 1.Docker Compose 概述 Compose是一个用于定义和运行多容器Docker应用程序的工具.使用Compose,您可以使用Compose文件来配置 ...
- Docker - 容器编排工具 compose 之安装
准备 首先,在使用和安装 docker compose之前,我们应该确保我们已经安装了 docker engine. 安装 官网上面有好多种安装方式,由于我们现在是在使用Docker, 个人感觉应该以 ...
随机推荐
- php获取本地化时间戳函数
在实际的工作中我们还需要经常用到指定某个时间生成. 例如:需要找到昨天到今天此时此刻的注册用户. 那么我们需要做两件事情: 1.得到当前的时间unix时间戳.用time()函数就可以直接搞定大理石平台 ...
- 为什么 MySQL 索引要使用 B+树而不是其它树形结构?比如 B 树?
一个问题? InnoDB一棵B+树可以存放多少行数据?这个问题的简单回答是:约2千万 为什么是这么多呢? 因为这是可以算出来的,要搞清楚这个问题,我们先从InnoDB索引数据结构.数据组织方式说起. ...
- learning java AWT 右键菜单
import java.awt.*; import java.awt.event.*; public class SimpleMenu { private Frame f = new Frame(&q ...
- Linux 检测出口IP地址
找了几个 linux 下检测出口地址的(前提是能访问外网). curl ifconfig.me curl ipinfo.io/ip curl ipecho.net/plain
- 洛谷P1040 加分二叉树题解
dp即可 \(f[i][j]\)表示i到j的加分 相当于区间dp了 #include<cstdio> using namespace std; int v[50]; int f[55][5 ...
- 洛谷P3124被困在haybales
题目 按理来说是可以二分的,但是发现其实直接暴力然后注意细节就可以了. 先找到牛所在的起点,然后分别向右找和向左找. 第一次查找从\(r\)点冲到\(l\)点时,突破不了\(l\),从\(l\)点冲到 ...
- 微信小程序微信登录
开发接口 登录 wx.login wx.checkSession 签名加密 小程序登录 小程序可以通过微信官方提供的登录能力方便地获取微信提供的用户身份标识,快速建立小程序内的用户体系. 登录流程时序 ...
- C Primer Plus--C存储类、链接和内存管理之存储类(storage class)
目录 存储类 作用域 链接 存储时期 自动变量 寄存器变量 具有代码块作用域的静态变量 具有外部链接的静态变量 extern关键字 具有内部链接的静态变量 多文件 存储类 C为变量提供了5种不同的存储 ...
- Oracle备份的几种方式
这里使用Oracle 12C来大概演示说明一下rman的基本用法,这里不会深入讨论,因为本人也只是刚刚才接触,只是结合了网上的一些文章以及自己的实践来总结并拿出来大家学习,谢谢 目录 一.关于备份与恢 ...
- Apollo简介及项目集成
1. 产生背景 随着程序功能的日益复杂,程序的配置日益增多:各种功能的开关.参数的配置.服务器的地址…… 对程序配置的期望值也越来越高:配置修改后实时生效,灰度发布,分环境.分集群管理配置,完善的权限 ...