什么是k8s?
k8s是谷歌开源的一套完整的容器管理平台,方便我们直接管理容器应用。
谷歌称之为,kubernetes,[kubə’netis] ,(跟我一起读库波尔耐题思,重音在耐的音上),由于字母太多,我们简称为k8s,8代表k-->s之间的8个字母。
kubernetes 译为舵手,标识是一个航海舵。而容器直译为集装箱,也就是舵手在管理容器的意思。

为什么要做出来k8s,换句话说它有什么用?
还记得我前边讲的,为了屏蔽硬件之间的差异,减轻虚拟技术的负担,容器化技术在docker的带领下大行其道。越来越多的公司采用容器进行部署和交付。
但是随着业务的复杂化,容器可能成百上千,甚至不同容器对硬件的要求也越来越复杂,此时我们就需要一套完整的管理软件(平台),(防盗连接:本文首发自http://www.cnblogs.com/jilodream/ )来管理这些容器,如何部署,怎么部署
怎么销毁等等。k8s就是这样一套平台,同时与之对齐的还有docker 官方推出的docker swarm工具。但是由于市场和性能等原因,越来越多的公司选择k8s来管理容器。
除了能管理容器,k8s 还提供了一套完整的管理服务,安全的机制。这就让k8s同时拥有分布式、集群的一些处理能力。很多公司以此来分担spring cloud等分布式架构的能力。
接下来看一下k8s架构:

如图,k8s将主机称之为节点Node,节点又分为两种。主节点master,从节点Node。
主节点master主要提供资源的管理、控制。从节点Node用来保存各种资源信息。
主节点中包含:
kubectl :我们通过kubectl来控制使用k8s。
api server:核心组件、提供资源操作入口、认证、授权访问、api注册等能力。
scheduler:负责资源的调度。
controller manager:维护集群状态,如故障检测、自动扩展、滚动更新等。
etcd:分布式数据库,用来存储状态。
从节点包含:
kubelet:负责管理pod以及容器。
container runtime: 提供镜像管理和容器的运行时环境。
kubeproxy: 负责网络代理和负载均衡。

以上听起来有一些晦涩,不过不要紧,作为开发人员基本上用不到,这里只要有一个大概的印象就可以:
1、用户通过kubectl 来管理容器资源(防盗连接:本文首发自http://www.cnblogs.com/jilodream/ )
2、kubectl将收到的诉求发给至api server
3、api server分析收到的诉求,结合scheduler、etcd提供的信息,将命令发送到指定节点的kubelet中。
4、kubelet 根据收到的命令,处理相应节点中的pod。

这里提到了一个pod的概念:
什么是pod?pod就是一组容器,k8s是以pod为单位来操作容器的,我会在后边的文章中详细介绍。

实战 k8s----初识的更多相关文章

  1. aspnetcore.webapi实战k8s健康探测机制 - kubernetes

    1.浅析k8s两种健康检查机制 Liveness k8s通过liveness来探测微服务的存活性,判断什么时候该重启容器实现自愈.比如访问 Web 服务器时显示 500 内部错误,可能是系统超载,也可 ...

  2. 【实战】初识ListView及提高效率

    简介: ListView是手机上最常用的控件之一,几乎所有的程序都会用到,手机屏幕空间有限,当需要显示大量数据的时候,就需要借助ListView来实现,允许用户通过手指上下滑动的方式将屏幕外的数据滚动 ...

  3. Vue.js实战:初识Vue.js

    一.Vue.js是什么 简单小巧的核心,渐进式技术栈,足以应付任何规模的应用. 简单小巧指的是Vue.js 压缩后大小仅有17KB 所谓渐进式(Progressive)就是你一步一步,有阶段性地来使用 ...

  4. 数学之路-python计算实战(5)-初识numpy以及pypy下执行numpy

    N .有用的线性代数.傅里叶变换和随机数生成函数.numpy和稀疏矩阵运算包scipy配合使用更加方便.NumPy(Numeric Python)提供了很多高级的数值编程工具,如:矩阵数据类型.矢量处 ...

  5. k8s 初识pod (二)

    kubernetes中调用pod到哪个节点上是无关紧要的,但由于实际情况,每台node的硬件环境不一致,所以某些情况要求将不同pod调到指定节点上运行.也可以通过label实现. kubectl la ...

  6. 详解docker实战之搭建私有镜像仓库 - kurbernetes

    1.实战目的 搭建企业私有的镜像仓库,满足从开发环境推送和拉取镜像.当我们使用k8s来编排和调度容器时,操作的基本单位是镜像,所以需要从仓库去拉取镜像到当前的工作节点.本来使用公共的docker hu ...

  7. kubernetes 微服务西游记(持续更新中...)

    随着微服务架构的流行,迈向云原生的趋势,容器化微服务就成为了持续集成最好的手段,镜像成为了持续交付最好的产物,容器成为了镜像运行最好的环境,kubernetes成了部署容器最好的生态系统和规范.实践出 ...

  8. k8s-2-集成apollo配置中心

    主题: 在k8s中集成Apollo配置中心 架构图 一.配置中心概述 配置的几种方式 本课讲得是基于配置中心数据库实现 配置管理的现状 常见的配置中心 主讲:k8s configmap,apollo ...

  9. 做Android开发,你后悔过吗?

    有同学跟我说,编程太难了,总是有学不完的技术.框架,新技术也层出不穷,马上三十了,还有各种学不完的东西,后悔做程序员了 编程对我来讲,还难吗 我主业是做Android的. 我刚学编程的时候,觉得难点在 ...

  10. 大厂需要什么样的 Android 开发?

    前言 昨天和一个百度的朋友闲聊,他说根据最近招聘 Android工程师的经验来看,大部分候选人在工作 3 年的时候基本都会遇上一道难过的坎. 为啥这么说呢? 因为工作一段时间之后,大部分工程师都已经完 ...

随机推荐

  1. 监控最佳实践--redis及业务接口

    简介: 监控最佳实践--redis及业务接口 1. 背景 1.1 问题 2020-12-04,客户侧redis集群版监控DB0 CPU突增至100%,导致数据库无法正常服务,经排查客户侧业务上存在2M ...

  2. PolarDB 并行查询的前世今生

    简介:本文会深入介绍PolarDB MySQL在并行查询这一企业级查询加速特性上做的技术探索.形态演进和相关组件的实现原理,所涉及功能随PolarDB MySQL 8.0.2版本上线. ​ 作者 | ...

  3. 面对DNS劫持,只能坐以待毙吗?

    ​简介: 借助 ARMS-云拨测,我们可实时对网站进行监控,实现分钟级别的监控,及时发现 DNS 劫持以及页面篡改. 作者:白玙 DNS 劫持作为最常见的网络攻击方式,是每个站长或者运维团队最为头疼的 ...

  4. [Rust] 在 Linux 和 Mac 安装 Rust

      首先,安装 rustup,这是一个 Rust 的安装程序. curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh cargo ...

  5. WPF 使用 ManipulationDemo 工具辅助调试设备触摸失效问题

    本文将和大家介绍我所在的团队开源的 ManipulationDemo 工具.通过 ManipulationDemo 工具可以提升调试设备触摸失效的效率 此工具在 GitHub 上完全开源,请看 htt ...

  6. Win32 使用 CreateProcess 方法让任务管理器里的命令行不显示应用文件路径

    本文记录一个 Win32 的有趣行为,调用 CreateProcess 方法传入特别的参数,可以让任务管理器里的命令行不显示应用文件路径 开始之前,先看看下面这张有趣的图片 可以看到我编写的 Svca ...

  7. dotnet 使用 Infer# 自动分析代码缺陷

    本文告诉大家如何使用 Infer# 开源库配合 GitHub 的 Action 实现自动分析代码缺陷,如找到可空引用或线程安全等问题 这是一个在 GitHub 上完全开源的仓库,请看 https:// ...

  8. vue中使用vue-b2wordcloud创建词云

    安装使用 安装:使用npm install vue-b2wordcloud --save或者直接在vue ui中添加vue-b2wordcloud运行依赖 使用:在main.js中导入使用 impor ...

  9. netcore5下ocelot网关简单使用

    1.新建aspnetcoremvc项目,带home控制器的就可以了,测试用能启动就行,代码无需做任何更改. 2.新建空的aspnetcoremvc项目,做如下更改: 1..  2.. 3..  4.. ...

  10. vue使用vant的van-tabs+tag在选项卡展示该内容有几条的提示

    1.直接写用v-if判断下标展示,会滚动.pass! 2.定位,各种定位,相对各种父元素各种定位,还是会滚,因为tab内容一定滚动,pass 3.手写选项卡+v-if判断,这肯定可行,但本着能用ui组 ...