引言
最近在搭建 Kubernetes 1.14 版本,过程中涉及各种组件的安装配置,所以打算通过脚本自动化的部署配置这些组件,本文主要描述在 CentOS 7上通过Shell脚本自动化安装Harbor,上一篇是7月5号写的,又偷懒了十多天。
自动化脚本导航
环境搭建-CentOS 7上通过脚本自动化部署JDK 8
环境搭建-CentOS 7上通过Shell脚本自动化修改机器名并配置静态IP
环境搭建-CentOS 7上通过Shell脚本自动化配置免密登录
环境搭建-CentOS 7上通过Shell脚本自动化安装Harbor
自动化脚本
安装 Harbor 的步骤在这里不做详细列出,具体可参看笔者的这篇文章-环境搭建-CentOS下安装Harbor镜像仓库,本文和这篇文章的不同之处在于 Harbor 的版本,本文采用的是1.8.1,之前使用的是1.5.1,最大的不同是配置文件的不同,详细可以参看 GitHub 中 release 介绍,配置文件由之前的 harbor.cfg 变更为 harbor.yml:
详细的脚本如下:
#!/bin/bash
basedir="/usr/local"
# 设置下载源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
curl -o /etc/yum.repos.d/CentOS-Base-Ali.repo http://mirrors.aliyun.com/repo/Centos-7.repo
curl -o /etc/yum.repos.d/CentOS-Base-163.repo https://mirrors.163.com/.help/CentOS7-Base-163.repo
curl -o /etc/yum.repos.d/Docker-ce-Ali.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum makecache
# 安装Docker
yum -y install docker-ce-18.09.1-3.el7
# 启动 Docker 并设置开机启动
systemctl start docker && systemctl enable docker
# 安装 docker compose
sudo curl -L https://github.com/docker/compose/releases/download/1.24.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
wget https://storage.googleapis.com/harbor-releases/release-1.8.0/harbor-offline-installer-v1.8.1.tgz
tar zxvf harbor-offline-installer-v1.8.1.tgz -C $basedir
# 修改 harbor 配置
sed -i "s/hostname: reg.mydomain.com/hostname: 192.168.70.13/g" $basedir/harbor/harbor.yml
$basedir/harbor/install.sh
# 关闭防火墙
systemctl stop firewalld.service && systemctl disable firewalld.service