技术

搭建Harbor镜像仓库(docker)

July 30, 2018

Harbor的特点多租户内容签名和验证、安全和漏洞分析、审核日志记录、身份集成和基于角色的访问控制、实例之间的映像复制、可扩展的API和图形用户界面、国际化(目前是英文和中文)
系统:centos7.5
docker-ce version:18.06.0-ce
docker-compose:version 1.22.0
harbor:version 1.5.2
网上的文章中有很多坑,所以就有了这篇文章

第一步安装docker,请参考http://docs.xiz.im/700399

第二步安装docker-compose
我觉得有必要讲一下docker-compose的安装,因为git的话会因为网络问题经常失败...所以建议使用一下办法安装

yum -y install epel-release
yum -y install python-pip
pip install docker-compose
#查看版本
docker-compose -version

第三步安装harbor
harbor建议用离线包安装,但是被墙了....于是下完后我放度盘了(记得对比MD5)
由于文章发布的时候最新版本是v1.5.2,往后更新的版本我也放到了度盘中提供下载,v1.6或以上版本本文章不具有参考价值!
链接:https://pan.baidu.com/s/1Vbx5YAasnmrH2xOVHU7svQ 密码:ma19
https://github.com/vmware/harbor/releases/tag/v1.5.2

tar xvf harbor-offline-installer-v1.5.2.tgz
cd harbor
#修改配置文件
vi harbor.cfg
sh install.sh

第四步配置SSL

#注意:需要先在harbor.cfg中开启SSL
mkdir -p /data/cert && cd /data/cert
openssl genrsa -out ca.key 2048
openssl req -x509 -new -nodes -key ca.key -days 10000 -out ca.crt -subj "/CN=Harbor-CA"
openssl req -newkey rsa:4096 -nodes -sha256 -keyout server.key -out server.csr
echo subjectAltName = IP:x.x.x.x > extfile.cnf
openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -days 365 -extfile extfile.cnf -out server.crt
#部署reg-docker证书
mkdir -p /etc/docker/certs.d/x.x.x.x
cp ca.crt /etc/docker/certs.d/x.x.x.x/
#把CA证书复制到需要使用这个镜像的主机中,需要先在那台主机上创建目录
scp ca.crt [email protected]:/etc/docker/certs.d/x.x.x.x/ca.crt
#为Harbor生成配置文件
cd ~/harbor/
./prepare
#重启docker
service docker restart
#开启
docker-compose up -d

harbor.png
webgui.png

技术

容器中开启SSH服务(docker centos7.3)

July 27, 2018

进入容器后执行

yum -y update
yum -y openssl openssh-server screen -y

创建证书

ssh-keygen -q -t rsa -b 2048 -f /etc/ssh/ssh_host_rsa_key -N ''  
ssh-keygen -q -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N ''
ssh-keygen -t dsa -f /etc/ssh/ssh_host_ed25519_key -N '' 

编辑配置

vi /etc/ssh/sshd_config
#如图配置,注意UsePAM 是不用修改的!!!!

t1.png
t2.png
启动SSH

screen -S ssh
/usr/sbin/sshd -D
#ctrl+a+d退出

然后就大功告成!

技术

Centos7.5下部署私有Rainbond(Docker容器管理工具)

July 26, 2018

Rainbond是什么
Rainbond(云帮)是由 北京好雨科技有限公司 自主研发的一款以应用为中心的开源PaaS。
Rainbond深度整合了基于Kubernetes的容器管理、Service Mesh微服务架构最佳实践、多类型CI/CD应用构建与交付、多数据中心资源管理等技术,为用户提供云原生应用全生命周期解决方案,构建应用与基础设施、应用与应用、基础设施与基础设施之间互联互通的生态体系,满足支撑业务高速发展所需的敏捷开发、高效运维和精益管理需求。

官方文档:http://www.rainbond.com/docs/stable/getting-started/before-installation.html

目前Rainbond版本已经更新到5.1.5版本,安装请参考官方文档:https://www.rainbond.com/docs/quick-start/rainbond_install/

本文将部署一个master和一个node服务器,服务器网络配置请务必使用静态!
Rainbond版本:v3.6.1
我这边是demo环境用的是centos7.5(官方推荐centos7.3)
demo-master1配置:16核,8G内存,60G硬盘(因为母鸡没空间了)

1.安装前的准备

yum update
yum makecache
#htop安装
yum install epel-release -y
yum install htop -y
yum install git -y
#centos7.5最小版自带curl,所有不用安装

2.开始安装

# git clone
git clone --depth 1 -b v3.6 https://github.com/goodrain/rainbond-install.git
# 或者下载压缩包
yum install wget -y
wget https://github.com/goodrain/rainbond-install/archive/v3.6.zip
unzip v3.6.zip
# 克隆或解压后,切换到云帮安装目录
cd rainbond-install*
# 执行安装命令
./setup.sh install
# 完成安装后可通过访问管理控制台,默认第一个注册用户为平台管理员
http://<your ip>:7070





- 阅读剩余部分 -

技术

mysql5.6安装与主从配置

July 19, 2018

安装mysql5.6
yum -y update
yum install wget -y
wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm
yum install mysql-community-server -y
chgrp -R mysql /var/lib/mysql
chmod -R 770 /var/lib/mysql
service mysql restart

主服务器配置
关闭防火墙
systemctl stop firewalld && systemctl disable firewalld
编辑vi /etc/my.cnf,添加下面
[mysqld]
server-id = 1
log_bin = master-bin
log_bin_index = master-bin.index
binlog_do_db = my_data #需要做同步的数据库名称
binlog_ignore_db = mysql

mysql -u root
mysql>grant replication slave on . to '用户名' @'10.140.10.%' identified by '密码';
service mysql restart
mysql> show master status;

从服务器配置
关闭防火墙
systemctl stop firewalld && systemctl disable firewalld
编辑vi /etc/my.cnf,添加下面
[mysqld]
server-id = 2
relay-log = slave-relay-bin
relay-log-index = slave-relay-bin.index

service mysql restart
mysql -u root
mysql>change master to master_host='10.140.10.101',master_port=3306,master_user='用户名',master_password='密码',master_log_file='master-bin.000001',master_log_pos=120;
mysql>start slave;
mysql>show slave statusG
mysql.png