• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

server-chart: 本Chart基于 https://github.com/rancher/server-chart 修改,不支持Le ...

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

server-chart

开源软件地址:

https://gitee.com/rancher/server-chart

开源软件介绍:

Rancher Chart

本Chart基于 https://github.com/rancher/server-chart 修改,不支持LetsEncrypt、cert-manager提供证书,需手动通过Secret导入证书(导入方法见脚本结尾), 默认开启审计日志功能.

一、生成自签名证书或重命名权威认证证书

  • 仓库根目录有一键创建自签名证书脚本,会自动创建cacerts.pemtls.keytls.crt
--ssl-domain: 生成ssl证书需要的主域名,如不指定则默认为www.rancher.local,如果是ip访问服务,则可忽略;--ssl-trusted-ip: 一般ssl证书只信任域名的访问请求,有时候需要使用ip去访问server,那么需要给ssl证书添加扩展IP,多个IP用逗号隔开;--ssl-trusted-domain: 如果想多个域名访问,则添加扩展域名(TRUSTED_DOMAIN),多个TRUSTED_DOMAIN用逗号隔开;--ssl-size: ssl加密位数,默认2048;--ssl-date: ssl有效期,默认10年;--ca-date: ca有效期,默认10年;--ssl-cn: 国家代码(2个字母的代号),默认CN;使用示例:./create_self-signed-cert.sh --ssl-domain=www.test.com --ssl-trusted-domain=www.test2.com \--ssl-trusted-ip=1.1.1.1,2.2.2.2,3.3.3.3 --ssl-size=2048 --ssl-date=3650
  • 如果使用权威认证证书,需要重命名crt和key为tls.crttls.key

二、部署架构

1、内部ingress域名访问

通过集群内安装的ingress服务,使用七层域名转发来访问rancher server,请求流量将转发到rancher server容器的80端口。

  • 把服务证书和CA证书作为密文导入K8S

指定K8S配置文件路径
kubeconfig=

kubectl --kubeconfig=$kubeconfig create namespace cattle-system;kubectl --kubeconfig=$kubeconfig -n cattle-system \  create secret tls tls-rancher-ingress --cert=./tls.crt --key=./tls.key;kubectl --kubeconfig=$kubeconfig -n cattle-system \  create secret generic tls-ca --from-file=cacerts.pem;kubectl --kubeconfig=$kubeconfig -n kube-system create serviceaccount tiller;kubectl --kubeconfig=$kubeconfig create clusterrolebinding tiller \  --clusterrole cluster-admin --serviceaccount=kube-system:tiller;helm_version=`helm version |grep Client | awk -F""\" '{print $2}'`;helm --kubeconfig=$kubeconfig init --skip-refresh --service-account tiller \  --tiller-image registry.cn-shanghai.aliyuncs.com/rancher/tiller:$helm_version;
  • 安装
git clone -b v2.2.8 https://gitee.com/rancher/server-chart.gitkubeconfig=xxx.ymlhelm install --kubeconfig=$kubeconfig \    --name rancher \    --namespace cattle-system \    --set rancherImage=rancher/rancher \    --set busyboxImage=rancher/busybox \    --set privateCA=true \    --set useBundledSystemChart=true \    --set hostname=<修改为自己的域名> \    server-chart/rancher

注意:

  1. 通过--kubeconfig=指定kubectl配置文件;
  2. 如果使用权威ssl证书,则去除--set privateCA=true;
  3. 如果为离线安装,设置--set privateRegistry=true使用私有仓库,并且使用--set systemDefaultRegistry =指定离线私有仓库地址,注意不要添加协议头(http或者https);
  4. 如果镜像名非标准rancher镜像名,可通过--set rancherImage=指定镜像名称,不要指定镜像版本,系统会根据chart版本自动获取镜像版本;
  5. 默认自动获取chart版本号作为Rancher镜像版本号,如果想指定镜像版本号,可通过配置--set rancherImageTag=v2.3.x来指定;

2、主机NodePort访问(主机IP+端口)

有的场景需要使用IP去直接访问rancher server, 因为ingress默认不支持IP访问,所以这里禁用ingress。通过NodePort把rancher server容器端口映射到宿主机的端口上,这个时候rancher server容器作为ssl终止,请求流量转发到rancher server容器的443端口。

  • 把服务证书和CA证书作为密文导入K8S

指定K8S配置文件路径
kubeconfig=

