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

k8s 容器部署

目录

Docker

什么是kubernetes

容器部署

k8S

架构和组件

安装

部署方式介绍

kubeadm 部署方式介绍

Docker Compose 容器编排


容器技术的官方定义是:

容器是通过一种虚拟化技术来隔离运行在主机上不同进程,从而达到进程之间、进程和宿主操作系统相互隔离、互不影响的技术。

要理解这个定义,首先要弄清楚容器和虚拟机的区别

简单来说,虚拟机是一个机器,但容器是一个进程。

每一个虚拟机里面都有一套完整的操作系统,而容器层安装在操作系统之上,它直接利用了宿主机的内核,更加轻量化,启动速度极快。通常,我们在会每个容器里面跑单个的应用,而在虚拟机里会跑很多应用。下图展示了虚拟机和容器的不同。

容器技术具有:简化部署、快速启动、服务组合、易于迁移等优点。

Docker

最流行的开源容器引擎:Docker

谈到容器,就不能不讲Docker。Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。

Docker把容器变得标准化了。要理解Docker,你需要明白三个最主要的概念:容器、镜像、仓库

  • 容器是运行在虚拟机上的进程。

  • 镜像是一种存储形式,可以理解为数据或应用的副本。

  • 仓库是用来存储镜像的。

Docker能够普遍使用起来,很大程度上个得益于Docker的仓库里汇集了很多已经标准化的镜像,大大提升了部署效率。

什么是kubernetes

了解了容器和Docker,再来看kubernetes的定义就很容易理解了。

上文提到,Kubernetes是用于自动部署、扩展和容器化应用程序的开源系统。

当我们使用的容器服务多了,面临的访问量增大以后,我们就需要一种工具把这些容器统一的管理起来,需要实现对这些容器的自动部署、扩展和管理。也就是俗称的容器编排。

Kubernetes就是这样一种容器编排系统

上图是Kubernetes的架构图。

从大的模块看,图中包含Master组件(APIs, scheduler, etc),Node节点和cloud端。

Master中,包含负责提供API服务的组件kube-apiserver;作为后台数据库的etcd,监听组件kube-scheduler;运行控制器的组件kube-controller-manager。

Node节点中包括运行在各个节点的客户端的kubelet,运行在各个节点的网络代理组件kube-proxy,支持运行容器底层环境的软件Container Runtime。

Cloud端作为集群外部的附加能力,通过与cloud-controller-manager组件对接,扩展k8s集群云上动态扩展的特性。

原文链接:https://blog.csdn.net/SinnetCloud/article/details/105580566

容器部署

分布式集群容器选择Docker,k8s进行容器管理。

容器:方便做持续集成并有助于整体发布的虚拟化技术。 容器之间互相隔离,每个容器有自己的文件系统 ,容器之间进程不会相互影响,能区分计算资源。

一次构建,随处运行

  • 更快速的应用交付和部署

  • 更便捷的升级和扩缩容

  • 更简单的系统运维

  • 更高效的计算资源利用

k8S

k8s 是kubernets的缩写,’8‘代表中间的八个字符。

其实 Docker 和 k8s 并非直接的竞争对手,它俩相互依存。 Docker 是一个容器化平台,而 k8s 是 Docker 等容器平台的协调器。

随着容器越来越多出现了一系列新问题:

  • 如何协调和调度这些容器?

  • 如何在升级应用程序时不会中断服务?

  • 如何监视应用程序的运行状况?

  • 如何批量重新启动容器里的程序?

解决这些问题需要容器编排技术,可以将众多机器抽象,对外呈现出一台超大机器。现在业界比较流行的有:k8s、Mesos、Docker Swarm。

在业务发展初期只有几个微服务,这时用 Docker 就足够了,但随着业务规模逐渐扩大,容器越来越多,运维人员的工作越来越复杂,这个时候就需要编排系统解救opers。

架构和组件

k8s 由众多组件组成,组件间通过 API 互相通信,归纳起来主要分为三个部分:

  • Controller Manager,即控制平面,用于调度程序以及节点状态检测。

  • Nodes,构成了Kubernetes集群的集体计算能力,实际部署容器运行的地方。

  • Pods,Kubernetes集群中资源的最小单位。

k8s集群架构图

https://juejin.cn/post/6913568633813729294

安装

