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

目录

一、安装前准备工作

计算机
机器名 IP地址 部署内容
rancher 172.16.5.221 rancher
k8smaster 172.16.5.222 Control Plane, Etcd
k8sworker01 172.16.5.223 worker
k8sworker02 172.16.5.224 worker
k8sworker03 172.16.5.225 worker

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

升级linux内核
shell 复制代码
#导入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
时间同步
shell 复制代码
#查看系统时间
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设置
shell 复制代码
#修改主机名
sudo hostnamectl set-hostname k8smaster
#bash生效
bash
#重启
reboot
hosts设置
shell 复制代码
#修改hosts文件
vim /etc/hosts

172.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
shell 复制代码
# 关闭防火墙
systemctl stop firewalld
# 关闭防火墙开机启动
systemctl disable firewalld

#关闭selinux
setenforce 0 && sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config
reboot
关闭swap
shell 复制代码
# 临时
swapoff -a 
# 永久
sed -ri 's/.*swap.*/#&/' /etc/fstab 
安装docker
shell 复制代码
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

shell 复制代码
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节点上面执行。


易错点,重新初始化

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

shell 复制代码
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

shell 复制代码
#下载最新版本:
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工作负载



相关推荐
狂奔solar9 分钟前
分享个好玩的,在k8s上部署web版macos
前端·macos·kubernetes
编程武士3 小时前
nginx openresty lua-resty-http 使用的一些问题记录
nginx·lua·openresty·lua-resty-http
微刻时光5 小时前
Docker部署Nginx
运维·nginx·docker·容器·经验
@东辰5 小时前
【golang-技巧】-自定义k8s-operator-by kubebuilder
开发语言·golang·kubernetes
小安运维日记5 小时前
CKA认证 | Day3 K8s管理应用生命周期(上)
运维·云原生·容器·kubernetes·云计算·k8s
陈小肚5 小时前
k8s 1.28.2 集群部署 docker registry 接入 MinIO 存储
docker·容器·kubernetes
politeboy7 小时前
关于k8s中镜像的服务端口被拒绝的问题
云原生·容器·kubernetes
weixin_438197387 小时前
K8S创建云主机配置docker仓库
linux·云原生·容器·eureka·kubernetes
皮锤打乌龟13 小时前
(干货)Jenkins使用kubernetes插件连接k8s的认证方式
运维·kubernetes·jenkins
Fanstay98516 小时前
在Linux中使用Nginx和Docker进行项目部署
linux·nginx·docker