kubectl --kubeconfig=$kubeconfig create namespace cattle-system;kubectl --kubeconfig=$kubeconfig -n cattle-system \  create secret tls tls-rancher-ingress --cert=./tls.crt --key=./tls.key;kubectl --kubeconfig=$kubeconfig -n cattle-system \  create secret generic tls-ca --from-file=cacerts.pem;kubectl --kubeconfig=$kubeconfig -n kube-system create serviceaccount tiller;kubectl --kubeconfig=$kubeconfig create clusterrolebinding tiller \  --clusterrole cluster-admin --serviceaccount=kube-system:tiller;helm_version=`helm version |grep Client | awk -F""\" '{print $2}'`helm --kubeconfig=$kubeconfig init --skip-refresh --service-account tiller \  --tiller-image registry.cn-shanghai.aliyuncs.com/rancher/tiller:$helm_version;
  • 安装
git clone -b v2.2.8 https://gitee.com/rancher/server-chart.gitkubeconfig=xxx.ymlhelm install --kubeconfig=$kubeconfig \  --name rancher \  --namespace cattle-system \  --set rancherImage=rancher/rancher \  --set busyboxImage=rancher/busybox \  --set service.type=NodePort \  --set service.ports.nodePort=30303  \  --set privateCA=true \  --set useBundledSystemChart=true \  server-chart/rancher

注意:

  1. 通过--kubeconfig=指定kubectl配置文件;
  2. 如果使用权威ssl证书,则去除--set privateCA=true;
  3. 如果为离线安装,设置--set privateRegistry=true使用私有仓库,并且使用--set systemDefaultRegistry =指定离线私有仓库地址,注意不要添加协议头(http或者https);
  4. 如果镜像名非标准rancher镜像名,可通过--set rancherImage=指定镜像名称,不要指定镜像版本,系统会根据chart版本自动获取镜像版本;
  5. 默认自动获取chart版本号作为Rancher镜像版本号,如果想指定镜像版本号,可通过配置--set rancherImageTag=v2.3.x来指定;

3、外部七层负载均衡器+主机NodePort方式运行(禁用内部ingress转发)

有的场景,外部有七层负载均衡器作为ssl终止,一般使用是把负载均衡器的443端口代理到内部服务的80端口上。为了保证网络转发性能,这里禁用了内置的ingress服务,以NodePort方式把rancher server容器80端口映射到宿主机端口上。外部七层负载均衡器443端口直接代理到Rancher的NodePort端口,请求流量转发到rancher server容器的80端口。

  • 把服务证书放在外部负载均衡器上,比如nginx;

  • 把CA证书作为密文导入K8S

指定K8S配置文件路径
kubeconfig=

kubectl --kubeconfig=$kubeconfig create namespace cattle-system;kubectl --kubeconfig=$kubeconfig -n cattle-system \  create secret generic tls-ca --from-file=cacerts.pem;kubectl --kubeconfig=$kubeconfig -n kube-system create serviceaccount tiller;kubectl --kubeconfig=$kubeconfig create clusterrolebinding tiller \  --clusterrole cluster-admin --serviceaccount=kube-system:tiller;helm_version=`helm version |grep Client | awk -F""\" '{print $2}'`;helm --kubeconfig=$kubeconfig init --skip-refresh --service-account tiller \  --tiller-image registry.cn-shanghai.aliyuncs.com/rancher/tiller:$helm_version;
  • 安装
git clone -b v2.2.8 https://gitee.com/rancher/server-chart.gitkubeconfig=xxx.ymlhelm install --kubeconfig=$kubeconfig \    --name rancher \    --namespace cattle-system \    --set rancherImage=rancher/rancher \    --set busyboxImage=rancher/busybox \    --set service.type=NodePort \    --set service.ports.nodePort=30303 \    --set tls=external \    --set privateCA=true \    --set useBundledSystemChart=true \    server-chart/rancher

注意:

  1. 通过--kubeconfig=指定kubectl配置文件;
  2. 如果使用权威ssl证书,则去除--set privateCA=true;
  3. 如果为离线安装,设置--set privateRegistry=true使用私有仓库,并且使用--set systemDefaultRegistry=指定离线私有仓库地址,注意不要添加协议头(http或者https);
  4. 如果镜像名非标准rancher镜像名,可通过--set rancherImage=指定镜像名称,不要指定镜像版本,系统会根据chart版本自动获取镜像版本;
  5. 默认自动获取chart版本号作为Rancher镜像版本号,如果想指定镜像版本号,可通过配置--set rancherImageTag=v2.3.x来指定;

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap