技术分享 | Kubernetes 学习笔记之基础知识篇

Kubernetes(K8s)从入门到精通 K8s从入门到精通一、Docker背景和K8s介绍1.1 应用部署方式演变1.2 K8s介绍1.3 K8s组件1.4 K8s概念二、集群环境搭建 一、Docker背景和K8s介绍 1.1 应用部署方式演变 部署方式 传统部署 虚拟化部署 容器化部署 概念 直接将应用部署在物理机上 在一台物理机上运行多个虚拟机,每个虚拟机是一个独立的环境 与虚拟机类似,但是共享了操作系统 优点 简单 应用环境不会相互影响,有一定的安全性 保证每个容器有自己的文件系统、CPU、内存等 缺点 很难合理分配 阅读详情

作者:张强

爱可生研发中心成员,后端研发工程师,目前负责DMP产品 Redis 相关业务开发。

本文来源:原创投稿

*爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。


一. 什么是 Kubernetes ?

Kubernetes,又称为 k8s(首字母为 k、首字母与尾字母之间有 8 个字符、尾字母为 s,所以简称 k8s )或者简称为「kube」,是一个可移植的、可扩展的开源平台,用于管理容器化的工作负载和服务。相比与传统部署以及虚拟化部署方式而言,具有如下特点:

  • 敏捷应用程序的创建和部署:与使用 VM 镜像相比,提高了容器镜像创建的简便性和效率。
  • 持续开发、集成和部署:通过快速简单的回滚(由于镜像不可变性),支持可靠且频繁的 容器镜像构建和部署。
  • 关注开发与运维的分离:在构建/发布时而不是在部署时创建应用程序容器镜像, 从而将应用程序与基础架构分离。
  • 可观察性:不仅可以显示操作系统级别的信息和指标,还可以显示应用程序的运行状况和其他指标信号。
  • 跨开发、测试和生产的环境一致性:在便携式计算机上与在云中相同地运行。
  • 跨云和操作系统发行版本的可移植性:可在 Ubuntu、RHEL、CoreOS、本地、 Google Kubernetes Engine 和其他任何地方运行。
  • 以应用程序为中心的管理:提高抽象级别,从在虚拟硬件上运行 OS 到使用逻辑资源在 OS 上运行应用程序。
  • 松散耦合、分布式、弹性、解放的微服务:应用程序被分解成较小的独立部分, 并且可以动态部署和管理 - 而不是在一台大型单机上整体运行。
  • 资源隔离:可预测的应用程序性能。
  • 资源利用:高效率和高密度。
1. Docker 的兴起

要说 Kubernetes,还要从 docker 容器化技术谈起。

2013年,Docker 公司(彼时还称之为 dotCloud Inc.)在 PyCon 大会上首次公开介绍了 Docker 这一产品。当时最热门的 PaaS 项目是 Cloud Foundary,然而 Docker 项目在 docker 镜像上的优秀设计,解决了当时其他 PaaS 技术未能解决的应用打包和应用发布的繁琐步骤问题。大多数 docker 镜像是直接由一个完整操作系统的所有文件和目录构成的,所以这个压缩包里的内容跟你本地开发和测试环境用的操作系统是完全一样的 —— 正是这一优秀的特性使得 docker 项目在众多 Pass 技术迅速崛起。

2. Docker 编排的进化

Swarm 的最大特点,是完全使用 Docker 项目原本的容器管理 API 来完成集群管理。在部署了 Swarm 的多机环境下,用户只需要使用原先的 Docker 指令创建一个容器,这个请求就会被 Swarm 拦截下来处理,然后通过具体的调度算法找到一个合适的 Docker Daemon 运行起来。

2014年,docker 并购 Fig 项目,将其发展为现在的 Compose,使得容器的部署更加的便利 —— 可以使用配置文件就可以完成较为复杂的容器的编排参数的配置。同年6月,Google 公司发布了 Kubernetes。

2015 年 6 月 22 日,由 Docker 公司牵头,CoreOS、Google、RedHat 等公司共同宣布,Docker 公司将 Libcontainer 捐出,并改名为 RunC 项目,交由一个完全中立的基金会管理,然后以 RunC 为依据,大家共同制定一套容器和镜像的标准和规范。这套标准和规范,就是 OCI( Open Container Initiative )。OCI 的提出,意在将容器运行时和镜像的实现从 Docker 项目中完全剥离出来。从 API 到容器运行时的每一层,Kubernetes 项目都为开发者暴露出了可以扩展的插件机制,鼓励用户通过代码的方式介入到 Kubernetes 项目的每一个阶段。Kubernetes 项目的这个变革的效果立竿见影,很快在整个容器社区中催生出了大量的、基于 Kubernetes API 和扩展接口的二次创新工作,比如:

  • 微服务治理项目 Istio;
  • 有状态应用部署框架 Operator;
  • 还有像 Rook 这样的开源创业项目,它通过 Kubernetes 的可扩展接口,把 Ceph 这样的重量级产品封装成了简单易用的容器存储插件。

