主页

[转]第14章 Kubernetes Service

本文将主要分享以下四方面的内容: 为什么需要 K8s service; K8s service 用例解读; K8s service 操作演示; K8s service 架构设计。 需求来源 为什么需要服务发现 在 K8s 集群里面会通过 pod 去部署应用,与传统的应用部署不同,传统应用部署在给定的机器上面去部署,我们知道怎么去调用别的机器的 IP 地址。但是在 K8s 集群里面应用是通过 pod 去部署的, 而 pod 生命周期是短暂的。在 pod 的生命周期过程中,比如它创建或销毁,它的 IP 地址都会发生变化,这样就不能使用传统的部署方式,不能指定 IP 去访问指定的应用。 另外在 K8s 的应用部署里,之前虽然学习了 deployment 的应用部...

阅读更多

[转]第13章 Kubernetes网络概念及策略控制

本文将主要分享以下 5 方面的内容: Kubernetes 基本网络模型; Netns 探秘; 主流网络方案简介; Network Policy 的用处; 思考时间。 Kubernetes 基本网络模型 本节来介绍一下 Kubernetes 对网络模型的一些想法。大家知道 Kubernetes 对于网络具体实现方案,没有什么限制,也没有给出特别好的参考案例。Kubernetes 对一个容器网络是否合格做出了限制,也就是 Kubernetes 的容器网络模型。可以把它归结为约法三章和四大目标。 约法三章的意思是:在评价一个容器网络或者设计容器网络的时候,它的准入条件。它需要满足哪三条? 才能认为它是一个合格的网络方案。 四大目标意思是在设计这个网...

阅读更多

[转]第12章 可观测性 监控与日志

本文主要分为四个部分: 在 K8s 中监控和日志的背景信息; 在 K8s 中监控方案的演进,以及常见的监控方案的提供; 日志采集的一些细节以及常见的日志的开源系统; 课程总结,介绍一下阿里云容器服务上面监控和日志的最佳实践。 背景 监控和日志是大型分布式系统的重要基础设施,监控可以帮助开发者查看系统的运行状态,而日志可以协助问题的排查和诊断。 在 Kubernetes 中,监控和日志属于生态的一部分,它并不是核心组件,因此大部分的能力依赖上层的云厂商的适配。Kubernetes 定义了介入的接口标准和规范,任何符合接口标准的组件都可以快速集成。 监控 监控类型 先看一下监控,从监控类型上划分,在 K8s 中可以分成四个不同的类型: 资源监控 ...

阅读更多

[转]第11章 可观测性 你的应用健康吗

本次课程的分享主要围绕以下五个部分: 介绍一些整体需求的来源; 介绍在 K8s 中 Liveness 和 Readiness 的使用方式; 介绍在 K8s 中常见问题的诊断; 应用的远程调试的方式; 课程的总结与实践; 需求来源 首先来看一下,整个需求的来源:当把应用迁移到 Kubernetes 之后,要如何去保障应用的健康与稳定呢?其实很简单,可以从两个方面来进行增强: 首先是提高应用的可观测性; 第二是提高应用的可恢复能力。 从可观测性上来讲,可以在三个方面来去做增强: 首先是应用的健康状态上面,可以实时地进行观测; 第二个是可以获取应用的资源使用情况; 第三个是可以拿到应用的实时日志,进行问题的诊断与分析。 当出现...

阅读更多

[转]第10章 应用存储和持久化数据卷 存储快照与拓扑调度

本文将主要分享以下两方面的内容: 存储快照概念、使用与工作原理; 存储拓扑调度背景、概念、使用与工作原理。 基本知识 存储快照产生背景 在使用存储时,为了提高数据操作的容错性,我们通常有需要对线上数据进行snapshot,以及能快速restore的能力。另外,当需要对线上数据进行快速的复制以及迁移等动作,如进行环境的复制、数据开发等功能时,都可以通过存储快照来满足需求,而 K8s 中通过 CSI Snapshotter controller 来实现存储快照的功能。 存储快照用户接口-Snapshot 我们知道,K8s 中通过 pvc 以及 pv 的设计体系来简化用户对存储的使用,而存储快照的设计其实是仿照 pvc & pv 体系的设计思想。当用户需要存储...

阅读更多

[转]特别篇 从0开始创作云原生应用

本节内容的分享主要围绕以下两方面 介绍云原生应用是什么? 介绍 Helm 和如何创作一个 Helm 应用。 一、 云原生应用是什么? 首先我们来思考一个问题:云原生应用是什么? 在生活中我们会和各种各样的应用打交道,有时候会在移动端上使用淘宝购物、使用高德导航,在 PC 端使用 word 编辑文稿、使用 Photoshop 处理相片······这些在各类平台上的应用程序对用户而言,大多数都只需要用户点击安装就可以使用了。那么对于云上的应用,或者说在我们今天的云上、在 Kubernetes 上的应用,是什么样子的呢? 想象一下,如果我们要把一个应用程序部署到云上都需要做什么呢? 首先我们要准备好它所需的环境,打包成一个 docker 镜像,把这个镜像放到 ...

阅读更多

[转]alibaba云原生技术公开课课程说明

课程介绍 云原生最初来描述云上应用的典型架构与特性,近几年,容器、kubernetes、Serverless、FaaS这些为云设计的基础软件与资源模型重新定义着云上的最佳实践,云原生的概念也不断演进,CNCF(云原生计算基金会)在这个背景下创立,它把云原生的概念更广泛地定义为“让应用更有弹性、容错性、观测性的基础技术,让应用更容易部署、管理的基础软件、让应用更容易编写、编排的运行框架等”,希望能够让用户最好的利用云的资源、产品和交付能力。 本课程由阿里云和CNCF联合开发,课程全程免费,我们将为您带来: 完善的知识体系,打造属于自己的云原生技术树 理解云原生技术背后的思想与本质 与知识体系相辅相成的动手实践 一线技术团队云原生技术最佳实践 适合人群 计...

阅读更多

[转]第2章 容器基本概念

摘要:欢迎大家来到阿里云与 CNCF 共同推出的“云原生”技术公开课。本文整理自云原生技术公开课的课时 2:容器基本概念。本次课程中,阿里巴巴高级开发工程师傅伟为大家介绍了容器与镜像的概念、容器的生命周期、项目架构以及容器与 VM 之间的区别等,精彩不容错过。 本节课程要点 什么是容器与镜像?如何构建容器与镜像 容器的生命周期 容器项目的架构 容器 VS.VM 一、容器与镜像 什么是容器? 在介绍容器的具体概念之前,先简单回顾一下操作系统是如何管理进程的。 首先,当我们登录到操作系统之后,可以通过 ps 等操作看到各式各样的进程,这些进程包括系统自带的服务和用户的应用进程。那么,这些进程都有什么样的特点? 第一,这些进程可以相互看到、相互通信; ...

阅读更多