Rancher(V2.6.3)安装K8s教程

打印 上一主题 下一主题

主题 1860|帖子 1860|积分 5580

Rancher(V2.6.3)安装K8s教程

一,安装前环境准备:

1,升级Linux服务器内核

Ubuntu20.04:
  1. #查看当前内核版本
  2. uname -rs
复制代码
  1. #查看软件库中可下载的内核
  2. sudo apt list | grep linux-generic*
复制代码

如果已经是最新的就不必更新
  1. #下载最新的内核(具体版本以软件库中为准)
  2. sudo apt-get install linux-generic-hwe-20.04-edge/focal-updates
复制代码
这里等它更新完毕后需要重启服务器,所以等下一步完成后一并重启检测
2,修改hostname

vim /etc/hostname 即可设置全限定域名,删除原有内容,输入完整的全限定域名保存退出即可,例如k8s-master。
修改后依然要重启才能生效
3,hosts设置

vim /etc/hosts 即可设置hosts。K8S集群一般包含多台计算机,hosts的内容应该包含集群内的所有机器。如:

在安装 Kubernetes(K8s)之前,配置 /etc/hosts 文件可以解决 Kubernetes 集群中的 DNS 问题。在 Kubernetes 集群中,DNS 负责将服务名称解析为对应的 IP 地址。在默认情况下,Kubernetes 使用一个名为 kube-dns 的组件作为集群的 DNS 服务器。这个组件通常会被部署在 Kubernetes 集群内部,并由 Kubernetes 自动配置其 DNS 解析规则。
在某些情况下,kube-dns 可能无法识别您的服务名称,从而导致服务无法被正确解析。这种情况通常发生在您的本地网络配置中存在一些问题,例如您的网络 DNS 服务器无法识别 Kubernetes 的服务名称。为了解决这个问题,您可以在您的主机上手动配置一个 DNS 解析规则,以便将 Kubernetes 的服务名称解析为正确的 IP 地址。
配置 /etc/hosts 文件是一种简单有效的方法,它可以将一个服务名称映射到一个 IP 地址。这样,在您的主机上执行 ping my-service 命令时,就会将该服务名称解析为对应的IP 地址,从而成功地访问该服务。
需要注意的是,对 /etc/hosts 文件的修改只会对当前主机生效。如果要在多台主机上部署 Kubernetes,需要在每台主机上都手动修改 /etc/hosts 文件,以便正确地解析 Kubernetes 的服务名称。另外,由于 /etc/hosts 文件通常是一个受保护的系统文件,因此在修改之前,请确保已经有相应的权限。
4,关闭防火墙
  1. #uwf:
  2. #开启防火墙
  3. ufw enable
  4. #关闭防火墙
  5. ufw disable
复制代码
  1. #firewall
  2. # 关闭防火墙
  3. systemctl stop firewalld
  4. # 关闭防火墙开机启动
  5. systemctl disable firewalld
复制代码
5,关闭selinux

Ubuntu20.04:
  1. #查看SELinux状态
  2. /usr/sbin/sestatus -v      
  3. #如果SELinux status参数为enabled即为开启状态
复制代码
SELinux status:                 enabled
  1. #也可以用这个命令
  2. getenforce
复制代码

临时关闭(不用重启机器):
  1. #设置SELinux 成为permissive模式
  2. setenforce 0
  3. #设置SELinux 成为enforcing模式
  4. setenforce 1
复制代码
修改配置文件需要重启机器:
修改/etc/selinux/config 文件,将SELINUX=enforcing改为SELINUX=disabled。
  1. vi /etc/selinux/config
复制代码

