当前位置: 首页 > backend >正文

容器化-k8s-介绍及下载安装教程

一、K8s 概念

官网地址: https://kubernetes.io/zh/docs/tutorials/kubernetes-basics/

1、含义

Kubernetes 是一个开源的容器编排引擎,用于自动化部署、扩展和管理容器化应用程序。它可以将多个容器组合成一个逻辑单元,实现对容器的集中管理和调度,从而简化复杂应用的部署和运维。

2、作用

  • 自动化部署: 无需手动逐个部署容器,通过定义配置文件,K8s 可以快速、一致地将应用部署到多个节点上。
  • 弹性扩展: 根据应用的负载情况,自动调整运行的容器实例数量,确保应用在高负载时能够高效运行,在低负载时节省资源。
  • 服务发现与负载均衡: 为容器化应用提供服务发现机制,使不同的服务之间能够轻松通信。同时,通过负载均衡将流量均匀分配到多个容器实例,提高应用的可用性和性能。
  • 故障恢复: 监控容器和节点的状态,当出现故障时,自动重启失败的容器,或将容器重新调度到健康的节点上,保证应用的持续运行。
  • 资源管理: 对集群中的资源进行合理分配和管理,确保各个应用能够按需获取资源,避免资源浪费和竞争。

3、目的

K8s 的核心目的是提高容器化应用的部署效率、可扩展性和可靠性,降低运维成本,使开发人员和运维人员能够更加专注于应用本身的开发和业务逻辑,而不是基础设施的管理。通过 K8s,企业可以快速构建和部署微服务架构,实现应用的持续集成和持续部署(CI/CD),提升整体的研发和运营效率。

二、K8s 安装

(一)环境准备

  • 虚拟机配置: 准备 2 台独立的 CentOS Linux 虚拟机(推荐 CentOS 7.6+),1 台作为 master 节点,1 台作为 slaver 节点(生产环境可按需扩展节点)。
  • 硬件配置: 每台虚拟机配置为 2 核 CPU、4GB 内存、至少 20GB 的磁盘空间。确保虚拟机之间能够通过网络正常通信,关闭防火墙或配置相应的防火墙规则允许 K8s 相关端口通信(如6443、2379-2380、10250、10251、10252 等)。
  • 版本匹配: K8s 版本v1.18.0对应Docker 19.03.15版本(需确保 Docker 与 K8s 版本兼容,参考官方兼容性列表)。

(二)Docker 安装

在 master 节点和 slaver 节点上都需要安装 Docker,作为容器运行时。以下是在 CentOS 上安装 Docker 的步骤:

#卸载旧版本 Docker(若有)
sudo yum remove docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

安装docker仓库

wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O/etc/yum.repos.d/docker-ce.repo

docker安装配置

#1、 安装Docker 24.0.6版本
yum install -y docker-ce-19.03.15 docker-ce-cli-19.03.15 containerd.io
#yum install -y docker-ce-24.0.6 docker-ce-cli-24.0.6 containerd.io
#2、启动docker
systemctl start docker
#3、开机自启动docker
systemctl enable docker
#4、编辑docker源配置文件进入vi /etc/docker/daemon.json如果没有daemon.json文件,则创建文件:touch daemon.json
#5、修改daemon.json文件,复制下面的内容到文件中。
{"registry-mirrors": ["https://docker.211678.top","https://docker.1panel.live","htt
http://www.xdnf.cn/news/6656.html

相关文章:

  • deepseek问答记录:请讲解一下hugingface transformers中的AutoProcessor
  • Unity3D Overdraw性能优化详解
  • YOLOv2目标检测算法:速度与精度的平衡之道
  • 中exec()函数因$imagePath参数导致的命令注入漏洞
  • 无缝部署您的应用程序:将 Jenkins Pipelines 与 ArgoCD 集成
  • 从RPA项目说说RPC和MQ的使用。
  • 大模型相关技术综述
  • 蒟蒻编程日志
  • 高速光耦在通信行业的应用(五) | 5Mbps通信光耦的特性
  • RabbitMQ 扇形交换器工作原理详解
  • 校园社区小程序源码解析
  • 【打破信息差】萌新认识与入门算法竞赛
  • 12 web 自动化之基于关键字+数据驱动-反射自动化框架搭建
  • Python训练打卡Day25
  • 算法基础 -- 小根堆构建的两种方式:上浮法与下沉法
  • Node打包报错:Error: error:0308010C:digital envelope routines::unsupported
  • rk3576 gstreamer opencv
  • c++ 类的语法4
  • 我用 Appuploader绕过 Mac,成功把 iOS 应用上线了 App Store
  • 51单片机串口
  • 现场血案:Kafka CRC 异常
  • HANA数据库死锁
  • PYTHON训练营DAY27
  • qt5.14.2 opencv调用摄像头显示在label
  • CS016-4-unity ecs
  • MySQL查询不区分大小写问题剖析
  • 58. 区间和
  • Multimodal models —— CLIP,LLava,QWen
  • java输入输出类
  • MySQL MCP 使用案例