首页 > 其他分享 >K8S简介

K8S简介

时间:2023-07-10 18:34:51浏览次数:32  
标签:机器 Kubernetes 简介 虚拟机 集群 应用 K8S 节点

Kubernetes(K8S)是什么

它是一个为容器化应用提供集群部署和管理的开源工具,由Google Docs开发。
kubernetes这个名字源于希腊语,意为“舵手”或“飞行员”。k8s这个缩写就是因为k和s之间有8个字符的关系。Google Docs在2014年开源了Kubernetes项目。

主要特性

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

不同的应用部署方案

img

传统部署方式

应用直接在物理机上部署,机器资源分配不好控制,出现bug时,可能机器的大部分资源被某个应用占用,导致其他应用无法正常运行,无法做到应用隔离。

虚拟机部署

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

容器部署

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

什么时候需要Kubernetes

  • 当你的应用只是在跑一台机器,直接一个 docker + docker-compose 就够了,方便轻松;
  • 当你的应用需要跑在3,4台机器上,你依旧可以每台机器单独配置运行环境 + 负载均衡器;
  • 当你应用访问数不断增加,机器逐渐增加到十几台、上百台、上千台时,每次加机器、软件更新、版本回滚,都会变得非常麻烦、痛不欲生,再也不能好好的摸鱼了,人生浪费在那些没技术含量的重复性工作上。
  • Kubernetes可以为你提供集中式的管理集群机器和应用,加机器、版本升级、版本回滚,那都是一个命令就搞定的事,不停机的灰度更新,确保高可用、高性能、搞扩展。

Kubernetes集群架构

img
master
主节点,控制平台,不需要很高性能,不跑业务,通常一个就行了,也可以开多个主节点来提高集群可用度。

worker
工作节点,可以是虚拟机或物理计算机,任务都在这里跑,机器性能需要好点;通常都有很多个,可以不断加机器扩大集群;每个工作节点由主节点管理。

重要概念 Pod

豆荚,k8s调度、管理的最小单位,一个Pod可以包含一个或多个容器,每个Pod有自己的虚拟IP。一个工作节点可以有多个pod,主节点会考量负载自动调度pod到哪个节点运行。
img

kubernetes组件

  • kube-apiserver API 服务器,公开了Kubernetes API
  • etcd 键值数据库,可以作为保存Kubernetes所有集群数据的后台数据库
  • kube-scheduler 调度Pod到哪个节点运行
  • kube-controller 集群控制器
  • cloud-controller 与云服务商交互
    img

标签:机器,Kubernetes,简介,虚拟机,集群,应用,K8S,节点
From: https://www.cnblogs.com/xiaodunan/p/17541970.html

相关文章

  • 1-MyBatisPlus 入门案例与简介
    1.入门案例MybatisPlus(简称MP)是基于MyBatis框架基础上开发的增强型工具,旨在简化开发、提供效率。开发方式基于MyBatis使用MyBatisPlus基于Spring使用MyBatisPlus基于SpringBoot使用MyBatisPlusSpringBoot整合MybatisPlus具体实现步骤为:创建数据库......
  • csharp hook 简介
    对于csharp的hook程序,基于manage的性质,不是hook自身进程内消息,就是hook全局windows消息。一般我们hook都是nativedll将它放入第三方进程的内存空间里去。 csharp里的几种hook方式1.在win32,winform或wpf的窗口内添加消息hook,这样接受的是只在该窗口上产生的消息。2。SetWin......
  • Hadoop on k8s 编排部署进阶篇
    目录一、概述二、k8s部署部署三、开始编排部署Hadoop1)构建镜像Dockerfile2)values.yaml文件配置3)hadoopconfigmapyaml4)hiveconfigmapyaml5)开始安装6)测试验证一、概述Hadoop是一个开源的分布式计算框架,用于处理大规模数据集的存储和处理。它使用了Hadoop分布式文件系统......
  • 安装k8s-1.27.0(二)
    安装软件包[root@k8smaster2~]#yuminstall-ykubelet-1.27.0kubeadm-1.27.0kubectl-1.27.0生成初始化配置文件[root@k8smaster1~]#kubeadmconfigprintinit-defaults>kubeadm.yaml修改初始化文件添加ipvs启动插件apiVersion:kubeproxy.config.k8s.io/v1alpha1kind:......
  • k8s 深入篇———— Job与CronJob[十]
    开篇简要演练一下job和cronjob正文实际上,它们主要编排的对象,都是“在线业务”,即:LongRunningTask(长作业)。比如,我在前面举例时常用的Nginx、Tomcat,以及MySQL等等。这些应用一旦运行起来,除非出错或者停止,它的容器进程会一直保持在Running状态。但是,有一类作业显然不满足......
  • 行行AI人才直播第8期:新加坡国立大学在读博士生张傲《多模态大语言模型(MLLM)的简介及
    随着ChatGPT在各领域展现出非凡能力,多模态大型语言模型(MLLM)近来也成为了研究的热点,它利用强大的大型语言模型(LLM)作为“大脑”,可以执行各种多模态任务。更让人感慨的是,MLLM展现出了传统方法所不具备的能力,比如能够根据图像创作故事,无需OCR的数学推理等,这为实现人工智能的通用......
  • k8s命名空间和资源限制
    什么是命名空间Kubernetes支持多个虚拟集群,它们底层依赖于同一个物理集群。这些虚拟集群被称为命名空间。命名空间namespace是k8s集群级别的资源,可以给不同的用户、租户、环境或项目创建对应的命名空间,例如,可以为test、devlopment、production环境分别创建各自的命名空间。names......
  • k8s部署的四种方法
    k8s(Kubernetes)是一个开源的容器编排平台,支持多种部署方式。常见的k8s部署方式包括:基于二进制文件、kubeadm工具、云服务提供商、容器镜像等方式。下面对这些k8s部署方式进行简要介绍:1.基于二进制文件的部署方式这种方式需要手动下载和安装k8s组件,包括kube-apiserver、kube......
  • raid简介
    1.raid简介RAID是英文RedundantArrayofIndependentDisk的首字母缩写,中文意思是:独立磁盘冗余阵列。通俗的讲就是把多块硬盘组成一个独立的磁盘阵列进行管理。磁盘阵列是由很多块独立的磁盘,组合成一个容量巨大的磁盘组,利用个别磁盘提供数据所产生加成效果提升整个磁盘系统......
  • 基于rancher搭建k8s
    快速搭建rancher-v用来挂载证书,如果没有证书,可以删除,默认使用rancher内置的自签证书dockerrun-d--namerancher--privileged--restart=unless-stopped\-p10080:80-p10443:443\-v/root/tmp/rancher.mb.com.crt:/etc/rancher/ssl/cert.pem\-v/root......