flash网站与html5,discuz做的网站上传到网站空间的文件,前端开发入门视频教程,房屋租赁系统网站开发目录Rancher Server Kubernets搭建云原生集群平台一、环境准备1、软件准备2、环境规划3、挂载数据盘二、虚拟机初始化基础配置#xff08;所有节点都需要操作#xff09;1、执行时间服务器脚本#xff08;包括配置hostName主机名#xff09;2、配置hosts文件3、配置各节点…
目录Rancher Server Kubernets搭建云原生集群平台一、环境准备1、软件准备2、环境规划3、挂载数据盘二、虚拟机初始化基础配置所有节点都需要操作1、执行时间服务器脚本包括配置hostName主机名2、配置hosts文件3、配置各节点免密登录三、在每个节点安装docker1、配置docker-ce国内yum源阿里云2、安装docker依赖包3、安装docker-ce4、启动docker服务并设置开机自启5、查看docker运行状态6、查看docker版本信息7、开启包转发功能和修改内核参数8、加载并应用 /etc/sysctl.d/docker.conf 文件中的配置9、配置阿里云镜像10、重启docker四、部署rancher1、在rancher节点下载rancher镜像2、通过docker运行rancher服务器的容器五、登录Rancher平台1、再浏览器访问Rancher节点IP 由于未使用授信证书会有报警忽略即可2、设置密码3、至此Rancher安装完成4、登录后可点击右下角语言选项选择中文5、设置Rancher默认镜像仓库六、创建集群1、点击全局选择添加集群2、填写集群名称选择kubernetes版本点击保存3、勾选Etcd、control,复制此命令在每个master节点执行命令4、勾选worker复制此命令在每个worker节点执行命令5、等待服务安装完成七、部署nginx服务1、配置nginx点击进入集群tyzwkj-cloud选择Default2、配置负载均衡八、kubectl 命令行工具设置1 、使用rancher安装的k8s集群服务器里面的kubectl 工具不能正常使用如果需要在服务器执行kubectl命令的话需要配置一下上下文2、从rancher页面获取Kubectl工具连接k8s集群所需的配置文件kubeconfig如下图所示九、监控配置1、进入监控配置画面2、启用监控3、部署监控服务4、验证十、重新安装Rancher Server Kubernets搭建云原生集群平台 Rancher 是一款开源的企业级容器管理平台专注于简化 Kubernetes 集群的部署、运维及多环境管理助力企业在混合云、多云及边缘计算场景中实现高效容器化应用交付。 Rancher 凭借图形化界面、跨平台兼容性及开箱即用的监控/日志功能大幅降低了 Kubernetes 的使用门槛。其开源特性允许企业深度定制而活跃的社区生态则持续提供功能迭代与问题支持。对于需要统一管理复杂容器环境的企业Rancher 是实现高效运维与数字化转型的理想选择。 【Rancher官方文档】 一、环境准备
1、软件准备
序号环境名称说明版本号1Rancher Serverk8s运维平台v2.5.7
2、环境规划
序号IPHostName操作系统K8s角色说明1192.168.255.141rancherAnolis OS 8.9 x86 64位Rancher服务Kubernetes 管理平台2192.168.255.142masterAnolis OS 8.9 x86 64位控制节点Kubernetes Master3192.168.255.143worker01Anolis OS 8.9 x86 64位工作节点Kubernetes Master高可用节点如果不需要高可用可不部署此服务器4192.168.255.144worker02Anolis OS 8.9 x86 64位工作节点Kubernetes Worker
3、挂载数据盘 ** 注意 ** 1、该步骤不是必须的如果需要将【系统盘】与【数据盘】进行分离并且【数据盘】是独立的一块磁盘的话是需要执行该步骤进行挂载到系统中的非必要执行2、下面的命令需要在 [192.168.255.141]、 [192.168.255.142]、 [192.168.255.143] 和 [192.168.255.144] 4台服务器上都执行 1、分区 对新磁盘【/dev/sdb】根据lsblk命令输出得知新磁盘目录的进行执行分区
[rootlocalhost ~]# lsblk
[rootlocalhost ~]# df -h
[rootlocalhost ~]# fdisk /dev/sdb输入命令符
n # 创建新分区
p # 选择主分区
# 选择分区号如果提示
# 指定起始位置
# 指定分区大小
w # 保存并退出fdisk2、格式化 对新磁盘【/dev/sdb1】根据lsblk命令输出得知新磁盘目录的进行执行格式化
[rootlocalhost ~]# mkfs.ext4 /dev/sdb1
[rootlocalhost ~]# mkdir /data3、挂载 临时挂载立即生效但是系统重启后会失效重启系统后需要重新执行命令或【永久挂载】方式修改配置文件
[rootlocalhost ~]# mount /dev/sdb1 /data永久挂载系统每次重启后会读取配置文件/etc/fstab中的配置
[rootlocalhost ~]# vim /etc/fstab/dev/sdb1 /data ext4 defaults 0 2二、虚拟机初始化基础配置所有节点都需要操作
1、执行时间服务器脚本包括配置hostName主机名
1、创建init文件夹
[rootrancher ~]# mkdir init
[rootrancher ~]# cd init2、创建文件传输上传后为文件添加执行权限后执行
[rootrancher init]# vim init.shinit.sh文件内容
#配置主机名和host文件echo 正在配置你的主机名...echoread -p 请输入你的主机名: host hostname(){hostnamectl set-hostname $host}hostname host echo -e 主机名设置成功!!#echo 正在配置你的hosts文件...
# ip$(ip a | grep ens33 |grep inet |awk {print $2} | awk -F/ {print $1})
# echo $ip $host /etc/hosts
# echo hosts配置完成!!!# 防火墙设置echo 关闭防火墙和selinux中....echosystemctl stop firewalld systemctl disable firewalld /dev/null setenforce 0 sed -i /^SELINUX/s/enforcing/disabled/ /etc/selinux/configif [ $? -eq 0 ];thenecho 防火墙和selinux已经成功关闭.....elseecho 防火墙和selnux关闭失败请手动关闭fi
echo#外网检测
echo 正在检测网络是否能上外网......echoping -c 2 www.baidu.com /dev/nullif [ $? -eq 0 ];thenecho 网络正常elseecho 网络不可达fi
echo# 配置yum源-这里选用阿里源
#echo
# echo 修改为国内yum源
# mkdir /etc/yum.repos.d/bak
# mv /etc/yum.repos.d/* /etc/yum.repos.d/bak
# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
# yum clean all yum makecache # 修改时区echo 修改时区中......timedatectl set-timezone Asia/Shanghailn -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtimeecho 修改时区成功......# 时间同步
echoecho 时间同步中……yum install -y ntpdate /dev/nullntpdate 172.26.251.1 /dev/nullfile$(who | head -1 | cut -d -f1)echo * */1 * * * /usr/sbin/ntpdate 172.26.251.1 /var/spool/cron/$fileif [ $? -eq 0 ];thenecho 时间同步成功echo unset MAILCHECK /etc/profilesource /etc/profile /dev/nullelseecho 时间同步失败fi
# 修改字符编码
echoecho 修改字符编码中……echo LANGen_US.UTF-8 /etc/locale.confecho 修改字符成功......echo ----配置ssh禁用反向解析----echo UseDNSno /etc/ssh/sshd_configecho ----允许通过密码ssh远程登录----echo PermitRootLogin yes /etc/ssh/sshd_configsystemctl restart sshdecho ----设置ssh,20分钟登录无操作自动退出,服务器每120秒心跳包测试客户端三次不成功断开----echo export TMOUT1200 /etc/profilesource /etc/profileecho ----查看历史操作记录并加时间戳----echo export HISTTIMEFORMAT%F %T whoami /etc/profilesource /etc/profile#内核优化
echo ----内核优化----
grep net.ipv6.conf.all.disable_ipv6 /etc/sysctl.conf /dev/null 21
if [ $? -ne 0 ];then
# 关闭ipv6echo net.ipv6.conf.all.disable_ipv6 1 /etc/sysctl.confecho net.ipv6.conf.default.disable_ipv6 1 /etc/sysctl.conf#允许系统打开的端口范围不建议从1024开始因为某些端口会存在10000以内。一般情况下已够用。echo net.ipv4.ip_local_port_range 10000 65000 /etc/sysctl.confecho net.core.somaxconn 32768 /etc/sysctl.conf
fi3、执行初始化
#为文件添加执行权限
[rootrancher init]# chmod x ./init.sh
[rootrancher init]# ./init.sh 正在配置你的主机名...请输入你的主机名:4、执行完后重启系统
[rootrancher init]# reboot2、配置hosts文件
[rootrancher ~]# vim /etc/hosts打开hosts文件点击键盘i进行插入,下面配置copy到hosts
192.168.255.141 rancher
192.168.255.142 master
192.168.255.143 worker01
192.168.255.144 worker023、配置各节点免密登录
#rancher
#生成ssh密钥
[rootrancher init]# ssh-keygen输入后 敲击3下enter键盘 即可生成成功
访问连接各节点ssh
#复制密钥到其他节点(每个节点都要执行)
[rootrancher]# ssh-copy-id rootrancher
[rootrancher]# ssh-copy-id rootmaster
[rootrancher]# ssh-copy-id rootworker01
[rootrancher]# ssh-copy-id rootworker02三、在每个节点安装docker
1、配置docker-ce国内yum源阿里云
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo2、安装docker依赖包
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo3、安装docker-ce yum install docker-ce -y** 备注** 如果出现 【try to add ‘–allowerasing’ to command line to replace conflicting packages or ‘–skip-broken’ to skip uninstallable packages or ‘–nobest’ to use not only best candidate packages】则执行下面命令 yum install docker-ce -y --allowerasing4、启动docker服务并设置开机自启
systemctl start docker systemctl enable docker5、查看docker运行状态
systemctl status docker6、查看docker版本信息
docker version7、开启包转发功能和修改内核参数
modprobe br_netfiltercat /etc/sysctl.d/docker.conf EOF
net.bridge.bridge-nf-call-ip6tables 1
net.bridge.bridge-nf-call-iptables 1
net.ipv4.ip_forward 1
EOF8、加载并应用 /etc/sysctl.d/docker.conf 文件中的配置
sysctl -p /etc/sysctl.d/docker.conf9、配置阿里云镜像
创建 /etc/docker 目录
sudo mkdir -p /etc/docker创建docker镜像配置文件
sudo tee /etc/docker/daemon.json -EOF{registry-mirrors: [https://ox288s4f.mirror.aliyuncs.com,https://registry.docker-cn.com,http://hub-mirror.c.163.com,https://mirror.ccs.tencentyun.com,https://docker.hpcloud.cloud,https://docker.m.daocloud.io,https://docker.unsee.tech,https://docker.1panel.live,http://mirrors.ustc.edu.cn,https://docker.chenby.cn,http://mirror.azure.cn,https://dockerpu11.org,https://dockerhub.icu,https://hub.rat.dev,https://proxy.1panel.live,https://docker.1panel.top,https://docker.m.daocloud.io,https://docker.1ms.run,https://docker.ketches.cn]
}
EOF10、重启docker
立即生效
sudo systemctl daemon-reload重启docker
sudo systemctl restart docker四、部署rancher
1、在rancher节点下载rancher镜像
[rootrancher ~]# docker pull rancher/rancher:v2.5.72、通过docker运行rancher服务器的容器
命令描述
-d: 在后台detached mode运行容器即使终端关闭也保持运行。--restartunless-stopped: 容器退出时除非明确停止否则会自动重启。这个选项确保 Rancher 服务在意外关闭后能够自动恢复运行。-p 80:80 -p 443:443: 将容器内部的端口映射到宿主机上使得宿主机的 80 端口和 443 端口可以访问 Rancher 服务器提供的服务。例如可以通过 http://宿主机IP 和 https://宿主机IP 访问 Rancher Web UI。--privileged: 赋予容器全部的 Linux capabilities这在某些情况下可能是必要的例如需要访问设备或执行特权操作时。--name rancher: 指定容器的名称为 rancher这样可以通过该名称管理和操作这个容器。rancher/rancher:v2.5.7: 指定要运行的 Docker 镜像这里是 Rancher 服务器的镜像版本为 v2.5.7。1、创建rancher数据挂载文件夹
mkdir -p /data/d/rancher/data2、启动rancher容器
[rootrancher ~]# docker run -d --restartalways -p 80:80 -p 443:443 -v /etc/localtime:/etc/localtime -v /etc/timezone:/etc/timezone -v /data/d/rancher/data:/var/lib/rancher --privilegedtrue --userroot --name rancher rancher/rancher:v2.5.73、查看rancher容器信息
docker ps -a|grep rancher五、登录Rancher平台
1、再浏览器访问Rancher节点IP 由于未使用授信证书会有报警忽略即可
2、设置密码 3、至此Rancher安装完成 4、登录后可点击右下角语言选项选择中文 5、设置Rancher默认镜像仓库
把系统设置里面的 ”system-default-registry” value设置为
registry.cn-hangzhou.aliyuncs.com六、创建集群
1、点击全局选择添加集群 2、填写集群名称选择kubernetes版本点击保存 3、勾选Etcd、control,复制此命令在每个master节点执行命令 sudo docker run -d --privileged --restartunless-stopped --nethost -v /etc/kubernetes:/etc/kubernetes -v /var/run:/var/run registry.cn-hangzhou.aliyuncs.com/rancher/rancher-agent:v2.5.7 --server https://192.168.255.141 --token ndkzstpnht7z5lvftkhmbc7wvgsgrxlq6s2r64ttqk9gxjgrnmjp75 --ca-checksum b5cb4d97b8be287df94db3736d7b7b58f8b2cfcb2758d91fb06c78afbf7b5bcd --etcd --controlplane4、勾选worker复制此命令在每个worker节点执行命令 sudo docker run -d --privileged --restartunless-stopped --nethost -v /etc/kubernetes:/etc/kubernetes -v /var/run:/var/run registry.cn-hangzhou.aliyuncs.com/rancher/rancher-agent:v2.5.7 --server https://192.168.255.141 --token ndkzstpnht7z5lvftkhmbc7wvgsgrxlq6s2r64ttqk9gxjgrnmjp75 --ca-checksum b5cb4d97b8be287df94db3736d7b7b58f8b2cfcb2758d91fb06c78afbf7b5bcd --worker备注 worker命令在主机worker01和worker02上执行 5、等待服务安装完成 此过程将耗时较长时间拉取镜像时间较长本文3台节点初始化完成用了近3个小时 点击主机查看监控 七、部署nginx服务
1、配置nginx点击进入集群tyzwkj-cloud选择Default 1、点击部署服务 2、拉取nginx镜像填写配置点击启动
3、等待nginx启动
2、配置负载均衡
1、进入【负载均衡】画面
2、新增ingress映射点击保存 3、设置完成后会生成一个域名 4、验证nginx服务 点击nginx-ingress地址上图中80/http 备注 如果点击nginx-ingress地址无法解析域名时需要修改一下本地hosts文件将xip.io域名解析到master节点ip 本例中master节点的ip是192.168.255.142下面是在hosts文件中添加的配置 192.168.255.142 xip.io5、验证负载均衡 点击上图nginx进入点击pods查看日志 【第一步】进入第一个nginx容器查看第一个nginx容器的日志 【第二步】进入第二个nginx容器画面查看第一个nginx容器的日志 【第三步】每访问一次 八、kubectl 命令行工具设置
1 、使用rancher安装的k8s集群服务器里面的kubectl 工具不能正常使用如果需要在服务器执行kubectl命令的话需要配置一下上下文
1、 kubectl 配置命令自动补全
yum install -y bash-completion
echo source /usr/share/bash-completion/bash_completion ~/.bashrc
echo source (kubectl completion bash) ~/.bashrc
source ~/.bashrc2、搜索根目录文件名为 kubectl 的文件或目录是否存在不存在则自己创建
find / -name kubectl
mkdir kubectl3、查看/var/lib/rancher/下的文件获取要创建链接的源文件或目录
cd /var/lib/rancher/
执行下面命令查看是否可以获取到pod列表
v1.25.12-rke2r1-15557ace5a8f/bin/kubectl get pod -A4、然后替换掉v1.25.12-rke2r1-15557ace5a8f/bin/kubectl换成自己的版本执行然后执行下面软链接的命令 /usr/bin/kubectl为目标路径来访问实际的 kubectl 可执行文件
ln -s /var/lib/rancher/rke/data/v1.25.12-rke2r1-15557ace5a8f/bin/kubectl /usr/bin/kubectl2、从rancher页面获取Kubectl工具连接k8s集群所需的配置文件kubeconfig如下图所示 1、创建目录
mkdir ${HOME}/.kube/2、把下载的kubeConfig上传到服务器.重命名为config放到 ${HOME}/.kube/目录下 查看安装的版本
kubectl version九、监控配置 1、进入监控配置画面 2、启用监控 点击【启用监控】按钮 3、部署监控服务 进入【集群】-System画面后会发现新增了加【cattle-prometheus】命名空间及相关服务这就是监控服务只需等待一段时间就会自动部署好 4、验证 待上一步【cattle-prometheus】命名空间下的所有服务全部部署完成并状态为【Active】后即可进入【集群】画面后会看到下图所示的监控面板 点击上图Grafana按钮就会进入对应监控画面如下图所示 十、重新安装 说明 执行重复安装需要清除所有记录再执行安装 docker stop $(docker ps -aq)docker system prune -fdocker volume rm $(docker volume ls -q)docker image rm $(docker image ls -q)rm -rf /etc/ceph \/etc/cni \/etc/kubernetes \/opt/cni \/opt/rke \/run/secrets/kubernetes.io \/run/calico \/run/flannel \/var/lib/calico \/var/lib/etcd \/var/lib/cni \/var/lib/kubelet \/var/lib/rancher/rke/log \/var/log/containers \/var/log/pods \/var/run/calico结束以上就是通过RancherServer搭建k8s的全部内容。