Kubernetes,走进未来软件世界的敲门砖

简介:

不管你是否意识到,在过去的几年时间里,以Docker、Kubernetes为代表的容器技术已经悄然发展成为一项通用技术。放眼国外,Google、Microsoft、IBM等互联网巨头们,仍在容器开源基础设施的技术市场上厮杀。回看国内,包括BAT、滴滴、京东、头条在内的大厂也都争相把容器和Kubernetes项目作为其技术重心,试图“放长线钓大鱼”。

正如媒体所言,软件正在吃掉世界,而容器正在吃掉整个软件世界。虽说有些夸张,但也充分证明了容器在当今软件研发领域的地位。顺势而为,是否掌握容器技术也成为很多企业在招聘时的一个重要选项。

容器技术本身是一项偏向运维工程师的基础技术,namespace资源隔离、cgroups资源限制等等概念对于开发人员来说,都有一道难以逾越的理解鸿沟。这些年,我一直都在和容器打交道,也一直和容器工程师探讨落地过程中的问题。从这些交流中,我发现总有很多相似的问题被反复提及,比如:

● 为什么容器里只能跑“一个进程”?
● 为什么我原先一直在用的某个JVM参数,在容器里就不好使了?
● 为什么Kubernetes就不能固定IP地址?容器网络连不通又该如何去Debug?
● Kubernetes中StatefulSet和Operator到底什么区别?PV和PVC又该怎么用?

这些问题乍一看与我们平常的认知非常矛盾,但它们的答案和原理却并不复杂。而这些对于容器初学者来说,又很难用一两句话就解释清楚。

容器技术涉及到操作系统、网络、存储、调度、分布式原理等等各方面的综合知识,也就导致了很多初学者面对容器技术,要么知识储备不足,要么杂乱无章、无从下手。

其实,看似纷乱繁杂容器技术体系,却存在着很多可以“牵一发而动全身”的主线。比如,Linux的进程模型对于容器本身的重要意义;或者,“控制器”模式对整个Kubernetes项目提纲挈领的作用。

这些基础知识并不会在Docker或者Kubernetes的官方文档中详细赘述。但它们也才是真正掌握容器技术体系的精髓所在,是每一位技术从业者都需要悉心修炼的“内功”。

深入剖析Kubernetes》专栏就是想基于我多年的从业经验,用深入浅出的方式帮你从看似凌乱复杂的Kubernetes项目中梳理出一条主线,助你理解容器和Kubernetes背后的设计思想和逻辑,从而解决现实工作中遇到的问题。

眼下,你我可能已经错过了互联网技术大爆炸的时代,也没有在数字货币早期的狂热里分到一杯羹。可就在此时此刻,在沉寂了多年的云计算与基础设施领域,一次以“容器”为名的历史变革,正呼之欲出。这一次,我们又有什么理由作壁上观呢?

我是谁?

我是张磊,Kubernetes社区的一位资深成员和项目维护者。

2012年,我还在浙大读书的时候,就有幸组建了一个云计算与PaaS基础设施相关的科研团队,就这样,我从早期的Cloud Foundry社区开始,正式与容器结缘。

之后的几年,我全职在Kubernetes和Kata Containers社区从事上游开发工作,先后发起了容器镜像亲密性调度、基于等价类的调度优化等多个核心特性,参与了容器运行时接口、安全容器沙盒等多个基础特性的设计和研发。还有幸作为主要的研发人员和维护者之一,亲历了Serverless Container概念的诞生与崛起。

工作之余,我还发起和组织撰写了《Docker容器与容器云》一书,受到了广大希望进阶容器技术的读者的好评。

今年,我又远赴西雅图,在微软研究院(MSR)云计算与存储研究组,专门从事基于Kubernetes的深度学习基础设施相关的研究工作。

可以说,这6年里,我参与和亲历了容器技术从“初出茅庐”到“尘埃落定”的全过程。

专栏简介

我希望借由这个专栏,给你讲清楚容器背后的技术本质与设计思想,并结合着对核心特性的剖析与实践,加深你对容器技术的理解。为此,我把专栏划分成了4大模块:

● “白话”容器技术基础: 用饶有趣味的解说,给你梳理容器技术生态的发展脉络,用最通俗易懂的语言描述容器底层技术的实现方式,让你知其然,并且知其所以然。
● Kubernetes集群的搭建与实践: Kubernetes集群号称“非常复杂”,但是如果明白了其中的架构和原理,选择了正确的工具和方法,它的搭建却也可以“一键安装”,它的应用部署也可以浅显易懂。
● 容器编排与Kubernetes核心特性剖析: 这是专栏最主要的内容。“编排”永远都是容器云项目的灵魂所在,也是Kubernetes社区持久生命力的源泉。在这一模块,我会从分布式系统设计的视角出发,抽象和归纳出这些特性中体现出来的普遍方法,然后带着这些指导思想去逐一阐述Kubernetes项目关于编排、调度和作业管理的各项核心特性。
● Kubernetes开源社区与生态: “开源生态”永远都是容器技术和Kubernetes项目成功的关键。在这个模块,我会和你一起探讨容器社区现代开源软件工程指导下的技术演进之路,带你思考如何同团队一起平衡内外部需求,逐渐成为社区中不可或缺的一员。


