Rancher(V2.6.3)安装K8s教程

一,安装前环境准备:

1,升级Linux服务器内核

Ubuntu20.04:
#查看当前内核版本
uname -rs

#查看软件库中可下载的内核
sudo apt list | grep linux-generic*

如果已经是最新的就不必更新

#下载最新的内核(具体版本以软件库中为准)
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,关闭防火墙

#uwf:
#开启防火墙
ufw enable
#关闭防火墙
ufw disable
#firewall
# 关闭防火墙
systemctl stop firewalld
# 关闭防火墙开机启动
systemctl disable firewalld

5,关闭selinux

Ubuntu20.04:
#查看SELinux状态
/usr/sbin/sestatus -v
#如果SELinux status参数为enabled即为开启状态

SELinux status: enabled

#也可以用这个命令
getenforce

临时关闭(不用重启机器):

#设置SELinux 成为permissive模式
setenforce 0
#设置SELinux 成为enforcing模式
setenforce 1

修改配置文件需要重启机器:

修改/etc/selinux/config 文件,将SELINUX=enforcing改为SELINUX=disabled。

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

vim /etc/fstab

找到如下行并把它注释掉,重启系统并验证

sudo swapon --show

如果已经关闭那么该命令不会有输出

如图为没关闭的:

下图是已关闭的:

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

Ubuntu20.04安装教程

Centos安装教程

二,安装Rancher

1,Docker安装Rancher

只需要其中一台机器安装Rancher,所以在机器中任选一台进行安装。

安装Rancher只需要执行如下命令:

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后会出现如下界面,根据操作提示完成即可。

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上可以通过以下命令安装。

snap install kubectl

另一种安装方法,在linux机器上执行以下命令下载:

curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl
#授权
chmod +x kubectl
#将kubectl移动到可以全局访问的目录下
mv ./kubectl /usr/local/bin/
2,配置参数

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

点击按钮复制配置文件

首先创建目录,复制yaml配置文件的内容,添加到config中然后保存:wq

mkdir ~/.kube
cd ~/.kube
vi config

然后执行命令就能看到我们刚创建的集群信息了

kubectl config get-contexts

Rancher(V2.6.3)安装K8s教程的更多相关文章

  1. 在 Ubuntu 上安装 K8S教程

    在 Ubuntu 上安装 K8S教程 1,更新系统源 如果系统本身自带得镜像地址,服务器在国外,下载速度会很慢,可以打开 /etc/apt/sources.lis 替换为国内得镜像源. apt upg ...

  2. kubernetes教程第一章-kubeadm高可用安装k8s集群

    目录 Kubeadm高可用安装k8s集群 kubeadm高可用安装1.18基本说明 k8s高可用架构解析 kubeadm基本环境配置 kubeadm基本组件安装 kubeadm集群初始化 高可用Mas ...

  3. 如何使用Rancher在OpenStack上创建K8S集群

    不可否认的是,OpenStack仍然是可行的云操作系统,并且被全世界许多互联服务提供商使用.而Rancher是业界最为广泛使用的Kubernetes管理平台,通过简洁直观的GUI集中管理企业IT中的多 ...

  4. Rancher 下图形界面 搭建 K8S 集群

    首先我们准备4台 2核3G 的 centos 7 温馨提示:先安装好一台 CentOS 的虚拟机,并且安装好 docker,永久关闭防火墙. 再这个基础上我们分别克隆出四台 Rancher.K8S1. ...

  5. 使用rke快速安装K8s集群

    操作系统 centos 7.5 yum update -y yum install docker -y 关闭防火墙.selinux 下载rke helm https://github.com/helm ...

  6. k8s教程

    k8s教程地址 安装https://github.com/gjmzj/kubeaszhttps://github.com/opsnull/follow-me-install-kubernetes-cl ...

  7. kubespray 一键安装k8s集群

    1. clone代码 git clone https://github.com/kubernetes-incubator/kubespray.git 2. 添加inventory/inventory ...

  8. [k8s]kubespray(ansible)自动化安装k8s集群

    kubespray(ansible)自动化安装k8s集群 https://github.com/kubernetes-incubator/kubespray https://kubernetes.io ...

  9. k8s-离线安装k8s

    1.开始 目标 coreos的igniton.json有很强的可配置性,通过安装时指定集群配置的ignition.json, 安装完成后打开https://{{Master_IP}}:6443/ui直 ...

  10. Pro Tools安装图文教程

    Pro Tools安装图文教程   Avid Pro Tools是Digidesign公司出品的一款音质最佳.音频制作强大的软件,能够在Mac或PC上为影片编曲.录制.编辑和混制高品质音乐或声音,生成 ...

随机推荐

  1. 了解windows下的npm

    之前一直使用Ubuntu系统,对于需要的软件.安装包,都可以使用apt或者apt-get进行安装,本人也是用过python,对于python库的安装,也可以通过pip或者conda来实现,那么,在wi ...

  2. 爱心代码_HTML

    直接上效果 <!doctype html> <html> <head> <meta charset="utf-8"> <tit ...

  3. 在 Rime 上对输入法进行定制

    Rime Rime是什么?忘了!但是在用.而且很好用. 了解Rime历史,还是去官网吧! 定制 Rime有两个目录: 1. 程序目录 2. 用户目录 Rime 的程序目录 Windows 上 要看你安 ...

  4. 二维Svg转矢量 不支持Svg2.0

    import { ElMessage } from 'element-plus' import { parse } from 'svgson' import JsonToView from './vi ...

  5. maya灯光导入houdini插件开发——技术文档

    如果想了解插件开发流程的话,可以参考我另外一篇文章maya灯光导入houdini插件开发 插件下载地址 接下来我将说明怎么使用这插件(因为之前写过技术文档,所以也懒得再写一份了,直接照搬上来) 1.插 ...

  6. 量化交易-可视化展示(grafana)

    先上图 简单的实现了一下,效果还好,可玩性强 大概部署mysql+grafana step 1: 服务器:阿里云,ucloud啥的随意,配置也不需要什么,我的是阿里云1核1GB,足以 我用的ubunt ...

  7. golang sync.WaitGroup错误使用导致死锁以及noCopy结构体介绍

    背景 项目中遇到死锁,使用搜索引擎搜索goroutine堆栈中出现的"sync.runtime_Semacquire deadlock"时,搜到一篇说sync.WaitGroup死 ...

  8. CSS3之动画三大特性

    一 过渡模块 1 基本使用 1,过渡三要素1.1必须要有属性发生变化1.2必须告诉系统哪个属性需要执行过渡效果1.3必须告诉系统过渡效果持续时长 2.注意点当多个属性需要同时执行过渡效果时用逗号隔开即 ...

  9. 在Windows平台上利用CMD命令行来压缩和解压缩.tar.gz压缩包

    解压命令: tar -xzvf dwt.tar.gz -C tmp/ 上述命令将dwt.tar.gz压缩包解压到tmp/文件夹 压缩命令: tar -czvf dwt.tar.gz dwt/ 上述命令 ...

  10. 编译GO报错:cgo: C compiler

    cgo: C compiler "gcc" not found: exec: "gcc": executable file not found in %PATH ...