- 博客(81)
- 资源 (5)
- 收藏
- 关注
转载 说说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
2493
原创 说一说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
628
转载 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
664
原创 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
3815
原创 学习使用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
4522
原创 YAML语法简单介绍
最近在学习K8S,经常用到YAML文件,之前学习docker-compose也遇到过。现在简单总结下其语法。YAML=YAML Ain't Markup Language,YAML 是一种简洁的非标记语言。YAML以数据为中心,使用空白,缩进,分行组织数据,从而使得表示更加简洁易读。基本规则YAML有以下基本规则: 1、大小写敏感 2、使用缩进表示层级关系 3、禁止使用tab缩进,只能使用空格键 ...
2018-05-08 11:25:13
1012
原创 记一次用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
2799
原创 在国内如何巧妙获取kubernetes各镜像?
我们知道无论手动安装kubernetes还是使用kubeadm安装kubernetes,都需要以下各模块的docker镜像。kube-proxy-amd64 kube-scheduler-amd64 kube-controller-manager-amd64 kube-apiserver-amd64 etcd-amd64 pause-amd64 kubernetes-dashboard-amd64...
2018-04-18 15:38:36
20676
8
原创 Docker的那些事儿—Docker使用的核心底层技术(7)
Union file systems前面介绍了Namespace和Cgroups,这两项技术都是与容器相关。Docker的一大创新之处采用了——Union file systems(联合文件系统,UnionFS)技术。它是实现Docker镜像的技术基础,是一种轻量级的高性能分层文件系统,支持对文件系统中的修改作为一次提交来一层层的叠加,这个特性使得镜像可以通过分层实现和继承。Docker镜像分为基...
2018-04-09 15:25:35
852
原创 Docker的那些事儿—Docker使用的核心底层技术(6)
Control groupsControl groups(Cgroups)中文称为控制组。Docker利用Cgroups实现了对资源的配额和度量。Cgroups可以限制CPU、内存、磁盘读写速率、网络带宽等系统资源。Linux使用文件系统来实现Cgroups,我们可以直接使用下面的命令查看当前的Cgroups中有哪些子系统:以下是每个子系统的说明:Blkio:这个子系统设置限制每个块设备的输入输出...
2018-04-09 15:24:36
627
原创 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
977
原创 Docker的那些事儿—Docker架构讲解(4)
前面安装了docker,通过最简单的例子也直观的感受了docker是怎么玩的。下面我们就来了解下docker的架构是怎么的,都包括那些核心的东西。下图是docker的架构图:可以看出Docker采用的是C/S架构模式,client负责发送请求,server(daemon)负责处理请求:包括构建、运行、分发docker容器。当然了client和server可以运行在同一个或不同的主机上。两者之间通过...
2018-02-26 14:30:30
389
原创 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
850
原创 Docker的那些事儿—环境搭建(2)
搭建环境前,需要思考几个问题:(1) 安装什么样的系统?Windows?Linux or Mac?32 bit or 64 bit?(2) 在哪里安装?物理机? 虚拟机?(使用什么虚拟化软件?)云主机?(3) Docker都有哪些版本?怎么选择?要回答上面的这些问题,建议先参考下Docker的官方文档,因为Docker对不同的Linux系统版本有一定的要求,尽量不要出现了系统安装...
2018-02-24 13:38:01
297
原创 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
409
原创 Linux技巧: Linux终端打印如何设置不同的颜色及显示方式
在Linux终端下调试程序时,有时需要输出大量信息。而从这些大量的信息中,我们往往很难捕获我们需要的信息。若能控制字体的颜色和显示方式,可使输出信息对比鲜明显示,便于调试时观察数据。 终端的字符颜色由转义序列(Escape Sequence)控制,是文本模式下的系统显示功能,与具体语言无关。 转义序列以控制字符'ESC'开头。该字符的ASCII码十进制表示为27,十六进制表
2017-09-14 11:12:27
3616
转载 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
304
原创 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
14130
1
原创 Python线程之threading.Event
python使用threading.Event可以使一个线程等待其他线程的通知,我们把这个Event传递到线程对象中,Event默认内置了一个标志,初始值为False。一旦该线程通过wait()方法进入等待状态,直到另一个线程调用该Event的set()方法将内置标志设置为True时,该Event会通知所有等待状态的线程恢复运行。python线程的事件Event用于主线程控制其他线程的
2017-08-02 10:36:35
1420
原创 如何判断一个正整数是否是2的乘方
实现一个方法,判断一个正整数是否是2的乘方(比如16是2的4次方,返回True;否则返回False)方法一:从1开始循环乘以2,直到结果第一次大于或者等于目标值,如果相等,则放回True,如果大于,则返回False方法二:使用该数循环除以2,如果最终商是1并且余数是0,则返回True;循环中一旦出现余数不为0,则返回False方法三:借助位运算如果该数是2的乘方,则该数的二进制表示
2017-07-25 15:40:25
2827
转载 UML类图与类的关系详解
转载地址:http://www.uml.org.cn/oobject/201104212.asp在画类图的时候,理清类和类之间的关系是重点。类的关系有泛化(Generalization)、实现(Realization)、依赖(Dependency)和关联(Association)。其中关联又分为一般关联关系和聚合关系(Aggregation),合成关系(Composition)。下面我们结
2017-07-03 11:24:18
313
原创 一周一篇之three
问题描述:有个高度为10级台阶的楼梯,从下往上走,每跨一步只能向上1级或者2级台阶。要到达最上面问一共有多少种走法?问题分析:解法一:穷举法(该方法往往不是最有效,但往往是最直接的解决问题的方法)解法二:动态规划法目标要想找到到达从0阶到10阶,那么最后的一步要么是从第8阶到第10阶,要么是从第9阶到第10阶,于是将问题转化为两部分之和:(1) 从0阶到第8阶的方法
2017-06-26 18:25:43
407
原创 一周一篇之two
ProblemOne day, you received a chat message from afriend in WeChat. He just published a message in WeChat's Circles, and wantedyou to help him to get thumbs-up as much as possible. You decide to enc
2017-06-26 09:58:58
378
原创 一周一篇之one
问题描述:VOS声控开关是一种很灵活的小设备,它的一边是插头,可以插到插座里;另一边是一个插座可以插一盏灯或者另一个VOS开关。当VOS开关接通之后,它从插头获取电能,同时可以输出到插座里。当你打响指的时候 – 发出嗒声-- 通了电的VOS开关会在‘接通’和‘关闭’之间切换。抱着通过一个奇点来毁灭整个宇宙的希望,我买了 N 个VOS开关,把它串了起来,第一个开关插入插座,第二个开关插到
2017-06-21 13:27:07
510
原创 python调试器pdb
C/C++ 语言拥有调试工具gdb,同样对于高级语言Python,也有自己的调试利器pdb。下面简单结合例子介绍pdb有如下的python文件:example.py#!/usr/bin/python#-*- coding:utf-8 -*-import jsondef main(): with open("/root/test/1.json") as f:
2017-05-08 14:28:21
795
原创 python threading中的join和setDaemon方法
python 多线程的threading中的join和setDaemon方法join():通俗的将就是阻止子线程随着主线程的结束而结束setDaemon():设置子线程是否随着主线程的结束而结束, 其中:setDaemon(True) : 设置子线程随着主线程的结束而结束setDaemon(False) 等价于join() :设置子线程不随着主线程的结束而结束#!/
2017-05-02 14:44:26
947
原创 python多线程
一般来说,python使用线程有两种模式:A 创建线程要执行的函数,把这个函数传递进Thread对象里,让它来执行;B 继承Thread类,创建一个新的class,将要执行的代码 写到run函数里面。A方法:#!/usr/bin/python# -*- coding: utf-8 -*-import threading,timedef test(loop, sec):
2017-05-02 14:19:47
442
原创 top命令
top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况序号 列名 含义a PID 进程idb PPID 父进程idc RUSER Real user named UID 进程所有者的用户ide USER 进程所有者的用户名f GROUP 进程所有者的组名
2017-04-14 17:03:56
337
原创 rpm常用的命令
--help查询[root@hzclov51 ~]# rpm --helpUsage: rpm [OPTION...] --quietQuery/Verify package selection options: -a, --all query/verify all packages -f, --file
2017-03-28 10:50:55
2464
转载 LVM-逻辑盘卷管理简介
很不错的一篇针对LVM介绍的文章转载地址:http://www.cnblogs.com/mchina/p/linux-centos-logical-volume-manager-lvm.html
2017-03-20 17:19:54
820
原创 tar命令几个常用参数解读
tar命令几个常用参数解读:-c或--create:建立新的备份文件; -x或--extract或--get:从备份文件中还原文件;-t或--list:列出备份文件的内容; -f或--file=:指定备份文件; -v或--verbose:显示指令执行过程;-z或--gzip或--ungzip:通过gzip指令处理备份文件; -j:支持bzip2解压文件;举例说明
2017-03-20 14:27:24
7797
原创 setfacl和getfacl有何用处
Linux下一切皆文件,使用ll -ai可以查询文件的详细信息[shayu@hzclov51 ~]$ ll -aitotal 7211265 drwx------ 4 shayu shayu 4096 Mar 9 18:13 . 8005 drwxr-xr-x. 4 root root 4096 Mar 9 17:40 ..11274 -rw-rw-r-- 1
2017-03-13 11:06:25
1114
原创 Linux文件种类和权限
Linux下一切皆文件,使用ll -ai可以查询文件的详细信息[shayu@hzclov51 ~]$ ll -aitotal 7211265 drwx------ 4 shayu shayu 4096 Mar 9 18:13 . 8005 drwxr-xr-x. 4 root root 4096 Mar 9 17:40 ..11274 -rw-rw-r-- 1
2017-03-13 10:59:47
629
原创 入门学习go语言的网址
1、菜鸟教程,很基础适合初学者:http://www.runoob.com/go/go-tutorial.html2、带线上编译器的教程:https://tour.go-zh.org/welcome/1
2017-03-08 14:37:44
390
原创 cgroups 介绍
cgroups详解:http://files.cnblogs.com/files/lisperl/cgroups%E4%BB%8B%E7%BB%8D.pdfhttps://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Resource_Management_Guide/ch01.ht
2017-03-08 14:20:52
2530
原创 为什么要学习go语言
http://www.tiobe.com/tiobe-index//TIOBE Index for February 2017February Headline: Educational language Scratch enters TIOBE index top 20The Scratch programming language from MIT Media Lab has
2017-03-07 17:41:09
677
原创 关于字节对齐、结构体偏移地址、字位段问题的例子程序说明
#include #include #include #include using namespace std;int main(){ struct a { int a1; char a2[3]; int a3; }*p;//占12字节 p = (struct a *)0X1000; //几种数
2014-03-04 15:53:46
1180
原创 如何求由已知字符串产生的N个字符串的第M个字符串
/************************************************************************1、输入一个字符串(字符串个数为N)2、由已知字符串产生N-1个字符串,产生规则如下: 将第i个字母之前的所有i - 1个字母整体移到末尾3、加上原来的字符串总共N个,输出这N个字符串中最小的一个(字符串的大小按字典顺序排列)例如:“
2014-02-22 20:01:52
937
原创 如何求一组数的逆序数
/***求一组数的逆序数*方案一(1)对数组中的每个数计算逆序数,之后再加和,得出整个数组的逆序数,复杂度O(n^2)*方案二(2)借助归并排序的思想求解*/#include #include int compute1(int *begin, int *end){ int *p, *q; int sum1, sum = 0; for(p = begin;
2014-01-18 09:59:24
2154
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人