实战 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 年的时候基本都会遇上一道难过的坎. 为啥这么说呢? 因为工作一段时间之后,大部分工程师都已经完 ...
随机推荐
- 如何落地云原生DevOps?
简介: 什么是云原生DevOps?在阿里内部有怎样的实践?企业又该如何落地?阿里云云效专家团队提出了下一代精益产品开发方法体系--ALPD,提供了系统的云原生DevOps落地的方法支撑,帮助企业渐进式 ...
- 面向B端算法实时业务支撑的工程实践
简介:在营销场景下,算法同学会对广告主提供个性化的营销工具,帮助广告主更好的精细化营销,在可控成本内实现更好的ROI提升.我们在这一段时间支持了多个实时业务场景,比如出价策略的实时化预估.关键词批量服 ...
- Flink 1.13,面向流批一体的运行时与 DataStream API 优化
简介: 在 1.13 中,针对流批一体的目标,Flink 优化了大规模作业调度以及批执行模式下网络 Shuffle 的性能,以及在 DataStream API 方面完善有限流作业的退出语义. 本文由 ...
- 编码原则 : DRY, KISS, YAGNI, S.O.L.I.D
Dont Repeat Yourself. Keep is Simple, Stupid. You Ain't Gonna Need It. 你不需要它 ( 不试图添加你认为以后可能需要的代码,适可 ...
- [FE] JS 判断当前是否在微信浏览器中的最新代码
注意以下使用了 const 定义未改变的变量,没有使用 var. function isWeChatBrowser () { const ua = window.navigator.userAgent ...
- 修复 WPF 安装 WindowsAppSDK 库构建失败 NETSDK1082 和 NETSDK1112 找不到 win10-arm 失败
通过在 WPF 项目上安装 WindowsAppSDK 库,可以让 WPF 使用上 Win10 及以上版本提供的 Windows Runtime 强大的 API 集和使用上更多的黑科技.本文记录在安装 ...
- dotnet C# 如果在构造函数抛出异常 是否可以拿到对象赋值的变量
如果使用某个变量去获取某个类型的对象创建,但是在这个类型的构造函数调用时抛出异常,请问此变量是否可以拿到对应的对象 如下面代码 private void F1() { Foo foo = null; ...
- Raft 共识算法3-日志复制
Raft 共识算法3-日志复制 Raft算法中译版地址:https://object.redisant.com/doc/raft中译版-2023年4月23日.pdf 英原论文地址:https://ra ...
- 9、iptables 防火墙
1.iptables 基础规则 1.1.Linux 包过滤防火墙 netfilter 位于 Linux 内核中的包过滤功能体系 称为 Linux 防火墙的 "内核态" iptabl ...
- 技术书籍 — EffectiveMordenCpp 研读
一.类型推导 PROs: 源码某处的类型修改,可以自动传播其他地方 Cons: 会让代码更复杂(How?) 在模板类型推导时,有引用的实参会被视为无引用,他们的引用会被忽略 template<t ...