- 使用SaltStack进行基础设施自动化
- 使用NFS/Ceph进行数据存储
- 使用Helm管理所有应用
- 使用OpenLDAP进行统一认证和登录
- 集成Redmine、Gitlab、Jenkins、SonarQube、Nexus、OpenLDAP
- 目前测试通过系统CentOS 7.4,Kubernetes版本v1.10.3
- 请参考自动化的部署https://github.com/unixhot/salt-kubernetes
- 三台虚拟机建议的最小内存是4G,内存过低会导致Pod无法调度。
- DevOps-X会安装CoreDNS、Dashboard、Heapster、Ingress,只需要部署好Kubernetes集群即可。
- 目前在Helm中配置的镜像地址为registry.devopsedu.com,所以需要在所有节点设置hosts解析。
[root@linux-node1 ~]# vim /etc/hosts
192.168.56.11 registry.devopsedu.com
[root@linux-node2 ~]# vim /etc/hosts
192.168.56.11 registry.devopsedu.com
[root@linux-node3 ~]# vim /etc/hosts
192.168.56.11 registry.devopsedu.com
所有的镜像均放置在了百度云盘,大小2.33G,解压后大小5~6G,请确认好磁盘空间。至少需要20G的可用磁盘容量。
下载地址: https://pan.baidu.com/s/1V2ZFsj36tjn7ONee4_WgFw
[root@linux-node1 devops-x]# vim config/devopsx.conf
#NFS server IP 目前仅支持把NFS启动在Master节点,可以自行修改。
nfs_server=192.168.56.11
#NFS client IP range 设置NFS访问权限
nfs_client="192.168.56.0/24"
#treafik node IP #设置再哪个节点上启动Treafik,多个节点执行设置label即可。
edgenode="192.168.56.12"
[root@linux-node1 ~]# cd devops-x
[root@linux-node1 devops-x]# ./install.sh deploy
由于使用了Ingress,所以需要配置的hosts解析,实际生产使用,请绑定DNS。 将192.168.56.12 替换为edgeNode IP。 C:\Windows\System32\drivers\etc\hosts
192.168.56.12 jenkins.devopsedu.com
192.168.56.12 sonar.devopsedu.com
192.168.56.12 gitlab.devopsedu.com
192.168.56.12 nexus.devopsedu.com
192.168.56.12 redmine.devopsedu.com
192.168.56.12 ldapadmin.devopsedu.com
查看安装的应用
[root@linux-node1 ~]# helm ls
查看访问详情,可以根据输出,获取访问的用户名和密码。
[root@linux-node1 ~]# helm status redmine
- 创建一个Group:devops
- 创建一个Project: devops-demo
- 张三 用户名:zhangsan-dev [email protected] 开发工程师
- 李四 用户名:lisi-master [email protected] 开发经理
- 将张三分配到devops-demo项目,角色Developer
- 将李四分配到devops-demo项目,角色Master
- 拉取代码并编写,上传代码。
- 启用Deploy Key