kubernates 集群实战-安装K3s集群

2023-10-24 20:54

本文主要是介绍kubernates 集群实战-安装K3s集群,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

安装K3s集群

  • 安装K3s集群
    • 环境准备
    • 安装 docker
    • 主节点安装
    • work 节点
    • 验证环境

安装K3s集群

在这里插入图片描述
K3S是一种轻量级的Kubernetes发行版,安装和运行只需要一个二进制文件。相比之下,K8S需要更多的步骤和资源来安装和部署,例如设置etcd集群、安装控制平面组件、加入工作节点等。这使得K3S更适合在低资源的设备上运行,如树莓派或边缘计算节点。另一方面,K8S适合在高性能的服务器或云环境中运行。

K3S和K8S都是Kubernetes的容器编排工具,它们都提供了一些核心功能,如调度、服务发现、负载均衡、网络策略等。然而,K3S相对于K8S来说,删除了一些不常用或不必要的功能,如云控制器管理器、存储类、动态卷供应等。同时,K3S还内置了一些额外的组件,如Traefik、Flannel、CoreDNS等,以简化配置和管理。而K8S则提供了Kubernetes的完整功能集,并且具有丰富的扩展机制,如自定义资源定义(CRD)、操作符(Operator)、服务网格(Service Mesh)等。这些扩展机制可以通过插件或第三方工具来实现更多的功能和场景。

K3S具有轻量化和简化的设计,能够快速启动和运行,同时占用内存和磁盘空间也较少。K3S采用sqlite作为默认的数据存储后端,以替代etcd,从而降低了复杂度和开销;

K3S与Kubernetes的兼容性很高,可以与许多兼容Kubernetes的应用和工具一起使用,如Helm、Istio、Prometheus等。但是,K3S也有其限制,它删除了一些功能或组件,因此可能无法支持一些特定的应用或场景,例如使用存储类或动态卷供应的应用。与之相比,K8S是一个完全兼容Kubernetes的容器编排系统,它拥有庞大的生态系统和社区支持,可以提供各种各样的解决方案和最佳实践。

环境准备

前置环境必须有三台虚拟服务器,彼此网络互通; 参考文章: kubernates 集群实战-概念

初始化服务器(  在每台云服务器上执行)
#检查是否  安装开放源 wget命令工具;
#  永久关闭防火墙systemctl stop firewalldsystemctl disable firewalld# 永久关闭selinuxsed -i 's/enforcing/disabled/' /etc/selinux/config # 永久关闭swapswapoff -a && sysctl -w vm.swappiness=0sed -ri 's/.*swap.*/#&/' /etc/fstab # 根据规划设置主机名hostnamectl set-hostname <hostname>
# 使用 hostname 命令查看是否设置成功# 在master添加hosts (注意只在master 执行)
cat >> /etc/hosts << EOF
10.0.4.16  k3s-master
10.0.4.15  k3s-node1
10.0.4.11  k3s-node2
EOF# 将桥接的IPv4流量传递到iptables的链
cat > /etc/sysctl.d/k8s.conf << EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
EOF# 生效
sysctl --system# 时间同步 以下是centos 7 的同步方式
yum install ntpdate -y
ntpdate time.windows.com
# 时间同步 在CentOS8.0中默认不再支持ntp软件包,使用的是chrony。
systemctl stop chronyd       #停止chronyd服务
systemctl start chronyd      #开始chronyd服务
systemctl restart chronyd    #重启chronyd服务
systemctl status chronyd     #查看chronyd服务状态
systemctl enable chronyd     #开机启动chronyd服务
systemctl disable chronyd    #禁止开机启动chronyd服务chronyc sources –v      #查看时间同步源,查看时间同步进度#结果解释: *说明时间同步完成,如果为?说明不成功,检查防火墙再看看chronyd有没有重启。
chronyc sourcestats -v        #查看时间同步源状态:
timedatectl set-local-rtc 0  #硬件时间默认为UTC:
timedatectl set-ntp yes       #启用NTP时间同步:
chronyc tracking              #校准时间服务器:网上设置方法:https://www.ecs086.com/news?id=210查看命令 timedatectl

安装 docker

curl https://releases.rancher.com/install-docker/19.03.sh | sh$ systemctl enable docker && systemctl start docker
$ docker --version$ cat > /etc/docker/daemon.json << EOF
{"registry-mirrors": ["https://b9pmyelo.mirror.aliyuncs.com"]
}
EOF$ systemctl restart docker

主节点安装

curl -sfL https://get.k3s.io | sh -s - server --docker配置
vim /etc/systemd/system/multi-user.target.wants/k3s.service
在这里我们需要修改ExecStart的值,将其修改为:
/usr/local/bin/k3s server --docker --no-deploy traefik

