Rancher 反复安装
步骤
事先跳转到 清理环境(注意脚本中包括清理所有 Docker
容器)实验请不要直接上生产环境。也可查看官网步骤
CA
使用 CAShell 生成 CA 证书:https://github.com/yhyddr/CAShell
wget https://github.com/yhyddr/CAShell.git
Exec
note to give permission by this command in shell file directory chmod +x create.sh
脚本参数
--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
Docker run Rancher
运行如下命令
docker run -d --restart=unless-stopped \ -p 80:80 -p 443:443 \ -v /root/rancher:/var/lib/rancher/ \ -v /var/log/rancher/auditlog:/var/log/auditlog \ -e AUDIT_LEVEL=3 \ -v /root/CAShell/tls.crt:/etc/rancher/ssl/cert.pem \ -v /root/CAShell/tls.key:/etc/rancher/ssl/key.pem \ -v /root/CAShell/cacerts.pem:/etc/rancher/ssl/cacerts.pem \ rancher/rancher:latest
如果你只是想试试
$ sudo docker run -d --restart=unless-stopped -p 80:80 -p 443:443 rancher/rancher:latest
出错清理环境:
运行如下命令即可
# 停止服务 systemctl disable kubelet.service systemctl disable kube-scheduler.service systemctl disable kube-proxy.service systemctl disable kube-controller-manager.service systemctl disable kube-apiserver.service systemctl stop kubelet.service systemctl stop kube-scheduler.service systemctl stop kube-proxy.service systemctl stop kube-controller-manager.service systemctl stop kube-apiserver.service # 删除所有容器 docker rm -f $(docker ps -qa) # 删除所有容器卷 docker volume rm $(docker volume ls -q) # 卸载mount目录 for mount in $(mount | grep tmpfs | grep '/var/lib/kubelet' | awk '{ print $3 }') /var/lib/kubelet /var/lib/rancher; do umount $mount; done # 备份目录 mv /etc/kubernetes /etc/kubernetes-bak-$(date +"%Y%m%d%H%M") mv /var/lib/etcd /var/lib/etcd-bak-$(date +"%Y%m%d%H%M") mv /var/lib/rancher /var/lib/rancher-bak-$(date +"%Y%m%d%H%M") mv /opt/rke /opt/rke-bak-$(date +"%Y%m%d%H%M") # 删除残留路径 rm -rf /etc/ceph \ /etc/cni \ /opt/cni \ /run/secrets/kubernetes.io \ /run/calico \ /run/flannel \ /var/lib/calico \ /var/lib/cni \ /var/lib/kubelet \ /var/log/containers \ /var/log/pods \ /var/run/calico # 清理网络接口 network_interface=`ls /sys/class/net` for net_inter in $network_interface; do if ! echo $net_inter | grep -qiE 'lo|docker0|eth*|ens*';then ip link delete $net_inter fi done # 清理残留进程 port_list='80 443 6443 2376 2379 2380 8472 9099 10250 10254' for port in $port_list do pid=`netstat -atlnup|grep $port |awk '{print $7}'|awk -F '/' '{print $1}'|grep -v -|sort -rnk2|uniq` if [[ -n $pid ]];then kill -9 $pid fi done pro_pid=`ps -ef |grep -v grep |grep kube|awk '{print $2}'` if [[ -n $pro_pid ]];then kill -9 $pro_pid fi # 清理Iptables表 ## 注意:如果节点Iptables有特殊配置,以下命令请谨慎操作 sudo iptables --flush sudo iptables --flush --table nat sudo iptables --flush --table filter sudo iptables --table nat --delete-chain sudo iptables --table filter --delete-chain systemctl restart docker
⚠️:重启和重新部署解决一切问题
0 条评论