实战 k8s----初识
什么是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----初识的更多相关文章
- aspnetcore.webapi实战k8s健康探测机制 - kubernetes
1.浅析k8s两种健康检查机制 Liveness k8s通过liveness来探测微服务的存活性,判断什么时候该重启容器实现自愈.比如访问 Web 服务器时显示 500 内部错误,可能是系统超载,也可 ...
- 【实战】初识ListView及提高效率
简介: ListView是手机上最常用的控件之一,几乎所有的程序都会用到,手机屏幕空间有限,当需要显示大量数据的时候,就需要借助ListView来实现,允许用户通过手指上下滑动的方式将屏幕外的数据滚动 ...
- Vue.js实战:初识Vue.js
一.Vue.js是什么 简单小巧的核心,渐进式技术栈,足以应付任何规模的应用. 简单小巧指的是Vue.js 压缩后大小仅有17KB 所谓渐进式(Progressive)就是你一步一步,有阶段性地来使用 ...
- 数学之路-python计算实战(5)-初识numpy以及pypy下执行numpy
N .有用的线性代数.傅里叶变换和随机数生成函数.numpy和稀疏矩阵运算包scipy配合使用更加方便.NumPy(Numeric Python)提供了很多高级的数值编程工具,如:矩阵数据类型.矢量处 ...
- k8s 初识pod (二)
kubernetes中调用pod到哪个节点上是无关紧要的,但由于实际情况,每台node的硬件环境不一致,所以某些情况要求将不同pod调到指定节点上运行.也可以通过label实现. kubectl la ...
- 详解docker实战之搭建私有镜像仓库 - kurbernetes
1.实战目的 搭建企业私有的镜像仓库,满足从开发环境推送和拉取镜像.当我们使用k8s来编排和调度容器时,操作的基本单位是镜像,所以需要从仓库去拉取镜像到当前的工作节点.本来使用公共的docker hu ...
- kubernetes 微服务西游记(持续更新中...)
随着微服务架构的流行,迈向云原生的趋势,容器化微服务就成为了持续集成最好的手段,镜像成为了持续交付最好的产物,容器成为了镜像运行最好的环境,kubernetes成了部署容器最好的生态系统和规范.实践出 ...
- k8s-2-集成apollo配置中心
主题: 在k8s中集成Apollo配置中心 架构图 一.配置中心概述 配置的几种方式 本课讲得是基于配置中心数据库实现 配置管理的现状 常见的配置中心 主讲:k8s configmap,apollo ...
- 做Android开发,你后悔过吗?
有同学跟我说,编程太难了,总是有学不完的技术.框架,新技术也层出不穷,马上三十了,还有各种学不完的东西,后悔做程序员了 编程对我来讲,还难吗 我主业是做Android的. 我刚学编程的时候,觉得难点在 ...
- 大厂需要什么样的 Android 开发?
前言 昨天和一个百度的朋友闲聊,他说根据最近招聘 Android工程师的经验来看,大部分候选人在工作 3 年的时候基本都会遇上一道难过的坎. 为啥这么说呢? 因为工作一段时间之后,大部分工程师都已经完 ...
随机推荐
- 监控最佳实践--redis及业务接口
简介: 监控最佳实践--redis及业务接口 1. 背景 1.1 问题 2020-12-04,客户侧redis集群版监控DB0 CPU突增至100%,导致数据库无法正常服务,经排查客户侧业务上存在2M ...
- PolarDB 并行查询的前世今生
简介:本文会深入介绍PolarDB MySQL在并行查询这一企业级查询加速特性上做的技术探索.形态演进和相关组件的实现原理,所涉及功能随PolarDB MySQL 8.0.2版本上线. 作者 | ...
- 面对DNS劫持,只能坐以待毙吗?
简介: 借助 ARMS-云拨测,我们可实时对网站进行监控,实现分钟级别的监控,及时发现 DNS 劫持以及页面篡改. 作者:白玙 DNS 劫持作为最常见的网络攻击方式,是每个站长或者运维团队最为头疼的 ...
- [Rust] 在 Linux 和 Mac 安装 Rust
首先,安装 rustup,这是一个 Rust 的安装程序. curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh cargo ...
- WPF 使用 ManipulationDemo 工具辅助调试设备触摸失效问题
本文将和大家介绍我所在的团队开源的 ManipulationDemo 工具.通过 ManipulationDemo 工具可以提升调试设备触摸失效的效率 此工具在 GitHub 上完全开源,请看 htt ...
- Win32 使用 CreateProcess 方法让任务管理器里的命令行不显示应用文件路径
本文记录一个 Win32 的有趣行为,调用 CreateProcess 方法传入特别的参数,可以让任务管理器里的命令行不显示应用文件路径 开始之前,先看看下面这张有趣的图片 可以看到我编写的 Svca ...
- dotnet 使用 Infer# 自动分析代码缺陷
本文告诉大家如何使用 Infer# 开源库配合 GitHub 的 Action 实现自动分析代码缺陷,如找到可空引用或线程安全等问题 这是一个在 GitHub 上完全开源的仓库,请看 https:// ...
- vue中使用vue-b2wordcloud创建词云
安装使用 安装:使用npm install vue-b2wordcloud --save或者直接在vue ui中添加vue-b2wordcloud运行依赖 使用:在main.js中导入使用 impor ...
- netcore5下ocelot网关简单使用
1.新建aspnetcoremvc项目,带home控制器的就可以了,测试用能启动就行,代码无需做任何更改. 2.新建空的aspnetcoremvc项目,做如下更改: 1.. 2.. 3.. 4.. ...
- vue使用vant的van-tabs+tag在选项卡展示该内容有几条的提示
1.直接写用v-if判断下标展示,会滚动.pass! 2.定位,各种定位,相对各种父元素各种定位,还是会滚,因为tab内容一定滚动,pass 3.手写选项卡+v-if判断,这肯定可行,但本着能用ui组 ...