二. Docker 容器的技术基础

1. 进程与 Linux Namespaces

为了达到在容器中排除其他进程,docker 利用了 Linux 的 Namespace 机制。在 Linux 系统中创建线程的系统调用是 clone(),比如:

int pid = clone(main_function, stack_size, SIGCHLD, NULL);

此时,这个系统调用就会为我们创建一个新的进程,并且返回它的进程号 pid。而如果在用 clone() 系统调用创建一个新进程时,加入 CLONE_NEWPID 参数,比如:

int pid = clone(main_function, stack_size, CLONE_NEWPID | SIGCHLD, NULL);

此时这个进程就会在一个全新的进程空间里,在这个进程空间里,它的 pid 是1。 除去 PID Namespace,Linux 系统还提供了 Mount、UTS、IPC、Newwork 和 User 等 Namespace。这就是为什么容器中只能「看到」自身容器内的进程的原因了。

2. 资源限制与Linux Cgroups

虽然在容器中 PID 为1的进程只能看到容器里的情况。但是从宿主机角度来看,它作为一个普通进程与其他进程依然是平等关系,也就说它能够使用的资源(CPU、内存等),仍旧可以被宿主机上的其他进程占用。这种情况导致了容器内的进程「隔离了但没有完全隔离」的尴尬,是不符合容器作为一个「沙盒」的特性的。

Linux Cgroups 的全称是 Linux Control Groups。它的最主要作用,就是限制一个进程组能够使用的资源上限,包括 CPU、内存、磁盘、网络带宽等。比如:

  • blkio,为块设备设定 I/O 限制,一般用于磁盘等设备;
  • cpuset,为进程分配单独的 CPU 核和对应的内存节点;
  • memory,为进程设定内存使用的限制。 等等

凭借 Cgroups 的机制,容器化技术可以完成对容器内进程的资源限制。

3. 容器镜像和文件系统

Linux 操作系统中有一个名为chroot的命令,作用就是改变进程的根目录到指定的位置。比如执行chroot $HOME/test /bin/bash之后,如果执行ls /,就会看到命令返回的内容都是 $HOME/test 目录下的内容。Linux 操作系统的第一个 Namespace 是 Mount Namespace,正是基于 chroot 的不断改良而来的。

为了让容器中的目录看起来更「真实」,一般会在容器内的根目录下挂载一个完整操作系统的文件系统。比如 Ubuntu 16.04 的 ISO。这样在启动容器后,在容器内执行ls /查看根目录下的内容,就是 Ubuntu 16.04 的所有目录和文件。这个挂载在容器根目录上、用来为容器进程提供隔离后执行环境的文件系统,就是所谓的「容器镜像」,也称之为 rootfs (根文件系统)。

所以,对于 Docker 来说,核心流程即:

  1. 启用 Linux Namespace 配置;
  2. 设置指定的 Cgroups 参数;
  3. 切换进程的根目录(pivot_root 或 chroot)。

同时需要注意:rootfs 只是一个操作系统所包含的文件、配置和目录,并不包含 Linux 操作系统内核。所有的容器,都共享宿主机操作系统的内核。

综上,一个「容器」,实际上是一个由 Linux Namespace、Linux Cgroups 和 rootfs 三种技术构建出来的进程的隔离环境。可以分为两部分:

  • 容器镜像,即联合挂载在 /var/lib/docker/aufs/mnt 上的 rootfs。
  • 容器运行时,即一个由 Namespace + Cgroups 构成的隔离环境。

三. Kubernetes 架构简介

从一个开发者的角度来说,真正需要关注的是容器镜像。从容器集群管理角度来说,而能够定义容器组织和管理规范的「容器编排」技术是最重要的。其中最具代表性的容器编排工具,当属 Docker 公司的 Compose+Swarm 组合,以及 Google 与 RedHat 公司共同主导的 Kubernetes。

