文档章节

K8S - 容器编排工具Kubernetes简介

o
 osc_wws45aot
发布于 2019/08/21 23:19
字数 974
阅读 8
收藏 0

精选30+云产品,助力企业轻松上云!>>>

1 - Kubernetes

Kubernetes(简称K8s,用8代替8个字符“ubernete”)是Google开源的一个容器编排引擎。 目前最为广泛且流行的容器编排调度系统,也是现在用来构建云原生应用编排的最佳平台。 已成为在私有云,公共云以及混合云环境中大规模部署容器化应用程序的事实标准。

  • 支持自动化部署:自动化容器的部署和复制
  • 大规模可伸缩:随时扩展或收缩容器规模
  • 应用容器化管理:容器间的负载均衡、升级版本、弹性替换等等

使用Kubernetes,只需一个yaml格式的部署文件,使用kubectl命令与就Kubernetes API交互,就可以部署多层容器的完整集群。 目前所有云原生应用基本上都会基于 Kubernetes API 去构建。

1.1 实用的特性

  • 一致性:是指在 Kubernetes 上构建的应用可以无缝的迁移到任何环境里,不论公有云、私有云还是跨云。
  • 可扩展性:是指把 Kubernetes 的插件机制运用到任何环境里,通过 Kubernetes 这些插件都可以实现自定义化。
  • 自我修复功能:包括健康检查、故障的自动恢复、自动扩展等机制,这些对于系统运行至关重要。

1.2 官方信息

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 - 参考信息

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。

暂无文章

pyhon

cython 相关的帖子. http://blog.behnel.de/categories/cython.html https://www.nexedi.com/

MtrS
7分钟前
9
0
多处理与线程Python - Multiprocessing vs Threading Python

问题: I am trying to understand the advantages of multiprocessing over threading . 我试图了解多处理优于线程的优势。 I know that multiprocessing gets around the Global Interpret......

法国红酒甜
12分钟前
9
0
格式编号始终显示2个小数位 - Format number to always show 2 decimal places

问题: I would like to format my numbers to always display 2 decimal places, rounding where applicable. 我想将数字格式化为始终显示2个小数位,并在适用的情况下四舍五入。 Examples...

富含淀粉
今天
22
0
Docker可视化工具Portainer

1 前言 从没想到Docker也有可视化的工具,因为它的命令还是非常清晰简单的。无聊搜了一下,原来已经有很多Docker可视化工具了。如DockerUI、Shipyard、Rancher、Portainer等。查看对比了一番...

南瓜慢说
今天
20
0
日志系统新贵 Loki,真香!!

最近,在对公司容器云的日志方案进行设计的时候,发现主流的ELK或者EFK比较重,再加上现阶段对于ES复杂的搜索功能很多都用不上最终选择了Grafana开源的Loki日志系统,下面介绍下Loki的背景。...

庞陆阳
今天
14
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部