docker部署rancher
- rancher
- 2024-11-07
- 32热度
- 0评论
Rancher 可以通过运行单个 Docker 容器进行安装。
Rancher 特权访问
当 Rancher Server 部署在 Docker 容器中时,容器内会安装一个本地 Kubernetes 集群供 Rancher 使用。为 Rancher 的很多功能都是以 deployment 的方式运行的,而在容器内运行容器是需要特权模式的,因此你需要在安装 Rancher 时添加 --privileged
选项。
rancher不使用证书,使用nginx配置的证书
如果你安装 Rancher,不要生成证书。此安装选项不需要证书。
- 使用
--no-cacerts
作为参数,以禁用 Rancher 生成的默认 CA 证书。
容器数据本地化存储:
mkdir /var/lib/rancher-v2.7.6
运行以下命令:
docker run -d --restart=unless-stopped \
--privileged \
--name rancher-v2.7.6 \
-p 10080:80 -p 10443:443 \
-v /var/lib/rancher-v2.7.6:/var/lib/rancher \
-e CATTLE_SYSTEM_DEFAULT_REGISTRY=registry.cn-hangzhou.aliyuncs.com \
registry.cn-hangzhou.aliyuncs.com/rancher/rancher:v2.7.6 \
--no-cacerts
CATTLE_SYSTEM_DEFAULT_REGISTRY为环境变量,为rancher默认镜像仓库,默认为dockerhub,在此设置为:
registry.cn-hangzhou.aliyuncs.com
安装nginx代理
配置nginx的yum源:
nginx官方文档 :https://nginx.org/en/linux_packages.html#RHEL
配置 /etc/yum.repos.d/nginx.repo 文件:
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
执行安装命令:
yum install yum-utils
yum-config-manager --enable nginx-stable
yum install nginx
配置https证书
server {
listen 80;
server_name rancher.k8s.net;
rewrite ^(.*) https://$server_name$1 permanent;
}
map $http_upgrade $connection_upgrade {
default Upgrade;
'' close;
}
server {
listen 443 ssl;
server_name rancher.k8s.net;
ssl_certificate ssl/rancher.k8s.net.pem;
ssl_certificate_key ssl/rancher.k8s.net.key;
### /etc/nginx/ssl
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
add_header Access-Control-Allow-Origin *;
location / {
proxy_pass https://127.0.0.1:10443;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Port $server_port;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_read_timeout 600s;
}
}
关于https证书,可以使用阿里云免费证书,或者在阿里云购买付费证书。