重启机器即可
在安装 Rancher 和 Kubernetes 之前关闭 SELinux 是为了解决一些安全限制问题。SELinux(Security-Enhanced Linux)是一个 Linux 内核安全模块,用于限制程序对系统资源的访问和操作。它为 Linux 提供了更高的安全性和完整性,但有时候也会导致一些问题。
在 Rancher 和 Kubernetes 的安装过程中,可能会出现某些 SELinux 相关的问题,例如:

  • Rancher 系统初始化时可能会出现 SELinux 安全策略的限制,从而导致初始化失败;
  • Kubernetes 集群的某些组件可能会试图访问一些被 SELinux 限制的系统资源,从而导致组件无法正常启动。
为了解决这些问题,一种简单的方法是在安装 Rancher 和 Kubernetes 之前暂时关闭 SELinux。关闭 SELinux 可以暂时解除对系统资源的限制,从而使 Rancher 和 Kubernetes 的安装和初始化过程更容易成功。
6,关闭swap

Ubuntu20.04:

编辑/etc/fstab
  1. vim /etc/fstab
复制代码

找到如下行并把它注释掉,重启系统并验证
  1. sudo swapon --show
复制代码
如果已经关闭那么该命令不会有输出
如图为没关闭的:

下图是已关闭的:

7,安装Docker,版本选择为20.10.13,契合Rancher版本

​        Ubuntu20.04安装教程
​        Centos安装教程
二,安装Rancher

1,Docker安装Rancher

只需要其中一台机器安装Rancher,所以在机器中任选一台进行安装。
安装Rancher只需要执行如下命令:
  1. docker run -d --restart=unless-stopped  --name rancher -p 8080:80 -p 8443:443 --privileged rancher/rancher:v2.6.3
复制代码
然后打印日志查看Rancher是否运行成功,中途会有很多error,但是不必管它。
待日志结束后出现一下几行就代表运行成功,可以访问Rancher了

浏览器输入https://[你的IP]:8443访问Rancher
访问链接的时候会出现

点高级,无视风险继续访问。

2,配置Rancher

进入Rancher后会出现如下界面,根据操作提示完成即可。
  1. docker logs  <container-id>  2>&1 | grep "Bootstrap Password:"
复制代码
首先是从Rancher容器获得初始密码

输入密码点击登录,然后创建新密码

根据密码要求重置密码后,同意下方的使用要求,点击Continue。
进入主页面后,点击左上方,切换语言为中文

下面显示有一个local集群就证明Rancher已经安装成功了

三,Rancher搭建集群

如上图,点击创建集群

点击自定义:

给集群写好名字,选择k8s版本,这里选的是V1.19.16。

点击下一步后,进入添加主机命令页面。点选Etcd,Control Plane,Woker三个选项,然后复制下方的命令,到master节点执行。

点击下一步后,进入添加主机命令页面。点选Etcd,Control Plane,Woker三个选项,然后复制下方的命令,到master节点执行。

在执行的过程中需要等待很长的时间,中途在Rancher界面可能会看到报错信息,类似于以下两个。这是安装过程中会出现的。
Cluster must have at least one etcd plane host: please specify one or more etcd in cluster config
Cluster must have at least one etcd plane host: please specify one or more etcd in cluster config
判断集群是否安装成功只需要看日志。首先点击管理集群,点击自己刚创建的集群,点击Provisioning Log。


安装完成后会有如下日志。
四,在master节点上安装安装和配置kubectl工具

1,安装

在Ubuntu上可以通过以下命令安装。
  1. snap install kubectl
复制代码
另一种安装方法,在linux机器上执行以下命令下载:
  1. curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl
  2. #授权
  3. chmod +x kubectl
  4. #将kubectl移动到可以全局访问的目录下
  5. mv ./kubectl /usr/local/bin/
复制代码
2,配置参数

在浏览集群中,点击刚创建好的集群

点击按钮复制配置文件

首先创建目录,复制yaml配置文件的内容,添加到config中然后保存:wq
  1. mkdir ~/.kube
  2. cd ~/.kube
  3. vi config
复制代码
然后执行命令就能看到我们刚创建的集群信息了
  1. kubectl config get-contexts
复制代码


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

麻花痒

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表