从0到1:搭建一个完整的Kubernetes集群

本文详述了Kubernetes的基础概念,包括其高可用性、资源管理等特性,并介绍了应用部署的三种方案:传统部署、虚拟机部署和容器部署。接着,解析了Kubernetes的集群架构,包括Master节点和Node节点的角色。最后,详细阐述了使用kubeadm搭建Kubernetes集群的步骤,包括节点设置、组件安装和网络插件配置。
摘要由CSDN通过智能技术生成


前言

搭建集群前提:
熟悉 Linux 操作系统
熟悉 Docker 的基本使用。
Namespace 做隔离,Cgroups 做限制,rootfs 做文件系统
容器的本质是进程
Kubernetes 就是操作系统
Pod 是一组共享了某些资源的容器(关乎容器设计模式)


一、K8s是什么?

它是一个为 容器化 应用提供集群部署和管理的开源工具,由 Google 开发, Go 语言编写。

主要特性:

  • 高可用,不宕机,自动灾难恢复
  • 灰度更新,不影响业务正常运转
  • 一键回滚到历史版本
  • 方便的伸缩扩展(应用伸缩,机器加减)、提供负载均衡
  • 有一个完善的生态

Kubernetes 可以为你提供集中式的管理集群机器和应用,加机器、版本升级、版本回滚,那都是一个命令就搞定的事,不停机的灰度更新,确保高可用、高性能、高扩展。

二、应用部署的三种方案

在这里插入图片描述
传统部署方式: 应用直接在物理机上部署,机器资源分配不好控制,出现Bug时,可能机器的大部分资源被某个应用占用,导致其他应用无法正常运行,无法做到应用隔离。

虚拟机部署: 在单个物理机上运行多个虚拟机,每个虚拟机都是完整独立的系统,性能损耗大

容器部署: 所有容器共享主机的系统,轻量级的虚拟机,性能损耗小,资源隔离,CPU和内存可按需分配。

三、K8s的集群架构

在这里插入图片描述
master:主节点,控制平台,不需要很高性能,不跑任务,通常一个就行了,也可以开多个主节点来提高集群可用度。

Master 节点,由三个紧密协作的独立组件组合而成,它们分别是负责 API 服务的 kube-apiserver、负责调度的 kube-scheduler,以及负责容器编排的 kube-controller-manager
整个集群的持久化数据,则由 kube-apiserver 处理后保存在 Etcd 中.

Node:计算节点,计算节点上最核心的部分,则是一个叫作 kubelet 的组件。

kubelet 主要负责同容器运行时(比如 Docker 项目)打交道。
kubelet 还通过 gRPC 协议同一个叫作 Device Plugin 的插件进行交互。
kubelet 的另一个重要功能,则是调用网络插件和存储插件为容器配置网络和持久化存储。

重要概念Pod:豆荚,K8S 调度、管理的最小单位,一个 Pod 可以包含一个或多个容器,每个 Pod 有自己的虚拟IP。一个工作节点可以有多个 pod,

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值