原文发布时间为:2018-08-27

本文来自云栖社区合作伙伴“猿天地”,了解相关信息可以关注“猿天地”。

相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
云原生实践公开课
课程大纲 开篇:如何学习并实践云原生技术 基础篇: 5 步上手 Kubernetes 进阶篇:生产环境下的 K8s 实践 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
2月前
|
消息中间件 Kubernetes NoSQL
有状态软件如何在 k8s 上快速扩容甚至自动扩容
有状态软件如何在 k8s 上快速扩容甚至自动扩容
|
云安全 Kubernetes 供应链
Kubernetes 时代的安全软件供应链
从 Docker image 到 Helm, 从企业内部部署到全球应用分发,作为开发者的我们如何来保障应用的交付安全。本文会从软件供应链的攻击场景开始,介绍云原生时代的应用交付标准演进和阿里云上的最佳实践。
Kubernetes 时代的安全软件供应链
|
2月前
|
Kubernetes Ubuntu 应用服务中间件
在Ubuntu22.04 LTS上搭建Kubernetes集群
在Ubuntu22.04.4上安装Kubernetes v1.28.7,步骤超详细
299 1
在Ubuntu22.04 LTS上搭建Kubernetes集群
|
27天前
|
Prometheus 监控 Kubernetes
Kubernetes 集群监控与日志管理实践
【2月更文挑战第29天】 在微服务架构日益普及的当下,Kubernetes 已成为容器编排的事实标准。然而,随着集群规模的扩大和业务复杂度的提升,有效的监控和日志管理变得至关重要。本文将探讨构建高效 Kubernetes 集群监控系统的策略,以及实施日志聚合和分析的最佳实践。通过引入如 Prometheus 和 Fluentd 等开源工具,我们旨在为运维专家提供一套完整的解决方案,以保障系统的稳定性和可靠性。
|
13天前
|
数据库 存储 监控
什么是 SAP HANA 内存数据库 的 Delta Storage
什么是 SAP HANA 内存数据库 的 Delta Storage
16 0
什么是 SAP HANA 内存数据库 的 Delta Storage
|
2天前
|
Kubernetes 搜索推荐 Docker
使用 kubeadm 部署 Kubernetes 集群(二)k8s环境安装
使用 kubeadm 部署 Kubernetes 集群(二)k8s环境安装
34 17
|
15天前
|
消息中间件 Kubernetes Kafka
Terraform阿里云创建资源1分钟创建集群一键发布应用Terraform 创建 Kubernetes 集群
Terraform阿里云创建资源1分钟创建集群一键发布应用Terraform 创建 Kubernetes 集群
11 0
|
15天前
|
Kubernetes 安全 网络安全
搭建k8s集群kubeadm搭建Kubernetes二进制搭建Kubernetes集群
搭建k8s集群kubeadm搭建Kubernetes二进制搭建Kubernetes集群
101 0
|
22天前
|
Kubernetes Cloud Native Docker
【云原生】kubeadm快速搭建K8s集群Kubernetes1.19.0
Kubernetes 是一个开源平台,用于管理容器化工作负载和服务,提供声明式配置和自动化。源自 Google 的大规模运维经验,它拥有广泛的生态支持。本文档详细介绍了 Kubernetes 集群的搭建过程,包括服务器配置、Docker 和 Kubernetes 组件的安装,以及 Master 和 Node 的部署。此外,还提到了使用 Calico 作为 CNI 网络插件,并提供了集群功能的测试步骤。
181 0
|
25天前
|
Prometheus 监控 Kubernetes
Kubernetes 集群的监控与日志管理实践
【2月更文挑战第31天】 在微服务架构日益普及的今天,容器编排工具如Kubernetes已成为部署、管理和扩展容器化应用的关键平台。然而,随着集群规模的扩大和业务复杂性的增加,如何有效监控集群状态、及时响应系统异常,以及管理海量日志信息成为了运维人员面临的重要挑战。本文将深入探讨 Kubernetes 集群监控的最佳实践和日志管理的高效策略,旨在为运维团队提供一套系统的解决思路和操作指南。
21 0

推荐镜像

更多