
📅 2017-01-13
安装Kubernetes Dashboard
#
Kubernetes Dashboard是Kubernetes集群的图形管理界面。

默认安装参考 kubernetes-dashboard github上的说明。
查看Dashboard插件是否已经安装:
1kubectl get pods --all-namespaces | grep dashboard
如果没有安装,使用如下命令安装最新的稳定版:
1kubectl create -f https://rawgit.com/kubernetes/dashboard/master/src/deploy/kubernetes-dashboard.yaml
kubernetes-dashboard.yaml这个文件中kubernetes-dashboard镜像的pull策略imagePullPolicy: Always
,每次重启时都会去pull镜像,可将策略修改成IfNotPresent。
...
📅 2017-01-12
kubernetes是Google开源的基于Docker的容器集群管理系统,是谷歌内部大规模集群管理系统Borg的开源版本。
kubernetes基于Borg集群软件模型,其诱人之处在于该模型经过了Google庞大数据中心的校验。
本文主要介绍在CentOS7上使用kubeadm搭建一个用于开发和学习的单机环境。
...📅 2017-01-10
Mesos是Apache开源的分布式集群管理器,和Google的集群管理系统Borg类似,负责在集群层面管理任务的编排工作。
Mesos将所有资源汇聚到一个单独的资源池中以避免静态划分,通过在多种框架之间动态共享资源来优化资源的使用率。
通过Mesos,我们可以把整个数据中心当作一台的机器来使用,Mesos可以看作是数据中心的内核。
...📅 2017-01-08
firewalld
#
firewalld是CentOS上的第四代防火墙(ipfwadm-ipchains-iptables-firewalld),CentOS 7将其作为系统默认的防火墙。
firewalld替换了原来的iptables并提供防火墙规则动态更新,即在更改规则时不需要重启服务,同时又增加了一个“区域”的概念。
...📅 2017-01-06
生成自签名证书
#
因为没有公网ip和域名,所以这里修改/etc/pki/tls/openssl.cnf以生成带SAN 扩展的证书。
在openssl.cnf文件中修改以下内容:
1[ v3_ca ]
2#指定ip
3subjectAltName=IP:192.168.61.100
创建证书目录:
...📅 2017-01-05
查看yum,rpm包安装的文件
#
可以使用repoquery,需要先安装yum-utils
:
1yum install -y yum-utils
1repoquery --installed -l ntp
2/etc/dhcp/dhclient.d
3/etc/dhcp/dhclient.d/ntp.sh
4/etc/ntp.conf
5/etc/ntp/crypto
6/etc/ntp/crypto/pw
7/etc/sysconfig/ntpd
8/usr/bin/ntpstat
9......
也可以使用rpm命令:
在rpm包安装之前可以提前查看rpm包中的文件:
...📅 2017-01-02
进程的状态
#
进程是Linux系统结构的基础,进程简单的理解就是一段程序的执行过程。系统的每一个进程会有不同的状态。
Linux源码中对进程状态的定义fs/proc/array.c:
1static const char * const task_state_array[] = {
2 "R (running)", /* 0 */
3 "S (sleeping)", /* 1 */
4 "D (disk sleep)", /* 2 */
5 "T (stopped)", /* 4 */
6 "t (tracing stop)", /* 8 */
7 "X (dead)", /* 16 */
8 "Z (zombie)", /* 32 */
9};
系统进程状态包括:
...📅 2016-12-20
从Go 1.7 runtime包理解Golang GC
#
Go也是垃圾回收的,实现方式和别的语言不太一样。
先从Go的标准库的runtime包说起,这个包有很多运行时相关的类型和函数。
调用runtimea.GC()可以触发GC,但我们一般不会这么做,先读一下这个函数的注释说明。
1GC runs a garbage collection and blocks the caller until the garbage collection is complete.
2It may also block the entire program
大概的意思是,Go的GC触发时会阻塞整个程序的运行。这个在垃圾回收里面有一个比较有名的名词叫STW,Stop the World。就是说程序在GC时“整个世界会停止下来”。
Go垃圾回收的STW一直是Go语言被指责和诟病最多的地方,也是Go的每个版本都努力改进的地方。
...📅 2016-12-11
MySQL日志类型
#
- 错误日志(Error log): mysqld启动,运行,停止相关的警告或错误信息
- 普通查询日志(General query log): 记录从连接客户端发出的SQL语句和MySQL命令
- 二进制日志(Binary log): 对数据库执行更新的语句,二进制日志也被用来在主从复制时使用
- 中继日志(Relay log): 主库推送的主库二进制日志中的事件到从库的中继日志,从库根据中继日志重做数据变更操作
- 慢查询日志(Slow query log): 执行时间超过long_query_time设定值的SQL语句,也可包含没有使用索引的SQL语句
- DDL log (metadata log): Metadata operations performed by DDL statements
错误日志
#
MySQL的错误日志是默认开启,且必须开启。查看错误日志的位置:
...📅 2016-12-08
关于leader的选举,Zookeeper提供了三种方式:LeaderElection, AuthFastLeaderElection, FastLeaderElection。
其中FastLeaderElection是Zookeeper默认使用的。
当ZK服务启动的时候首先要做的事情就是Leader的选举。在选举过程中,每个zk server会有以下四种选举状态:
...