9 sjyu_金色年华

尚未进行身份认证

暂无相关简介

等级
TA的排名 5w+

说说Go中defer的坑

defer nil 函数如果一个延迟函数被赋值为 nil , 运行时的 panic 异常会发生在外围函数执行结束后而不是 defer 的函数被调用的时候。package mainimport ( "fmt")func main() { var run func() = nil defer run() fmt.Println("runs")}执行结果:r...

2018-07-26 14:16:23

说一说Go中的延迟函数defer

简单的说就是Go中用defer关键字来修饰函数起到延迟执行的效果。defer 表达式会被放入一个类似于栈( stack )的结构,所以调用的顺序是先进后出/后进先出的package mainimport ( "fmt")func main() { defer fmt.Print(1) defer fmt.Print(2) defer fmt.Pr...

2018-07-26 13:41:00

Kubernetes核心概念总结(转载)

转载一篇不错的文章:https://www.cnblogs.com/WayneZeng/p/7680597.html1、基础架构  1.1 Master  Master节点上面主要由四个模块组成:APIServer、scheduler、controller manager、etcd。    APIServer。APIServer负责对外提供RESTful的Kubernetes API服务,它是系统...

2018-05-29 09:51:24

kubernetes资源对象ConfigMap学习(一)

前提条件:已安装kubernetes集群系统安装好后,默认可以查询到以下configmap注:我这里使用的是flannel网络,可能与你的存在差异。kubectl describe configmap kube-flannel-cfg --namespace kube-system上图Data字段ConfigMap也是kubernetes的一种资源对象,当然创建ConfigMap也有两种方式:(1...

2018-05-26 17:58:41

学习使用VMware harbor搭建docker镜像仓库

离线安装过程:root@Ubuntu-001:~/harbor# ./install.sh [Step 0]: checking installation environment ...Note: docker version: 17.12.0Note: docker-compose version: 1.19.0[Step 1]: loading Harbor images .....

2018-05-17 13:03:30

YAML语法简单介绍

最近在学习K8S,经常用到YAML文件,之前学习docker-compose也遇到过。现在简单总结下其语法。YAML=YAML Ain't Markup Language,YAML 是一种简洁的非标记语言。YAML以数据为中心,使用空白,缩进,分行组织数据,从而使得表示更加简洁易读。基本规则YAML有以下基本规则: 1、大小写敏感 2、使用缩进表示层级关系 3、禁止使用tab缩进,只能使用空格键 ...

2018-05-08 11:25:13

记一次用kubeadm搭建kubernetes v1.9.0集群

目标:使用kubeadm搭建kubernetes v1.9.0集群操作系统:Ubuntu 16.04.3Ubuntu-001 :192.168.1.110ubuntu-002 : 192.168.1.106步骤总结:1、安装Docker CE2、安装kubeadm、kubectl、kubelet3、利用kubeadm init初始化kubernetes集群4、利用kubeadm join加入nod...

2018-04-19 00:03:18

在国内如何巧妙获取kubernetes各镜像?

我们知道无论手动安装kubernetes还是使用kubeadm安装kubernetes,都需要以下各模块的docker镜像。kube-proxy-amd64kube-scheduler-amd64kube-controller-manager-amd64kube-apiserver-amd64etcd-amd64pause-amd64kubernetes-dashboard-amd64...

2018-04-18 15:38:36

Docker的那些事儿—Docker使用的核心底层技术(7)

Union file systems前面介绍了Namespace和Cgroups,这两项技术都是与容器相关。Docker的一大创新之处采用了——Union file systems(联合文件系统,UnionFS)技术。它是实现Docker镜像的技术基础,是一种轻量级的高性能分层文件系统,支持对文件系统中的修改作为一次提交来一层层的叠加,这个特性使得镜像可以通过分层实现和继承。Docker镜像分为基...

2018-04-09 15:25:35

Docker的那些事儿—Docker使用的核心底层技术(6)

Control groupsControl groups(Cgroups)中文称为控制组。Docker利用Cgroups实现了对资源的配额和度量。Cgroups可以限制CPU、内存、磁盘读写速率、网络带宽等系统资源。Linux使用文件系统来实现Cgroups,我们可以直接使用下面的命令查看当前的Cgroups中有哪些子系统:以下是每个子系统的说明:Blkio:这个子系统设置限制每个块设备的输入输出...

2018-04-09 15:24:36

Docker的那些事儿—Docker使用的核心底层技术(5)

Docker使用的核心底层技术:Namespace、Control Groups和Union FS。Namespaces每个docker主机上可以起很多container,这些container之间是相互隔离,互不影响的。Docker正是借助Linux kernel namespace(命名空间)来实现这一点。具体包括pid、net、ipc、mnt、uts、user等namespace将conta...

2018-04-09 15:20:52

Docker的那些事儿—Docker架构讲解(4)

前面安装了docker,通过最简单的例子也直观的感受了docker是怎么玩的。下面我们就来了解下docker的架构是怎么的,都包括那些核心的东西。下图是docker的架构图:可以看出Docker采用的是C/S架构模式,client负责发送请求,server(daemon)负责处理请求:包括构建、运行、分发docker容器。当然了client和server可以运行在同一个或不同的主机上。两者之间通过...

2018-02-26 14:30:30

Docker的那些事儿—Docker安装(3)

当然,Docker的官方文档是最佳的参考:https://docs.docker.com/engine/installation/。Docker官方提供了两种版本:社区版本Community Edition (CE) 和企业版本Enterprise Edition (EE)。其中EE版本又提供了Stable和Edge版本, Stable每个季度更新一个版本,而Edge版本每个月更新一个版本。显然两...

2018-02-24 13:50:40

Docker的那些事儿—环境搭建(2)

搭建环境前,需要思考几个问题:(1)    安装什么样的系统?Windows?Linux or Mac?32 bit or 64 bit?(2)    在哪里安装?物理机? 虚拟机?(使用什么虚拟化软件?)云主机?(3)    Docker都有哪些版本?怎么选择?要回答上面的这些问题,建议先参考下Docker的官方文档,因为Docker对不同的Linux系统版本有一定的要求,尽量不要出现了系统安装...

2018-02-24 13:38:01

Docker的那些事儿—Docker简介(1)

什么是Docker?Docker官网是这么描述的:WHAT IS DOCKER? Docker is the world’s leading software containerization platform. Docker is the company driving the container movement and the only container platform provider...

2018-02-24 13:26:28

Linux技巧: Linux终端打印如何设置不同的颜色及显示方式

在Linux终端下调试程序时,有时需要输出大量信息。而从这些大量的信息中,我们往往很难捕获我们需要的信息。若能控制字体的颜色和显示方式,可使输出信息对比鲜明显示,便于调试时观察数据。     终端的字符颜色由转义序列(Escape Sequence)控制,是文本模式下的系统显示功能,与具体语言无关。     转义序列以控制字符'ESC'开头。该字符的ASCII码十进制表示为27,十六进制表

2017-09-14 11:12:27

python 多进程编程

转载自:http://www.cnblogs.com/alan-babyblog/p/5339501.html创建进程的类:Process([group [, target [, name [, args [, kwargs]]]]]),target表示调用对象,args表示调用对象的位置参数元组。kwargs表示调用对象的字典。name为别名。group实质上不使用。方法:is_

2017-08-02 16:56:33

Linux技巧:dos转unix文件格式方法

Window上编辑的文件上传到Linux系统上,经常会遇到报错,原因在于window上文件格式与linux上是不同的导致。 Windows上市dos格式,Linux上是unix格式。Dos->Unix转换是需要的,一般可以采取以下两种方法进行装换:(1)   使用dos2unix 文件名 进行装换终端执行: dos2unix test.py(2)   借助vim编辑器进

2017-08-02 16:33:28

Python线程之threading.Event

python使用threading.Event可以使一个线程等待其他线程的通知,我们把这个Event传递到线程对象中,Event默认内置了一个标志,初始值为False。一旦该线程通过wait()方法进入等待状态,直到另一个线程调用该Event的set()方法将内置标志设置为True时,该Event会通知所有等待状态的线程恢复运行。python线程的事件Event用于主线程控制其他线程的

2017-08-02 10:36:35

如何判断一个正整数是否是2的乘方

实现一个方法,判断一个正整数是否是2的乘方(比如16是2的4次方,返回True;否则返回False)方法一:从1开始循环乘以2,直到结果第一次大于或者等于目标值,如果相等,则放回True,如果大于,则返回False方法二:使用该数循环除以2,如果最终商是1并且余数是0,则返回True;循环中一旦出现余数不为0,则返回False方法三:借助位运算如果该数是2的乘方,则该数的二进制表示

2017-07-25 15:40:25

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!