work 节点

curl -sfL http://rancher-mirror.cnrancher.com/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn K3S_URL=https://10.0.4.16:6443 K3S_TOKEN=K1017dfeeb18a903c5e70d576c5c7e556c0bc83dfb48fddb299284dc45aaa248bd4::server:25771cc1cd17849ac3c071dcbd62bfba INSTALL_K3S_EXEC="--node-ip 10.0.4.15" sh -
解释:token 获取在master 执行
cat /var/lib/rancher/k3s/server/node-token

node-ip 为 当前work 节点ip
K3S_URL=https://10.0.4.16:6443 : 表示 master 节点ip

验证环境

在 master 节点上执行

kubectl get node 

这篇关于kubernates 集群实战-安装K3s集群的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/277705

相关文章

Python使用国内镜像加速pip安装的方法讲解

《Python使用国内镜像加速pip安装的方法讲解》在Python开发中,pip是一个非常重要的工具,用于安装和管理Python的第三方库,然而,在国内使用pip安装依赖时,往往会因为网络问题而导致速... 目录一、pip 工具简介1. 什么是 pip?2. 什么是 -i 参数?二、国内镜像源的选择三、如何

使用 sql-research-assistant进行 SQL 数据库研究的实战指南(代码实现演示)

《使用sql-research-assistant进行SQL数据库研究的实战指南(代码实现演示)》本文介绍了sql-research-assistant工具,该工具基于LangChain框架,集... 目录技术背景介绍核心原理解析代码实现演示安装和配置项目集成LangSmith 配置(可选)启动服务应用场景

Python安装时常见报错以及解决方案

《Python安装时常见报错以及解决方案》:本文主要介绍在安装Python、配置环境变量、使用pip以及运行Python脚本时常见的错误及其解决方案,文中介绍的非常详细,需要的朋友可以参考下... 目录一、安装 python 时常见报错及解决方案(一)安装包下载失败(二)权限不足二、配置环境变量时常见报错及

MySQL8.2.0安装教程分享

《MySQL8.2.0安装教程分享》这篇文章详细介绍了如何在Windows系统上安装MySQL数据库软件,包括下载、安装、配置和设置环境变量的步骤... 目录mysql的安装图文1.python访问网址2javascript.点击3.进入Downloads向下滑动4.选择Community Server5.

在Java中使用ModelMapper简化Shapefile属性转JavaBean实战过程

《在Java中使用ModelMapper简化Shapefile属性转JavaBean实战过程》本文介绍了在Java中使用ModelMapper库简化Shapefile属性转JavaBean的过程,对比... 目录前言一、原始的处理办法1、使用Set方法来转换2、使用构造方法转换二、基于ModelMapper

CentOS系统Maven安装教程分享

《CentOS系统Maven安装教程分享》本文介绍了如何在CentOS系统中安装Maven,并提供了一个简单的实际应用案例,安装Maven需要先安装Java和设置环境变量,Maven可以自动管理项目的... 目录准备工作下载并安装Maven常见问题及解决方法实际应用案例总结Maven是一个流行的项目管理工具

Java实战之自助进行多张图片合成拼接

《Java实战之自助进行多张图片合成拼接》在当今数字化时代,图像处理技术在各个领域都发挥着至关重要的作用,本文为大家详细介绍了如何使用Java实现多张图片合成拼接,需要的可以了解下... 目录前言一、图片合成需求描述二、图片合成设计与实现1、编程语言2、基础数据准备3、图片合成流程4、图片合成实现三、总结前

MySql9.1.0安装详细教程(最新推荐)

《MySql9.1.0安装详细教程(最新推荐)》MySQL是一个流行的关系型数据库管理系统,支持多线程和多种数据库连接途径,能够处理上千万条记录的大型数据库,本文介绍MySql9.1.0安装详细教程,... 目录mysql介绍:一、下载 Mysql 安装文件二、Mysql 安装教程三、环境配置1.右击此电脑

在 Windows 上安装 DeepSeek 的完整指南(最新推荐)

《在Windows上安装DeepSeek的完整指南(最新推荐)》在Windows上安装DeepSeek的完整指南,包括下载和安装Ollama、下载DeepSeekRXNUMX模型、运行Deep... 目录在www.chinasem.cn Windows 上安装 DeepSeek 的完整指南步骤 1:下载并安装

nginx-rtmp-module构建流媒体直播服务器实战指南

《nginx-rtmp-module构建流媒体直播服务器实战指南》本文主要介绍了nginx-rtmp-module构建流媒体直播服务器实战指南,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有... 目录1. RTMP协议介绍与应用RTMP协议的原理RTMP协议的应用RTMP与现代流媒体技术的关系2