目录
1. CloudIaC的简介
CloudIaC是由云霁科技
开发的一个开源项目,该项目提出了『环境即服务』的理念,可以通过组织、项目、云模板、环境等管理维度,精确的授权用户对环境的管理权限,让用户可以分配不同的角色对不同项目下的不同环境进行管理;同时,CloudIaC将Terraform和Ansible进行了打通,让我们可以在资源创建出来之后自动调用Ansible的playbook来完成应用的自动部署。
除了在公有云环境下帮助管理IaC环境,CloudIaC还为私有云、混合云环境下使用Terraform提供了解决方案,除了使用公有云平台提供的Provider之外,针对私有云、专有云、VMware、PaaS等服务,CloudIaC也针对相应场景提供Provider支持;为了让企业内部私有化部署且因为安全因素不能访问外网的场景,CloudIaC还提供了私有的Provider Registry,通过在企业内部部署Provider Registry,让私有化部署场景下也可以顺畅的使用IaC管理我们的环境。
官方链接:
https://cloudiac.idcos.com/
2. 部署安装
//操作系统
[root@localhost ~]# cat /etc/redhat-release
CentOS Linux release 8.4.2105
//配置yum源
[root@localhost ~]# curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
[root@localhost ~]# yum clean all && yum makecache
2.1 下载并解压安装包
[root@localhost ~]# cat install.sh
VERSION=v0.9.1
mkdir -p /usr/yunji/cloudiac && \
cd /usr/yunji/cloudiac && \
for PACK in cloudiac cloudiac-repos cloudiac-providers; do
curl -sL https://github.com/idcos/cloudiac/releases/download/${VERSION}/${PACK}_${VERSION}.tar.gz -o ${PACK}_${VERSION}.tar.gz && \
tar -xf ${PACK}_${VERSION}.tar.gz
done
[root@localhost ~]# bash -x install.sh
[root@localhost ~]# cd /usr/yunji/cloudiac/
[root@localhost cloudiac]# ls
assets config-portal.yml.sample demo-conf.yml.sample iac-tool
cloudiac-providers_v0.9.1.tar.gz config-runner.yml.sample dotenv.sample repos
cloudiac-repos_v0.9.1.tar.gz ct-runner iac-portal
cloudiac_v0.9.1.tar.gz ct-runner.service iac-portal.service
2.2 安装并启动Docker
[root@localhost ~]# curl -fsSL https://get.docker.com | bash -s docker
[root@localhost ~]# systemctl enable --now docker.service
2.3 安装并启动Mysql
[root@localhost ~]# yum install -y https://repo.mysql.com/mysql57-community-release-el7.rpm
[root@localhost ~]# yum install -y mysql-server
[root@localhost ~]# systemctl enable --now mysqld
2.4 安装并启动 Consul
[root@localhost ~]# yum install -y yum-utils
[root@localhost ~]# yum-config-manager --add-repo https://rpm.releases.hashicorp.com/RHEL/hashicorp.repo
[root@localhost ~]# yum -y install consul
[root@localhost ~