自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

转载 kube-apiserver源码解析之数据库操作

ApiServer与数据库的交互主要指的是与etcd的交互,Kubernetes所有组件不直接与etcd交互,都是通过请求apiserver,apiserver与etcd进行交互完成数据的最终落盘。在之前路由的实现已经说过,apiserver最终实现的handler对应的后端数据库是以Store的结构 保存的,这里以api开头的路由为例,在NewLegacyRESTStorage方法中,通过New...

2019-09-08 09:12:56 328

转载 kuber-apiserver源码分析之RBAC

Apiserver中与权限相关的主要有三种机制,即潮涌的认证、鉴权、和准入控制。对apiserver来说,主要提供的就是rest风格的接口,所以各种权限最终还是集中到对接口权限判断上。以最核心的kubeAPIConfig举例,在CreateServerChain方法中,调用了CreateKubeAPIServerConfig的方法,该方法主要的作用是创建kubeAPIServer的配置,进入该方法...

2019-09-08 00:58:23 219

转载 kubernetes源码分析之kube-apiserver

本节所有的代码基于最新的1.15.2启动分析同Kubernetes所有的组件启动代码一致,apiserver启动使用的是corba的命令行方式 RunE: func(cmd *cobra.Command, args []string) error { verflag.PrintAndExitIfRequested() utilflag.PrintFlags(cmd.Flags(...

2019-09-07 11:43:35 311

原创 kubernetes总架构图

kubernets 各个组件介绍etcd 分布式数据库 存储整个集群的状态master节点kube-apiserver 集群中各个功能模块之间数据交互和通讯的中心枢纽;集群管理API入口;资源配额控制的入口;提供了完善的集群安全机制,如:认证、授权等kube-controller-manager 集群内部的管理控制中心,维护集群的状态(后台管理)kube-sheduler 负责资源...

2019-08-05 00:16:30 556

转载 Docker源码分析(一): Docker架构

1. 背景1.1 Docker简介Docker是Docker公司开源的一个基于轻量级虚拟化技术的容器引擎项目,整个项目基于Go语言开发,并遵从Apache 2.0协议。目前,Docker可以在容器内部快速自动化部署应用,并可以通过内核虚拟化技术(namespaces及cgroups等)来提供容器的资源隔离与安全保障等。由于Docker通过操作系统层的虚拟化实现隔离,所以Docker容器在运行时...

2019-05-24 00:01:01 175

转载 Docker的网络模式(二) 自定义网络

建议使用自定义网桥来控制哪些容器可以相互通讯,还可以自动DNS解析容器名称到ip地址。Docker提供了创建这些网络的默认网络驱动程序,你可以创建一个新的Bridge网络,Overlay或Macvlan网络,你可以创建一个网络插件或远程网络进行完善的自定义和控制。你可以根据需要创建任意数量的网络,并且可以在任何给定的时间将容器连接到这些网络中的零个或多个网络。此外,您可以连接并断开网络中的容器,...

2019-05-21 23:57:47 603

转载 Docker的网络模式(一)

1、默认的网络模式当你安装Docker时,他会自动创建三个网络,你可以使用以下docker network ls命令列出这些网络root@paas:~# docker network lsNETWORK ID NAME DRIVER SCOPE5b492a7a4605 bridge ...

2019-05-20 07:52:34 746

转载 linux中LVM逻辑卷管理

一、逻辑卷(LVM)逻辑卷管理的概念LVM是Linux系统对磁盘分区进行管理的一种方式,使用它可以让你更灵活的管理你的磁盘,LVM是由PV(physical volume,物理卷)、VG(volume group,卷组)、LV(logical volume,逻辑卷)三种元素组成。PV(pythsical volume,物理卷):PV是由分区构成的,通常我们在多块硬盘的环境中把一块硬盘格式化...

2019-05-19 10:17:18 262

转载 深入理解docker的镜像和容器

##Image Defintion镜像(Image)就是一推只读层Image(read-only layer)的统一视觉,也许这些定义有些难理解,下面这张图能够帮助读者理解镜像的定义从左边往右我们看到了多个只读层,他们重叠在一起,除了最下面一层,其他层都会有一个指针指向下一层,这些层是docker内部的实现细节,并且能够在主机(运行docker的机器)的文件中访问到,统一文件系统技术(uni...

2019-05-19 00:47:16 149

原创 深入理解docker的镜像和容器

Image Defintion镜像(Image)就是一推只读层Image(read-only layer)的统一视觉,也许这些定义有些难理解,下面这张图能够帮助读者理解镜像的定义从左边往右我们看到了多个只读层,他们重叠在一起,除了最下面一层,其他层都会有一个指针指向下一层,这些层是docker内部的实现细节,并且能够在主机(运行dock...

2019-05-15 23:00:00 325

原创 继承的优缺点

子类化内置类型的优缺点多重继承的顺序和方法的解析顺序注意:内置类型(使用C语言编写)不会调用用户定义的类覆盖方法不要子类化内置类型,用户自己定义的类应该继承collections模块中的类,例如:UserDict,UserList,UserString,这些类做了特殊的设计,因此易于扩展继承顺序:类都有一个名为__mro__的属性,它的值是一个...

2019-03-22 21:57:00 731

原创 符合python风格的对象

repr()以便于开发者理解的方式返回对象的字符串表达形式str()以便于用户理解的方式返回对象的字符串表达形式classmethod改变了调用方法的方式,因此类方法的第一个参数是类本身,而不是实例,classmethod最常见得用途是定义备选构造方法staticmethod装饰器也会改变方法的调用方式,但是第一个参数不是特殊的值,其实静态方法就...

2019-03-19 21:40:00 70

原创 对象引用、可变性和垃圾回收

python中的赋值语句,首先要先读右边。对象在右边创建获取,在此之后左边的的变量才会绑定到对象上,就像为对象贴上了标注。== 运算符比较两个对象的值,is比较两个对象的标识,通常我们关注的是值,而不是标识,在python中==出现的频率比is高不要使用可变类型作为参数的默认值在Cpython中,垃圾回收使用的主要算法是垃圾回收,实际上,每个对象都会...

2019-03-17 22:40:00 67

原创 函数(二)

装饰器的基本知识能把被装饰的函数变成其他函数装饰器在加载模块时立即执行费,而被调用的函数只有在明确调用时运行变量作用域规则>>> b = 6>>> def f1(a):... print(a)... print(b)... b = 9>>> f1(3)3Traceb...

2019-03-17 16:21:00 70

原创 数据库如何优化查询效率

储存引擎选择:如果数据表需要事务处理,应该考虑InnoDB,因为他完全符合ACID特性,如果不需要事务处理,使用默认存储引擎MyISAM比较明智的分表分库,主从对查询进行优化,避免进行全表扫描,首先考虑在where和order by涉及的列上建立索引应该默认避免在where句中对字段null进行判断,否则将会导致引擎放弃使用索引而进行全表扫描应该...

2019-03-14 23:09:00 717

原创 mysql的基本使用

连接数据库mysql -u root -p "密码"-h 连接的主机ip-u 连接的用户名-p 密码2 数据库操作创建数据库create database “数据库名称” charset=utf8;删除数据库drop database “数据库名称”;切换数据库use “数据库名称”;查看当前选择的数据库名称select...

2019-03-14 01:33:00 55

原创 文本和字节序列

python内置两种基本的二进制序列类型,python3的str对象中获取的元素是‘Unicode’字符,python2的str对象中获取的原始字符序列。python3默认使用UTF-8编码源码,python2则默认使用ASCII。如何找出字节序列的编码?简单来说,不能,必须有人告诉你。 ...

2019-03-14 00:57:00 147

原创 函数(一)

在python中函数是一等对象。在运行时创建能赋值给变量或数据结构中的元素能作为参数传给函数能作为函数的返回结果接受函数的参数,或者把函数作为结果返回的函数是高阶函数匿名函数:lambdapython中可调用对象:用户定义的函数:使用def语句或lambda表达式创建内置函数:使用C语言(Cpython)实现的函数,如len或t...

2019-03-14 00:48:00 153

原创 字典和集合(python)

字典(dict)和集合(set)是无序的字典推导values = [1, 2, 3]dict1 = {key: value for key, value in enumerate(values)}print(dict1)输出结果{0: 1, 1: 2, 2: 3}集合推导式set1 = {i **2 for i in range(3)}...

2019-03-10 16:09:00 94

原创 列表和元组(python)

python按照存放可以分为,容器化序列和扁平化序列,容器话序列存放的是他们所包含的任意类型的对象的引用,而扁平化序列存放的是值而不是引用。按照能否被修改分类,可以分为可变序列和不可变序列。当容器化序列遇到可变序列时,要格外小心列表(list)属于容器化序列和可变序列列表推导式[i for i in range(3)]输出的结果[0, 1, 2...

2019-03-10 11:49:00 87

原创 python的数据模型

python解释器碰到特殊的句法时,会使用特殊的方法去激活一些基本的对象操作,这些特殊方法的名称以两个下划线开头,两个下划线结尾,即魔法方法。魔法方法能让你自己的对象实现和支持以下的语言结构,并与之交互:迭代集合类属性访问运算符重载函数和方法的调用对象的创建 和销毁字符串表示形式和格式化管理上下文(即with块) ...

2019-03-10 01:48:00 277

原创 第一天写博客

很早之前就想写博客了,一直被有些事情多阻扰,没有一个安静的心去写博客,现在终于有这个机会,或许对于自己来说是又是一个新的开始。引用安兰德的《源泉》中的一句话,当作自己写博客的开始吧。“为了将事情做好,首先你得喜欢做这个件事,而不是喜欢这件事情的结果,重要的是工作本身,而不是你为之工作的人,是你自己的行为,而不是任何你的爱心可能涉及的对象。对象可能会改变,所...

2019-03-09 22:07:00 70

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除