这里写自定义目录标题
- K3s和K8s的部署及研究
- Kubernetes (K8s)
- K3s
- 使用场景
- 总结
- 1、备份系统自带yum源配置文件
- 2、进入 /etc/yum.repos.d
- 3、删除文件
- 4、设置
- 5、缓存
K3s和K8s的部署及研究
K3s 和 K8s(Kubernetes)是两个相关但不同的容器编排平台。以下是对它们的详细介绍:
Kubernetes (K8s)
Kubernetes,通常简称为K8s,是一个开源的容器编排平台。它最初由Google设计,后来交给Cloud Native Computing Foundation(CNCF)维护和发展。Kubernetes旨在自动化应用程序的部署、扩展和管理。它具有以下主要特性:
- 自动化部署和管理:自动化地部署、管理和扩展容器化应用程序。
- 服务发现和负载均衡:提供内置的服务发现和负载均衡机制。
- 存储编排:自动挂载存储系统,如本地存储、公共云提供商等。
- 自愈能力:自动重启失败的容器、替换节点、重新调度和再分配工作负载。
- 自动扩展:根据负载自动扩展和缩减容器实例。
K3s
K3s 是由Rancher Labs开发的一款轻量级的Kubernetes发行版。K3s的目标是简化和优化Kubernetes,使其更适合于资源有限的环境,如物联网设备、边缘计算环境和开发人员的本地开发环境。K3s具有以下主要特性:
- 轻量级:K3s删除了一些不常用的Kubernetes组件和功能,从而减少了资源占用。
- 简化安装:K3s的安装和配置比Kubernetes简单得多,适合快速部署和测试。
- 内置数据库:K3s使用SQLite作为默认数据库,但也支持使用etcd和其他存储后端。
- 减少依赖:K3s将Kubernetes的依赖项打包在一起,减少了外部依赖的复杂性。
- 嵌入式组件:K3s包括了诸如容器运行时、网络插件和存储插件等常用组件,使得部署更加简单和一致。
使用场景
Kubernetes 适合于生产级别的大规模集群管理和复杂的云原生应用程序,通常用于云服务提供商(如Google Cloud、AWS、Azure)和大型企业的基础设施。
K3s 适合于资源有限的环境,如物联网设备、边缘计算、开发和测试环境,以及希望快速部署Kubernetes的小型团队或个人开发者。
总结
- Kubernetes (K8s) 是一个全面、强大但较为复杂的容器编排平台,适用于大规模和生产环境。
- K3s 是一个轻量级的Kubernetes发行版,适用于资源受限的环境以及开发和测试场景。
选择使用哪一个平台取决于具体的使用需求和环境条件。如果需要完整的功能和大规模支持,Kubernetes是首选。如果需要快速部署或运行在资源有限的设备上,K3s是更合适的选择。
K3S和K8S之间的区别
K8s和 k3s 各有优劣。若是你要进行大型的集群部署,建议你选择使用 K8s ;若是你处于边缘计算等小型部署的场景或仅仅须要部署一些非核心集群进行开发 测试,那么选择 k3s 则是性价比更高的选择。
---:云计算场景用k8s
---:边缘计算场景用 k3s
在实际的应用部署中,几乎没有任何差异,至少到目前为止,一般k8s能满足的场景,k3s也能满足,相信,通过不断的迭代,k3s在未来会更完善边缘场景。
K3S的安装部署
3.1 环境介绍
安装k3s服务的操作系统要求:
---:Linux 的内核版本在3.10以上
---:每台服务器上至少要有512MB的内存空间
---:硬盘中可用的存储空间必须大于500 MB
1.准备两台CentOS7主机
一台为一台为
2.准备安装环境
2.1安装系统环境:操作系统初始化配置(所有节点)
# 2).关闭防火墙
sudo systemctl stop firewalld
sudo systemctl disable firewalld
# 3).关闭SeLinux
sudo setenforce 0
sudo sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config
# 4)设置主机名
hostnamectl set-hostname <hostname>
# 5)修改hosts文件
cat >> /etc/hosts << EOF
172.21.12.176 k3s-node1
172.20.10.11 k3s-node2
EOF
# 6)修改resolv.conf,解决域名解析失败的问题
cat >> /etc/resolv.conf << EOF
nameserver 8.8.8.8
nameserver 114.114.114.114
EOF
# 7).配置yum源
yum install -y yum-utils
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 8)同步时间
yum install ntpdate -y
ntpdate time.windows.com
注意:
1)如果安装yum源时报错:
原因:yum源的问题
卸载yum然后重新安装
- 查看已安装的yum
rpm -qa|grep yum
- 删除已有的yum
rpm -aq|grep yum|xargs rpm -e --nodeps
- 下载以下安装包
wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/python-2.7.5-89.el7.x86_64.rpm
wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/python-iniparse-0.4-9.el7.noarch.rpm
wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/yum-3.4.3-168.el7.centos.noarch.rpm
wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/yum-metadata-parser-1.1.4-10.el7.x86_64.rpm
wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.31-54.el7_8.noarch.rpm
如果找不到以上版本,可以到 https://mirrors.aliyun.com/centos/7/os/x86_64/Packages下载最新版本
下载完成之后安装
rpm -ivh python-2.7.5-89.el7.x86_64.rpm python-iniparse-0.4-9.el7.noarch.rpm --nodeps --force
rpm -ivh yum-metadata-parser-1.1.4-10.el7.x86_64.rpm --nodeps --force
rpm -ivh yum-3.4.3-168.el7.centos.noarch.rpm yum-plugin-fastestmirror-1.1.31-54.el7_8.noarch.rpm --nodeps --force
完成,重新使用yum命令即可。
如果还是不行则是镜像源的问题,修改yum的镜像源地址:
1、备份系统自带yum源配置文件
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
2、进入 /etc/yum.repos.d
cd /etc/yum.repos.d
3、删除文件
rm -f *.repo
4、设置
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
5、缓存
yum clean all
yum makecache
成功。
2.安装docker
1)安装必要的依赖项
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
2)添加Docker稳定版仓库
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3)安装Docker
sudo yum install -y docker-ce docker-ce-cli containerd.io
4)启动Docker服务
sudo systemctl start docker
5)设置Docker开机启动
sudo systemctl enable docker
Docker配置国内阿里镜像源
vi /etc/docker/daemon.json
{
"registry-mirrors": [
"https://jp8hrgkf.mirror.aliyuncs.com",
"https://dockerhub.azk8s.cn",
"https://reg-mirror.qiniu.com"
],
"insecure-registries": [],
"exec-opts": ["native.cgroupdriver=systemd"]
}
重启docker
systemctl daemon-reload && systemctl restart docker;
ror.aliyuncs.com",
“https://dockerhub.azk8s.cn”,
“https://reg-mirror.qiniu.com”
],
“insecure-registries”: [],
“exec-opts”: [“native.cgroupdriver=systemd”]
}
重启docker
systemctl daemon-reload && systemctl restart docker;