Kubernetes 脱胎与 Google 内部的 Borg 项目。而 Borg,是承载 Google 公司整个基础设施的核心依赖。在 Google 公司已经公开发表的基础设施体系论文中,Borg 项目当仁不让地位居整个基础设施技术栈的最底层。同时在开源社区的努力下,Kubernetes 又修复了原来 Borg 体系中的缺陷和问题。借着 Borg 项目的理论优势,逐步确定了一个如下图所示的全局架构:

Kubernetes 项目的架构,都由 Master 和 Node 两种节点组成,分别对应着控制节点和计算节点。其中:

  • Master 控制节点
    • 负责 API 服务的 kube-apiserver;
    • 负责调度的 kube-scheduler;
    • 负责内容编排的 kube-controller-manager;
    • 负责集群持久化数据的 etcd 。
  • Node 计算节点
    • 负责与容器运行时交互的 kubelet 组件。另外,还为容器配置网络和持久化存储;
    • 负责维护节点上的网络规则 kube-proxy 。
    • 容器运行时,Kubernetes 支持 Docker、containerd、CRI-O 等多个容器运行环境。

以上设计的考量是 Kubernetes 没有把 Docker 作为架构的核心,而仅仅把 Docker 作为一个底层的容器运行时实现。Kubernetes 最核心的问题是:运行在大规模集群中的各种任务之间,实际上存在着各种各样的关系。这些关系的处理,才是作业编排和管理系统最困难的地方。

在一个稍复杂的集群系统中,会有各种不同的服务关系存在,比如:一个 Web 应用与数据库之间的访问关系,一个计算服务和监控套件之间的访问关系等。在容器技术普及之前,处于部署上的便利,这些应用可能会被部署在同一台虚拟机中。在容器技术出现后,原本的各个应用、组件、守护进程,都可以被分别做成镜像并且运行在每个专属的容器中。它们之间互不干涉,拥有各自的资源配额,可以被调度在整个集群的任何一台机器上。

为了更好地处理容器间应用的访问关系,连接紧密的容器会被划分为一个「Pod」,Pod 里的容器共享同一个 Network Namespace、同一组数据卷等。同时 Kubernetes 会给 Pod 绑定一个 Service 服务(kube-proxy),主要作用是作为 Pod 的代理入口,从而代替 Pod 对外暴露一个固定的网络地址。

Kubernetes 还定义了基于 Pod 改进后的对象。比如用 Job 来描述一次性运行的 Pod;用 DaemonSet 来描述有且只有一个副本的守护进程;又比如 CronJob,用于描述定时任务。

Kubernetes 使用声明式 API 方式来编排应用。所谓声明式,就是提交一个定义好的 API 对象来「声明」,表示所期望的最终状态即可。如果提交的是一个个命令,去一步一步达到期望状态,这就是「指令式」。比如,使用 kubernetes 来启动一个 Nginx 容器镜像,具体步骤为:

  1. 编写一个名为 nginx-deployment.yaml 文件,定义一个 Depoloyment 对象。主体是一个使用 Nginx 镜像的Pod,可以定义副本数为 2 (replicas=2);
  2. 执行命令kubectl create -f nginx-deployment.yaml来启动容器。

从设计目标来看, Kubernetes 提供了一套基于容器的、能够便利地构建分布式系统的基础依赖,能够完成容器应用的部署以及应用的弹性管理。它所擅长的,就是按照用户的定义和系统规则,来自动处理容器(应用/服务)之间的各种关系。而这一切,都是基于容器化技术来实现的。至于更进一步的学习 Kubernetes 架构相关知识,以及 Kubernetes 环境下的环境开发,请见后续相关文章更新。

四. 参考

