美文网首页Kubernetes 修仙录
炼气境—第1层:理解K8S一些基础概念

炼气境—第1层:理解K8S一些基础概念

作者: 一笑醉红颜zh | 来源:发表于2019-09-29 14:16 被阅读0次

Hello 小哥,欢迎来到容器世界,我是小K,我会陪着你一起纵横容器世界!目前微服务横行,我们容器天国也不甘落后,我谷歌大朝经过不断努力,完善了一套容器编排的内功心法-Kuberents(K8S),融汇贯通可达武神境!我们先来学习一些基础的东西吧!


K8S 介绍

微服务框架的流行,使得服务越来越精细化,服务也变的越来越多,对于发布和管理而言,产生了巨大的挑战,而Docker 的诞生,给与微服务的资源治理和控制提供了很好的基础—容器化,然后,Docker 对于容器服务的编排没有那么方便,K8S 基于Docker引擎提供了一整套的容器管理方案,说白了,就是对于容器做管理的,并提供了一些自动化的功能,如收缩,扩容等。

使用k8s,你可以得到这些:

  • 快速部署应用
  • 快速扩展应用
  • 无缝对接新的应用功能
  • 节省资源,优化硬件资源的使用

k8s 特点

  • 可移植: 支持公有云,私有云,混合云,多重云(multi-cloud)
  • 可扩展: 模块化, 插件化, 可挂载, 可组合
  • 自动化: 自动部署,自动重启,自动复制,自动伸缩/扩展

k8s解决了哪些难题?

  • 多个进程(作为容器运行)协同工作
  • 存储系统挂载
  • Distributing secrets
  • 应用健康检测
  • 应用实例的复制
  • Pod自动伸缩/扩展
  • Naming and discovering
  • 负载均衡
  • 滚动更新
  • 资源监控
  • 日志访问
  • 调试应用程序
  • 提供认证和授权

容器编排的基础资源定义和理解

一切皆为资源,一切即可描述,一切皆可管理。

NameSpace

命名空间。一般,一个K8S集群的命名空间是用来隔离和控制资源的,这里的资源指的是服务,CPU,内存等资源,所以,一个命名空间可以认为是一套环境,比如我建立三个命名空间为 dev 、test 、prod ,代表了 开发环境、测试环境、生产环境,环境彼此之间资源可以控制和隔离。

POD

k8s可以是基于Docker 引擎来管理容器的,pod 的存在是因为原生Docker 和K8S 不是一家公司的产品,那么,如果基于原生去修改里面的容器比较困难,所以,K8S 在外部包了一层用作对于原生容器的管理,这就是pod。一个pod 里面可以有多个容器,一般,我们在使用的时候,基本一个pod 只有一个容器。

Deployment

这个资源是一个其实是一个发布控制器,一般用于实战中发布服务使用。这个玩意最核心的功能,就是完成了pod 的控制,建立RC(副本个数控制器,也就是几个实例)来控制一个服务后面的pod 数目,以及pod 的生老病死,pod 使用的资源,pod 是否健康的检查,重启策略等等等。重点关注这个,真实操作的基本都是这个。

Service

Service 名为服务,其实是一层网络抽象,最大的意义就是service管理的是endpoints ,也就是多个pod, Service 作为抽象资源,他所代表的IP,端口是不变的,这是区别于pod 的地方,如果在k8s网络里进行服务互相访问的话,用service 最好不过了。他其实等同于有自动发现后端节点和负载均衡的功能。

Ingress

路由,目前基本上各个厂商都使用的是Nginx Ingrss 做集群的路由管理。
Ingress 这种方式其实主要用于对外提供http服务的访问地址,以Ngxin 来对比的话,
其实就是把location 和server 端动态换,当然,本质上Nginx Ingress 就是基于Nginx Server 和 Tmplate config 做出来的,核心点在Nginx Controlle 对于Location 的刷新和监控。

ConfigMap

配置管理。这个可以作为配置中心。实战中一般使用两种方式,一个是作为环境变量导入,一种是作为配置文件挂载到内部磁盘目录。

Secret

保密字典。 支持三种类型的 : base64 的,TLS证书的,Docker 仓库的镜像认证秘钥的。

PV 和PVC

数据要落盘,如果在pod 中,如果容器销毁,则一切都没有了,所以有了持久化存储的概念。
PV 存储卷,PVC 存储卷申明。
PVC 常用在Deployment 中做数据的持久化存储,程序往指定的目录路径写数据,那么PVC可以 mounts 到改路径下,实现持久化存储。
这里还需要理解一个Volume 的概念,后面在细说。

Labels 和 Selectors

标签和选择器。作用其实就是给每个容器贴个标签,然后呢,各个控制器通过Selector 进行pod 的控制管理,比如Deployment,Service 都是这样控制的。

以上是几种常用的资源的作用,具体点的,等下一层小K会逐渐讲解。

相关文章

  • kubernetes(k8s)修仙录总纲

    我是一个牛逼的目录 炼气境—第1层:理解K8S一些基础概念 炼气境—第2层: 理解K8S 的组件和架构计 炼气境—...

  • 炼气境—第1层:理解K8S一些基础概念

    Hello 小哥,欢迎来到容器世界,我是小K,我会陪着你一起纵横容器世界!目前微服务横行,我们容器天国也不甘落后,...

  • 炼气境—第3层:K8S网络特训

    本层为特训,必须掌握好和理解好,否则后期容易走火入魔呀! kubernetes 对于网络的要求是: 容器之间(包括...

  • 炼气境—第2层: 理解K8S 的组件和架构设计

    天下武功,为快不破。 我是Go 写的! K8S 的架构设计 C-S架构 说明K8S 使用的是Master —Wor...

  • Kubernetes容器编排技术

    k8s:云原生(在各种云都像是在本地部署<个人理解>)的基础设置 K8S宏观组件理解 service\lable ...

  • 修仙境界

    修仙者共分为八大境界:炼气、先天、金丹、元婴、化神、返虚、合道、渡劫 炼气境 分为三个小境界(内劲),筑基境(化境...

  • K8S 基础概念

    K8S概念指南 Cluster :集群是指由k8s使用一些列的物理机,虚拟机和其他基础资源来运行你的应用程序. N...

  • 理解基础

    原创分享第959天 周三 今天读《尊重与希望》这本书,读到理解基础这个概念,文章说:理解基础是成为谘询关系的...

  • K8S入门(二) 单机部署

    目的 搭建一个单机环境学习实践用,既做Master节点也做Node节点,通过实际操作深入理解k8s中的基础概念 配...

  • 理解基础概念

    说明:最近用到Nginx很多,但是原理和基本概念不是很明白,现在好好学习一下。 介绍: Nginx,它的发音为“e...

网友评论

    本文标题:炼气境—第1层:理解K8S一些基础概念

    本文链接:https://www.haomeiwen.com/subject/dhufpctx.html