https://blog.csdn.net/iiothub/article/details/135929132

 # Kubernetes​https://iothub.org.cn/docs/kubernetes/https://iothub.org.cn/docs/kubernetes/pro/deploy-kubernetes/

部署方式介绍

目前生产部署 Kubernetes 集群主要有两种方式:

kubeadm Kubeadm 是一个 K8s 部署工具, 提供 kubeadm init 和 kubeadm join, 用于快速部 署 Kubernetes 集群。 官方地址: https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm/

二进制包 从 github 下载发行版的二进制包, 手动部署每个组件, 组成 Kubernetes 集群。 Kubeadm 降低部署门槛, 但屏蔽了很多细节, 遇到问题很难排查。 如果想更容易可 控, 推荐使用二进制包部署 Kubernetes 集群, 虽然手动部署麻烦点, 期间可以学习很 多工作原理, 也利于后期维护。

kubeadm 部署方式介绍

kubeadm 是官方社区推出的一个用于快速部署 kubernetes 集群的工具, 这个工具能通 过两条指令完成一个 kubernetes 集群的部署: 第一、 创建一个 Master 节点 kubeadm init 第二, 将 Node 节点加入到当前集群中 $ kubeadm join <Master 节点的 IP 和端口 >

这个工具能通过两条指令完成一个kubernetes集群的部署:

 创建一个 Master 节点​$ kubeadm init​将一个 Node 节点加入到当前集群中​$ kubeadm join <Master节点的IP和端口 >

环境准备

host文件、时间同步、安装docker

部署高可用kubernetes集群

节点配置

主机名IP地址角色
k8s-master1172.51.216.81master
k8s-master2172.51.216.82master
k8s-master3172.51.216.83master
k8s-node1172.51.216.84node
k8s-node2172.51.216.85node
k8s-node3172.51.216.86node
k8s-node4172.51.216.87node
VIP(虚拟ip)172.51.216.90vip

Docker Compose 容器编排

容器编排工具

  • docker machine

    • 在虚拟机中部署docker容器引擎的工具

  • docker compose

    • 是一个用于定义和运行多容器Docker的应用程序工具

  • docker swarm

    • 是Docker Host主机批量管理及资源调度管理工具

  • mesos+marathon

    • mesos 对计算机计算资源进行管理和调度

    • marathon 服务发现及负载均衡的功能

  • kubernetes

    • google开源的容器编排工具

http://www.dtcms.com/a/541507.html

相关文章:

  • Android的事件分发机制
  • 南京传销是以网站开发张槎网站建设
  • 写作网站好吗做游戏视频去哪个网站好
  • 斗兽棋象狮虎豹狼小游戏抖音快手微信小程序看广告流量主开源
  • MySQL的开始,MySQL的安装
  • 构建有记忆的 AI Agent:SQLite 存储 + 向量检索完整方案示例
  • 常州网站关键词优化咨询网站改版对网站优化影响最大的问题有哪些
  • 织梦(dedecms)怎么修改后台网站默认"织梦内容管理系统"标题邯郸seo排名
  • 知识图谱的知识工程建模:如何把名医的“诊断艺术”转化为辅助诊断系统
  • 图表设计网站临清网站推广
  • ubuntu22.04 ros2 fast_lio2 复现
  • 寻找长沙网站建设数据库网站开发
  • 做最好的win7系统下载网站织梦网站模板制作
  • 一条SQL语句的完整执行流程
  • 佛山宽屏网站建设马鞍山哪里做网站
  • 通过API接口批量采购1688商品,一键完成商品下单。
  • 湖北省利川市建设局网站中国安能建设总公司网站
  • 广东省省考备考(第一百三十五天10.28)——言语、判断推理(强化训练)
  • JAVA网络编程TCP通信。
  • 熵增强与量子退火算法与经典迁移策略的结合
  • 数据库安全网关体系中,对Long、Date类型列加密的方法
  • 电子鼻设备市场报告:2025 年行业现状、技术趋势与投资前景全景解析
  • wordpress官方主题论坛嘉兴seo
  • 借助大语言模型实现高效测试迁移:Airbnb的大规模实践
  • 为什么选择做游戏网站哪个网站做网站好
  • 5.1.3 大数据方法论与实践指南-实时湖仓架构设计
  • 咸宁公司做网站深圳结构设计
  • 建网站都用什么字体广东佛山企业
  • 【牛客刷题-剑指Offer】BM23 二叉树的前序遍历:递归与迭代双解法
  • 【算法】day14 链表