[1] 维基百科:Kubernetes 词条 (https://zh.wikipedia.org/wiki/Kubernetes)

[2] Kubernetes 官方文档 (https://kubernetes.io/)

[3] 深入剖析Kubernetes (https://time.geekbang.org/column/intro/100015201)

[4] 维基百科:Linux namespaces 词条 (https://en.wikipedia.org/wiki/Linux_namespaces)

[5] 维基百科:Cgroups 词条 (https://zh.wikipedia.org/wiki/Cgroups)

小米K8s运维-云原生方向(面经分享) 大家好,我是秋意零。今天分享一篇小米K8s运维面经。 阅读详情

相关推荐

Kubernetes+Docker+Jenkins自动化部署实践与技术(硬核干货分享)

只有实践了才能对其有深入理解,所谓“纸上得来终觉浅,绝知此事要躬行”,本文从实践角度介绍如何结合我们常用的Docker与Jenkins,通过K8s来实现项目的自动化部署。 Kubemetes 是什么? 首先,它是一个全新的基于容器技术的分布式架构领先方案。这个方案虽然还很新,但它是谷歌十几年以来大规模应用容器技术的经验积累和升华的一个重要成果。确切地说,Kubernetes是谷歌严格保密十几年的秘密武器——Borg的一个开源版本。 k8s孕育的初衷是培育出一个组件及工具的生态,帮助大家减轻在公有云及私有云上

爱写代码的程序员 1142

Kubernetes 学习笔记

Kubernetes是一个全新的基于容器技术的分布式架构领先方案,是谷歌严格保密十几年的密码武器**Borg**系统的一个开源版本,与2014年9月发布第一个版本,2015年7月发布第一个正式版本。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rRW0aNF1-1679383666232)(file://C:\Users\Soosky\AppData\Roaming\marktext\images\2023-03-03-16-32-17-image.png?

王珂的专栏 935

k8s网络架构、k8s实战、实现原理、kube-proxy架构和Kubernetes分享

0)SEO优化(大家可忽略此行):K8S、Kubernetes、Linux、运维、Ops、SRE、DB 1)前言: 近期在做K8S的技术积累,发现网络各个社区极少有经验化的介绍K8S架构,小弟才疏学浅,尝试跟大家分享 2)K8S各种Service - nodePort: 可对外提供服务, 通常关联Ingress、nginx-ingress、haproxy-ingress, 实测LB入口只能关联NodePort无法关联ClusterIP - ClusterIP: 相信大家是非常熟悉的...

soshow2011的博客 881

Kubernetes学习笔记

B站视频地址:尚硅谷 云原生 雷神Kubernetes 官网文档Kubernetes这个名字源于希腊语,意为“舵手”或“飞行员”。k8s 这个缩写是因为 k 和 s 之间有八个字符的关系。

qq_50857462的博客 1101

工业界实战:小红书推荐系统中的AB测试策略解析——分层、Holdout与反转实验

本文深入解析了小红书推荐系统在工业界实践中采用的AB测试核心策略。重点阐述了分层实验如何解决多实验并行与干扰问题,Holdout机制如何作为评估黄金标准提供稳定基准,以及反转实验如何作为全量上线后的终极安全网进行风险控制。这些策略共同构成了科学、严谨的线上评估体系,是保障推荐系统迭代效果与决策质量的关键。

transformer2023的博客 477

用Isaac Sim复现经典案例:手把手教你写Python脚本控制机械臂抓取(附避障算法调试心得)

本文详细介绍了如何使用NVIDIA Isaac Sim仿真系统复现机械臂抓取经典案例,包括Python脚本编写、避障算法调试等关键步骤。通过URDF模型导入、关节控制逻辑实现和RMPFlow避障配置等实战演示,帮助开发者快速掌握机器人仿真技术,特别分享了官方文档未提及的实用调试技巧和性能优化策略。

weixin_30632089的博客 407

Kubernetes学习笔记 ~~~黑马程序员

Kubernetes学习笔记 ~~~黑马程序员 1. Kubernetes介绍 1.1 应用部署方式演变 在部署应用程序的方式上,主要经历了三个时代: 传统部署:互联网早期,会直接将应用程序部署在物理机上 优点:简单,不需要其它技术的参与 缺点:不能为应用程序定义资源使用边界,很难合理地分配计算资源,而且程序之间容易产生影响 虚拟化部署:可以在一台物理机上运行多个虚拟机,每个虚拟机都是独立的一个环境 优点:程序环境不会相互产生影响,提供了一定程度的安全性 缺点:增加了操作系统,浪费了部分资源

乐观的阿锡的博客 5107

sqoop抽取mysql的数据到hive表里面,字段内容被自动截取,导致字段不全的问题解决

今天央视重新转播NBA,写篇博客纪念一下这个重要的日子,湖人的表现就呵呵了!!!! 强行转到博客的主题来 mysql的字段属性:该字段能存下的值比如:“山东” `province` varchar(3) NOT NULL COMMENT '省份' 用sqoop sqoop import --connect "jdbc:mysql://xxxxxx:3306/xxxxxx?tinyInt1isBit=false&zeroDateTimeBehavior=convertToNull..

放肆桀骜 963

kubernetes超详细笔记(一看就会,一学就废)

kubernetes全套笔记 忘了就来看看

weixin_44946147的博客 508

还在用 RaiDrive/Rclone 挂载网盘?教您使用Windows 原生 WebDAV 丝滑直连 AList/Openlist,让你的网盘秒变本地硬盘!

网盘文件分散管理?😩 别再依赖第三方工具了!本文教你如何在 Windows 下,利用原生 WebDAV 功能,将 Openlist 网盘直接映射为本地硬盘!💻 操作简单,告别繁琐,让你的云端文件像本地文件一样丝滑!🚀 轻松实现高效管理,快来体验吧!

XiaoqiangClub的博客 2974

BLDC&PMSM电机控制器硬件设计工程(八)72V 10kW电机控制器原理图工程及库文件

电机控制器基本需求:接口类型;MCU平台;通信接口;供电;信号采集;信号输出;功率;EMC或者认证需求。

小幽余生不加糖 373

Kubernetes详细笔记(K8s)

Kubernetes超详细笔记

写代码的渣渣苏 4万+

使用自己的数据跑通mmsegmentation

使用自己的数据跑通mmsegmentation,解决以下报错:1)type object 'FileClient' has no attribute 'infer_client' 2)It is expected output_size equals to 2, but got size 3 3)训练测试结果报NAN 4)KeyError: 'MyDataset is not in the dataset registry' 5)预训练模型和加载的网络结构层名有差异,unexpected key .....

