当前位置: 首页 > news >正文

Rancher部署k8s集群测试安装nginx(节点重新初始化方法,亲测)

目录

      • 一、安装前准备工作
          • 计算机
          • 升级linux内核
          • 时间同步
          • Hostname设置
          • hosts设置
          • 关闭防火墙,selinux
          • 关闭swap
          • 安装docker
      • 二、安装rancher
          • 部署rancher
      • 三、安装k8s
          • 安装k8s集群
          • 易错点,重新初始化
      • 四、安装kutectl
      • 五、测试安装nginx工作负载

一、安装前准备工作

计算机
机器名IP地址部署内容
rancher172.16.5.221rancher
k8smaster172.16.5.222Control Plane, Etcd
k8sworker01172.16.5.223worker
k8sworker02172.16.5.224worker
k8sworker03172.16.5.225worker

需在每个节点都进行操作,可以使用xshell工具分屏进行批量操作。

升级linux内核
#导入ELRepo仓库的公钥
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
#为yum安装ELRepo仓库
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
#查看可用版本
yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
#安装最新内核
yum --enablerepo=elrepo-kernel install kernel-ml# 查看当前可用内核
sudo awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
#升级
grub2-set-default 0
时间同步
#查看系统时间
timedatectl 
#设置北京时间
timedatectl set-timezone Asia/Shanghai
#安装ntp服务
yum install -y ntp#修改ntp相关参数,修改成如下内容
vi /etc/sysconfig/ntpd
SYNC_HWCLOCK=yes
OPTIONS="-g -x"#启动ntp服务,开机自启动
systemctl restart ntpd && systemctl enable ntpd#设置linux系统时间宇远程ntp服务器同步
Hostname设置
#修改主机名
sudo hostnamectl set-hostname k8smaster
#bash生效
bash
#重启
reboot
hosts设置
#修改hosts文件
vim /etc/hosts172.16.5.222 k8smaster
172.16.5.223 k8sworker01
172.16.5.224 k8sworker02
172.16.5.225 k8sworker03
172.16.5.221 rancher
关闭防火墙,selinux
# 关闭防火墙
systemctl stop firewalld
# 关闭防火墙开机启动
systemctl disable firewalld#关闭selinux
setenforce 0 && sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config
reboot
关闭swap
# 临时
swapoff -a 
# 永久
sed -ri 's/.*swap.*/#&/' /etc/fstab 
安装docker
yum install -y yum-utils
# 添加yum源,这里添加的是阿里云的yum源
yum-config-manager  --add-repo  http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 查看docker版本
yum list docker-ce --showduplicates | sort -r
# 您可以选择其他版本
yum  -y install docker-ce-20.10.12-3.el7
# 设置国内镜像加速,你也可以用自己的仓库镜像,这里是我申请的阿里云个人加速镜像
mkdir -p /etc/docker
tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://fuchp8pk.mirror.aliyuncs.com"]
}
EOF
# 导入镜像设置
systemctl daemon-reload
# 启动docker
systemctl restart docker
# 设置docker开机启动
systemctl enable docker

二、安装rancher

部署rancher

自行选择安装rancher版本,rancher平台地址:ip:8443

docker run -d --restart=unless-stopped -p 8080:80 -p 8443:443 -v /opt/rancher/data:/var/lib/rancher --privileged rancher/rancher:v2.6.3# 找到您的容器ID
docker ps
# 找到密码
docker logs  ${container-id}  2>&1 | grep "Bootstrap Password:"

在这里插入图片描述

三、安装k8s

安装k8s集群

通过RKE的方式安装k8s,在rancher里面创建自定义k8s集群,如果报错,请重启rancher,自定义项目名称,选择k8s版本,然后选择Control Plane, Etcd复制语句在master执行,选择worker到worker节点上面执行。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

易错点,重新初始化

如果报错,请在每个节点上面清除安装的残留文件,重启后重新初始化,正常情况下节点会正常初始化成功,如果有报错请检查前面的准备工作是否完成,细节点。如果有问题请清理残余文件重新初始化。

docker stop $(docker ps -aq)
docker system prune -f
docker 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

四、安装kutectl

#下载最新版本:
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"#验证二进制文件(可选)
#下载 kubectl 校验和文件:
curl -LO "https://dl.k8s.io/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl.sha256"#根据校验和文件验证 kubectl 二进制文件:
echo "$(<kubectl.sha256) kubectl" | sha256sum --check
如果有效,则输出为:
kubectl: OK#安装 kubectl
install -o root -g root -m 0755 kubectl /usr/bin/kubectl#测试以确保您安装的版本是最新的:
kubectl version --client#将rancher集群中kubeconfig的内容复制到服务器config中
mkdir -p $HOME/.kube
vi $HOME/.kube/config    #粘贴复制的内容#测试kubectl
kubectl get node

下载文件传入到主节点 $HOME/.kube/config
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

五、测试安装nginx工作负载

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

http://www.lryc.cn/news/285965.html

相关文章:

  • SpringBoot结合thymeleaf的HTML页面不能跳转问题踩坑
  • Apache Zeppelin结合Apache Airflow使用1
  • 分组循环A
  • 《WebKit 技术内幕》学习之九(4): JavaScript引擎
  • [SpringBoot2.6.13]FastJsonHttpMessageConverter不生效
  • (delphi11最新学习资料) Object Pascal 学习笔记---第3章第一节(简单语句与复合语句)
  • Unity - 简单音频
  • SpringCloud中服务间通信(应用间通信)-亲测有效-源码下载-连载2
  • Axios取消请求:AbortController
  • 【江科大】STM32:(超级详细)定时器输出比较
  • Go 复合数据类型
  • Redis(01)——常用指令
  • 基本语法和 package 与 jar
  • 本地读取Excel文件并进行数据压缩传递到服务器
  • 【开源】基于JAVA的停车场收费系统
  • 基于java+Springboot操作系统教学交流平台详细设计实现
  • Nginx 基础使用
  • JavaEE:多线程(2):线程状态,线程安全
  • Flutter 自定义AppBar实现滚动渐变
  • 编程语言MoonBit新增矩阵函数的语法糖
  • Angular:跨域请求携带 cookie
  • 【C++】list容器迭代器的模拟实现
  • Docker镜像操作
  • 【Java-框架-SpringSecurity】单点登录(认证和授权)- 随笔
  • 大数据开发之Scala
  • 数字时代的大对决
  • 网络防御保护1
  • 解决Windows下Goland的Terminal设置为Git Bash失败
  • x-cmd pkg | jq - 命令行 JSON 处理器
  • 网络安全笔记