MongoDB基本命令

MongoDB是NoSQL数据库系统中比较流行的数据库之一。它也是最接近关系型数据库的,一个数据库可以包含多个集合(Collection),类似于关系数据库中的表;而每个集合中可以存储一组由列标识的记录,列是可以自由定义的,非常灵活,这就类似于关系数据库表中的每一条记录。下面和大家一起熟悉下MongoDB的基本管理命令。 Continue reading "MongoDB基本命令"

Send mail in CentOS7

1、配置
vim /etc/mail.rc

文件尾增加以下内容

说明:
from: 对方收到邮件时显示的发件人
smtp: 指定第三方发送邮件的smtp服务器地址
smtp-auth: SMTP的认证方式。默认是LOGIN,也可改为CRAM-MD5或PLAIN方式
smtp-auth-user: 第三方发邮件的用户名
smtp-auth-password: 用户名对应密码 Continue reading "Send mail in CentOS7"

Redis集群水平扩展(一)

Redis分布式方案一般有两种

1、客户端分区,优点是分区逻辑可控,缺点是需要客户端处理数据路由、高可用、故障转移等。

2、代理方案,优点是简化客户端逻辑和升级,缺点是加重架构复杂性和性能损耗。

Redis Cluster是官方提供的分布式解决方案,从3.0版本正式推出,和以上两种方案都不太一样,采用了虚拟槽分区,分区方式采用了hash分区,它并没有使用一致性hash(增减节点会导致部分数据无法命中,当使用少量节点时节点变化会导致影响数据映射),而是使用改进的一致性hash-虚拟槽方式分区。Redis Cluster使用了 16384 个虚拟槽,槽被分配给节点管理。

Continue reading "Redis集群水平扩展(一)"

Kubernetes资源申请及限制

任何的Kubernetes运行容器都应该设置资源的申请。限制的设定需要根据业务情况决定,防止容器无限制地消耗资源影响同一节点上的其他容器。资源申请及限制示例:

Continue reading "Kubernetes资源申请及限制"

Docker 空间使用分析与清理

摘要:用户在使用 Docker 部署业务一段时间后,可能会发现宿主节点的磁盘容量持续增长,甚至将磁盘空间耗尽进而引发宿主机异常,进而对业务造成影响。 本文先对 Docker 的空间分析与清理进行说明,然后对容器的磁盘容量限制与使用建议做简要说明。

典型问题场景

用户发现 Docker 宿主机的磁盘空间使用率非常高。通过 du 逐层分析,发现是 Volumeoverlay2 等目录占用了过高空间。示例如下: 

Continue reading "Docker 空间使用分析与清理"

Ubuntu16.04安装Kubernetes集群

准备工作

规划是使用两台服务器安装kubernetes集群,分别为:kube-1、kube-2。

修改ubuntu国内镜像源

我们这里使用阿里云的镜像,修改 /etc/apt/sources.list 为:

添加kubernetes包仓库

并且执行以下命令安装kubernetes的软件源,参考:https://opsx.alibaba.com/mirror

Continue reading "Ubuntu16.04安装Kubernetes集群"

解决非root用户使用docker的办法

通常我们使用Docker的时候都是使用的root,官方说法如下:

The docker daemon binds to a Unix socket instead of a TCP port. By default that Unix socket is owned by the user root and other users can access it with sudo. For this reason, docker daemon always runs as the root user. 
To avoid having to use sudo when you use the docker command, create a Unix group called docker and add users to it. When the docker daemon starts, it makes the ownership of the Unix socket read/writable by the docker group.

下面是使用非root用户操作的步骤:

1、创建docker组

2、将当前用户加入docker组

3、重新启动docker服务(下面是CentOS7的命令)

4、当前用户退出系统重新登陆

Continue reading "解决非root用户使用docker的办法"