猫猫与橙子的博客 1656

Kubernetes K8S 基于 Docker 安装部署

在 Docker 容器技术被炒得热火朝天之时,大家发现,如果想要将 Docker 应用于具体的业务实现,是存在困难的——编排、管理和调度等各个方面,都不容易。于是,人们迫切需要一套管理系统,对 Docker 及容器进行更高级更灵活的管理。就在这个时候,K8S 出现了。K8S,就是基于容器的集群管理平台,它的全称,是 Kubernetes。 本次主题将会为你分享: K8S 起源 K8S 集群 为什...

GitChat 1万+

AutoSAR配置与实践(实践篇)13.1 如何添加一个NVM BLOCK

解决办法:如下红框选项都不要自定义,否则无法自动生成对应RAM/ROM映射接口函数。传送门–AUTOSAR配置与实践—总目录传送门–AUTOSAR配置与实践—总目录。

nihaoljq2010的博客 3038

某城商银行生产容器云平台详细设计方案分享及经验总结

AS3模式的CIS容器部署在K8S集群内,作为F5的控制器,CIS容器通过对K8S集群内Configmap资源进行监控,将Configmap资源中的内容转化为F5的配置,将配置推送给 F5 ,CIS容器还通过K8S标准的API接口完成业务发现和实时监听集群内Pod的变化,一旦Pod发生变化,相应的更新会及时推送给F5,并完成更新。容器技术发展非常迅速,现在应用大多以容器作为承载介质,前两年在容器云上承载的应用类型主要是Web类,随着容器云领域的不断发展,越来越多的应用类型将迁移至容器云,包括有状态应用。

qq_61890005的博客 856

K8s(Kubernetes)内容分享(一):K8s(Kubernetes) 介绍

容器运行时是 Kubernetes 中用于运行容器的底层组件,它负责将容器镜像转换为可以运行的进程,并提供容器的隔离、资源管理和网络管理等功能。同时,Kubernetes 还提供了一系列的资源管理机制,如资源调度、容器网络、存储编排等,控制整个容器集群的运行状态,并保证应用程序在容器集群中的高可用性和可靠性。Scheduler 是 Kubernetes 集群中的另一个重要组件,主要负责根据集群中各个节点的负载情况,以及用户的调度策略,将新创建的 Pod 分配到合适的节点上。

之乎者也·的博客 1436

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

【免费下载】 Kubernetes 技术分享 PPT 下载

Kubernetes 技术分享 PPT 下载 【下载地址】Kubernetes技术分享PPT下载分享 Kubernetes 技术分享 PPT 下载 项目地址: https://gitcode.com/Open-source-doc...

gitblog_06613的博客 1290

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

【K8S系列】K8s 领域深度剖析:年度技术、工具与实战总结

Kubernetes作为容器编排领域的行业标准,在过去一年里持续进化,深刻推动着云原生应用开发与部署模式的革新。本文我将深入总结在使用K8s特定技术领域的进展,分享在过去一年中相关技术工具及平台的使用体会,并展示基于K8s的技术项目实战经验与成果。

颜淡慕潇 1万+

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

Kubernetes(k8s)服务介绍

