主机环境
pw 4核8G 系统盘600GB*1 管理网卡:ens33 192.168.1.15 浮动IP网络:ens34 dhcp
2. 系统版本
CentOS-7-x86_64-Minimal-2009.iso
3. 选择
最小化->英文->标准安装
4. 分区
/boot 1000M 其余/
5. 设置主机名
hostnamectl set-hostname pw
6. 安装常用软件包
yum install vim wget net-tools yum-utils -y
7. 关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service
firewall-cmd --state
8. 关闭selinux
sed -i '/^SELINUX=.*/c SELINUX=disabled' /etc/selinux/config
sed -i 's/^SELINUXTYPE=.*/SELINUXTYPE=disabled/g' /etc/selinux/config
grep --color=auto '^SELINUX' /etc/selinux/config
setenforce 0
9. 主机名:
echo "
192.168.1.15 pw.zixuanyun.com
">>/etc/hosts
10. 配置ssh
sed -i 's/#ClientAliveInterval 0/ClientAliveInterval 60/g' /etc/ssh/sshd_config
sed -i 's/#ClientAliveCountMax 3/ClientAliveCountMax 60/g' /etc/ssh/sshd_config
sed -i '/^#UseDNS/s/#UseDNS yes/UseDNS no/g' /etc/ssh/sshd_config
systemctl restart sshd && systemctl status sshd
11. 配置yum镜像仓库
yum-config-manager --add-repo http://mirrors.163.com/.help/CentOS7-Base-163.repo
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
12. 安装epel
yum install epel-release -y
yum clean all && yum makecache fast
13. 安装基础软件包
yum install device-mapper-persistent-data lvm2 -y
14. 安装docker
yum list docker-ce --showduplicates|sort -r #查询docker的版本
yum install docker-ce-19.03.8 -y #安装指定版本
15. 配置加速
mkdir -p /etc/docker
tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://3wk75oh9.mirror.aliyuncs.com"]
}
EOF
16. 启动docker服务
systemctl daemon-reload && systemctl enable docker && systemctl restart docker && systemctl status docker
17. 安装docker-compose服务
curl -L https://github.com/docker/compose/releases/download/1.27.4/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose #下载指定的安装包
18. 将下载后的文件放到 /usr/local/bin 目录下,并添加执行权限
chmod +x /usr/local/bin/docker-compose
19. 查看版本
docker-compose -version
20. 下载harbor软件包
wget https://github.com/goharbor/harbor/releases/download/v2.4.1/harbor-offline-installer-v2.4.1.tgz
21. 解压到指定的目录
tar xvf harbor-offline-installer-v2.4.1.tgz -C /home/ && cd /home/harbor/
22. 修改harbor.yml配置文件
mv harbor.yml.tmpl harbor.yml #修改文件名
#查看修改
cat harbor.yml
.....
.....
# DO NOT use localhost or 127.0.0.1, because Harbor needs to be accessed by external clients.
hostname: 盘位,zixuanyun.com ##########修改域名
########### 关闭http访问方式
#http: ##########该行注释掉
# port for http, default is 80. If https enabled, this port will redirect to https port
#port: 80 ##########改行注释掉
########### 打开https访问方式
# https related config
https:#########取消注释
# # https port for harbor, default is 443
port: 443 #########取消注释
# # The path of cert and key files for nginx
certificate: /home/harbor/certs/harbor.crt #########取消注释,填写实际路径
private_key: /home/harbor/certs/harbor.key #########取消注释,填写实际路径
.....
.....
# Remember Change the admin password from UI after launching Harbor.
harbor_admin_password: admin123 ######### admin用户登入密码
# Harbor DB configuration
database:
# The password for the root user of Harbor DB. Change this before any production use.
password: root123 ######### 数据库密码
# The default data volume
data_volume: /home/harbor/data #########目录自己创建,根据实际情况填写
如下图:
23. 创建存放数据目录
mkdir /home/harbor/data
mkdir -p /home/harbor/certs /home/harbor/data
24. 使用openssl创建自签证书并生成证书,并保存到 /home/harbor/certs 目录下
mkdir /home/harbor/certs
openssl req -newkey rsa:4096 -nodes -sha256 -keyout /home/harbor/certs/harbor.key -x509 -out /home/harbor/certs/harbor.crt -subj /C=CN/ST=BJ/L=BJ/O=DEVOPS/CN=pw.zixuanyun.com -days 3650
# 表达意思
req 产生证书签发申请命令
-newkey 生成新私钥
rsa:4096 生成秘钥位数
-nodes 表示私钥不加密
-sha256 使用SHA-2哈希算法
-keyout 将新创建的私钥写入的文件名
-x509 签发X.509格式证书命令。X.509是最通用的一种签名证书格式。
-out 指定要写入的输出文件名
-subj 指定用户信息
-days 有效期(3650表示十年)
25. 查看证书
ls /home/harbor/certs
如下:
harbor.crt harbor.key
26. 启动harbor服务
./install.sh #运行启动脚本
27. 添加本地域名解析访问 #目录位置C:\Windows\System32\drivers\etc\hosts 记事本打开 新增 192.168.1.15 pw.zixuanyun.com 的解析记录
28. 访问 #https://pw.zixuanyun.com/ 或者 https://192.168.1.15:80 用户名 admin 密码 admin123
29. 创建用户
30. 创建项目 项目名 kolla
31. 添加访客
31. 添加仓库地址
vi /etc/docker/daemon.json
{
"registry-mirrors": ["https://3wk75oh9.mirror.aliyuncs.com"],
"insecure-registries": ["https://pw.zixuanyun.com"]
}
32. 重启docker服务
systemctl daemon-reload && systemctl restart docker && systemctl status docker
# 其他服务器登入镜像仓库,默认管理员用户名:admin 密码:admin123
# 登入地址
# 详细登入方式:docker login -u 用户 -p 密码 服务器IP:端口
docker login https://pw.zixuanyun.com
输出如下:
# 默认管理员用户名:admin 密码:admin123
Username: admin
Password:
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store
Login Succeeded
如图:
33. 重启harbor服务
cd /home/harbor/
docker-compose stop
systemctl stop docker
systemctl daemon-reload
systemctl start docker
docker-compose start
如图
#方法1:
下载镜像到本地
docker pull kolla/centos-source-almanach-api:train
给镜像打tag标签
docker tag kolla/centos-source-almanach-api:train pw.zixuanyun.com/kolla/centos-source-almanach-api:train
推送镜像到harbor下的kolla项目目录下
docker login https://pw.zixuanyun.com admin admin123
docker push pw.zixuanyun.com/kolla/centos-source-almanach-api:train