项目使用k8s进行容器编排,通过rancher对k8s进行页面化管理,最后通过nginx和ldap实现rancher的统一访问和接口代理。
实现目标:
1、通过docker-compose安装rancher
2、通过rancher管理k8s集群
3、通过nginx应rancher进行反向代理
4、通过ldap对接rancher实现统一账户认证
实现过程:
1、通过docker-compose安装rancher
1.1、编列docker-compose文件docker-compose.yaml
version: '3'
services:
rancher:
image: 'rancher/rancher:v2.6.3' #镜像文件
privileged: true #容器以root用户运行
restart: always #容器重启策略:总是自动重启
container_name: rancher #容器名称
volumes: #磁盘挂载,本地:容器内
- ./data:/var/lib/rancher
- /etc/resolved.conf:/etc/resolved.conf
ports:
- 10080:80 #端口映射,本地:容器内
- 10443:443
environment: #时区
- TZ=Asia/Shanghai
1.2、以docker-compose启动容器
#构建容器,构建后自动启动
docker-compose up -d
#清理,容器将被删除
docker-compose down
#停止,容器会被停止,不会被删除
docker-compose stop
#启动
docker-compose start
2、通过rancher管理k8s集群
2.1、登录rancher页面
2.2、按照提示在服务器中执行命令,获取初始密码,登录后修改密码
#查看初始密码
docker logs rancher 2>&1 | grep "Bootstrap Password:"
#密码忘记时,可通过如下命令初始化密码
docker exec -it rancher reset-password