Kubernetes,又称为 k8s(首字母为 k、首字母与尾字母之间有 8 个字符、尾字母为 s,所以简称 k8s),是一种可自动实施 Linux 容器操作的开源平台。它可以帮助用户省去应用容器化过程的许多手动部署和扩展操作。也就是说,您可以将运行 Linux 容器的多组主机聚集在一起,由 Kubernetes 帮助您轻松高效地管理这些集群。而且,这些集群可跨公共云、私有云或混合云部署主机。因此,对于要求快速扩展的云原生应用而言(例如借助 Apache Kafka 进行的实时数据流处理),Kubernet

shenyuanhaojie的博客 5086

K8S全栈架构师初、中、高级篇+架构篇资料分享

我用夸克网盘分享了「K8S全栈架构师 K8s初级篇+中级篇+高级篇+架构篇」链接:https://pan.quark.cn/s/fba5e91a7870。

2501_90713682的博客 787

【Kubernetes】什么是Kubernetes(K8s):容器编排的王者

Kubernetes(K8s)是开源的容器编排平台,自动化管理容器化应用的部署、扩展和维护。源自Google的Borg系统,现由CNCF维护,已成为云原生生态的核心。其核心概念包括Pod、Deployment、Service等,采用主从架构实现高可用管理。K8s通过声明式配置自动调度容器,支持故障恢复、滚动更新和弹性扩缩容。优势包括跨云可移植性、丰富生态和高效资源利用,但存在学习曲线陡峭和运维复杂的缺点。适用于微服务、CI/CD、AI等场景,是构建可扩展云应用的重要工具。

彬彬侠的博客 1974

Kubernetes (k8s)分享

kubelet:是Master 在 Node 节点上的 Agent(代理),与 Master 密切协作,管理本机运行容器的生命周期,负责 Pod 对应的容器的创建、启停等任务,实现集群管理的基本功能。ReplicaSet 可以控制 pod 的副本数,在实际部署中我们还会有更新、回溯等的需求,例如要将pod 更新到新的版本,希望能滚动升级(rolling update),希望先停止一个旧版本的 pod 并启动新版本的 pod,直到所有的 pod 都是新版本的。通俗的讲,K8S是一个产品级别的容器编排系统。

chen_xiao_yu_的博客 1191

技术实践|SpringCloud在k8s下的应用分享

在k8s中,可直接使用云原生的k8s注册中心完成服务的注册及发现,网关可使用ingress完成类似的工作,然后类似于非k8s的以服务名称调用模式完成微服务的调用。在命名空间中运行的最小单元,可将之视作一个个的虚拟机,我们的应用程序都是运行于POD中。通过不同的形态可发现,在k8s中已提供了完整的运行SpringCloud的原生生态,并且通过SpringCloudKubernetes的顶层实现,完全屏蔽了底层,我们可以在微服务的层面完全无感的切换至k8s平台,甚至在应用程序层完全无侵入。...

zhongdianjinxin的博客 4038

Kubernetes技术笔记-从理论到实践,轻松搭建K8s集群

本文详细介绍了Kubernetes集群的部署流程,包括理论架构和实际操作步骤,从理论到实践,从零开始搭建属于自己的K8s集群,全文6k字。首先阐述了K8s作为容器编排系统的核心功能,解析了Master和Node节点的组件构成。随后提供了完整的集群规划方案,涵盖环境要求、主机准备和必要服务配置。重点讲解了Master节点的搭建过程,包括环境配置、软件安装、容器运行时设置、内核参数优化等关键步骤,并详细说明了网络插件Calico的安装方法。最后指导Node节点如何加入集群,并给出验证命令。

m0_65816971的博客 1787

[k8s实战]Kubernetes (K8s) 从入门到精通(十五)

Docker是目前最流行的容器技术平台,它提供了一套完整的工具链,用于构建、分发和运行容器。Docker 的核心概念:镜像是容器运行的基础,它包含了应用运行所需的所有文件系统、库和依赖项。容器是镜像的运行实例,它是一个独立的、隔离的运行环境。仓库用于存储和分享 Docker 镜像,Docker Hub 是最常用的公共仓库。Docker 的优势:Docker 提供了简单易用的命令行工具,用户可以轻松地构建、运行和管理容器。Docker 拥有庞大的用户社区和丰富的生态系统,用户可以轻松找到所需的资源和支持。

曼岛_的博客 3005
上一篇: 数据传输 | DTLE并行回放性能测试报告
下一篇: 第36期:MySQL 原生水平拆表
爱可生开源社区
博客等级 码龄8年 1936粉丝 1004原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值