Katacoda:免费学习 Kubernetes 利器

简介: 本文介绍免费学习 Kubernetes 利器:Katacoda,Katacoda 是一个面向软件工程师的交互式学习和培训平台,可在浏览器中使用真实环境学习和测试新技术,帮助开发人员学习,并掌握最佳实践。

前言

最近 ServiceMesher 社区重启了《Istio 服务网格进阶实战》 的编写,我也作为编委会成员参与其中。该书的实践项目都基于 Istio 1.5 版本以及 Katacoda 提供的 Kubernetes 环境完成。由于实践部分都要使用 Katacoda,介绍 Katacoda 这章需要先完成,为其他参与编写实践篇的作者提供参考。

Katacoda

Katacoda 是一个面向软件工程师的交互式学习和培训平台,可在浏览器中使用真实环境学习和测试新技术,帮助开发人员学习,并掌握最佳实践。该平台于 2019 年 11 月被 O'Reilly 收购。

Katacoda 可以快速的提供一套完整的临时环境,并在使用后将其回收。用户可以根据设计好的引导步骤,通过浏览器上的终端界面操作一套完整的环境,一步步的学习和实践。尤其是在学习 Kubernetes 这种复杂的应用时,单单是创建一个集群就要花去不少时间,同时消耗的资源也令一些初学者望而生畏,Katacoda 的出现很好的解决了这些问题。课程设计者可以定制应用程序所需环境,并设计循序渐进的指导路径,旨在确保用户以最佳方式学习。

在 Katacoda 每个用户都可以免费的学习和创建课程,其中:

使用 Katacoda 学习

Katacoda 提供了非常便利的学习方式,用户只需要打开相应课程,就可以跟着课程设计者的说明,按照设计好的步骤一步步完成学习。

  • 介绍会标明课程的难度和需要的时间,帮助用户了解该课程的基本信息:

image

  • 进入课程,左侧是该步骤说明,右侧是一个已经准备好的终端,直接可以使用:

image

  • 之后就是跟着步骤说明,一步步的完成学习即可:

image

创建课程

既然可以学习别人设计好的课程,那么也可以自己设计课程,以供用户学习。

新建仓库

Katacoda 需要注册账号登录,这里直接使用 GitHub 账号登录即可,毕竟之后创建的方案都是存放在 GitHub 上的。

这里推荐在页面新建仓库,访问 https://www.katacoda.com/teach/git-hosted-scenarios ,点击 Automatically Create and Configure Github Repository 按钮,Katacoda 会自动在您的 Github 中创建一个名为 katacoda-scenarios 的仓库,并自动为您配置 Webhook,每次更新该仓库时,都会自动更新您 Katacoda 中课程的内容。

katacoda 新建仓库页面

创建完成后,就可以在您的 Github 上找到名为 katacoda-scenarios 的代码仓库。

Scenarios

Scenarios 即为方案、场景,由一组 Markdown、bash 脚本和一个 JSON 文件组成,这些文件保存了该 Scenarios 的所有配置。

Katacoda 官方提供了 CLI 工具,帮助您创建 Scenarios。

安装 CLI

通过 npm 命令安装 npm i katacoda-cli --global

命令遵循语法的是 $ katacoda COMMAND

安装完成后,可以通过运行命令 katacoda --help 查看帮助信息。

创建 Scenarios 目录

例如,要创建新的方案,可以通过运行命令 katacoda scenarios:create,CLI 将会提示一些信息,帮助您创建方案:

  • Friendly URL: 此处可输入 test-scenario,该属性将确定 scenarios 文件夹的名称,以及用来访问他的 URL。因此,该属性不能包括空格,需要是小写字母等。例如,如果您的用户名是 test-username 并且您的方案称为 test-scenario(如建议的那样),用于在平台中指向该方案的URL将为 https://katacoda.com/test-username/scenarios/test-scenario/
  • Title: 方案的标题,将会显示在简介上
  • Description: 方案的描述,将会显示在简介上
  • Difficulty level: 难度级别,将会显示在简介上
  • Estimated time: 估计完成的时间,将会显示在简介上
  • Number of steps: 方案的步骤数。CLI 将会为您的所有步骤创建文件
  • Image: 确定适用于您的方案的基本软件。例如,如果您需要 docker,java,go 等作为前提条件。
  • Layout: 它将确定方案界面元素的配置。例如,如果您只想显示终端,或编辑器+终端等形式。

输入这些信息,CLI 将帮您创建一个文件夹,其中引入了 friendly URL 的名称,并将在该文件夹内创建方案所需的文件。

编辑 Scenarios

Scenarios 目录创建好之后,可以看到目录的结构:

.
├── finish.md
├── index.json
├── intro.md
├── step1.md
├── step2.md
├── step3.md
├── step4.md
└── step5.md
  • index.json :文件中定义了标题、描述、步骤顺序、UI 布局以及所需环境,内容与您使用 CLI 工具创建时输入的是一致的,如果想对输入的内容进行修改,也可以在这里修改
  • intro.md:介绍页,用来介绍您这个 Scenarios
  • finish.md :结束页
  • step1-setpN.md:步骤介绍,数目与您使用 CLI 工具创建 Scenarios 时输入的数目相同

上传

将创建的 Scenarios 移动到之前创建的 git 项目中。

$ git add .
$ git commit -m "New Scenarios"
$ git push origin master

上传成功后,在 Your Profile 页面就可以看到您上传的课程。

总结

Katacoda 是一个面向软件工程师的交互式学习和培训平台,开发人员根据产品特色设计学习流程,方便用户的学习;学习者则无需关心环境的搭建与依赖的安装,通过开发人员设计的最佳实践来进行学习,快速又高效。最重要的是,它是免费的!白嫖的东西又有谁不喜欢呢?

同时也欢迎各位朋友一起参与到《Istio 服务网格进阶实战》 的编撰中,和 ServiceMesher 社区的朋友一起完成这部开源书籍。

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
目录
相关文章
|
3月前
|
存储 Kubernetes 持续交付
k8s学习
【10月更文挑战第1天】
116 4
|
3月前
|
Kubernetes 应用服务中间件 nginx
k8s学习--YAML资源清单文件托管服务nginx
k8s学习--YAML资源清单文件托管服务nginx
k8s学习--YAML资源清单文件托管服务nginx
|
3月前
|
Kubernetes 监控 测试技术
k8s学习--基于Ingress-nginx实现灰度发布系统
k8s学习--基于Ingress-nginx实现灰度发布系统
146 2
k8s学习--基于Ingress-nginx实现灰度发布系统
|
3月前
|
存储 Kubernetes 调度
|
3月前
|
Kubernetes API 调度
k8s学习--pod的所有状态详解(图例展示)
k8s学习--pod的所有状态详解(图例展示)
290 1
|
3月前
|
Kubernetes JavaScript 前端开发
k8s学习--chart包开发(创建chart包)
k8s学习--chart包开发(创建chart包)
147 1
|
3月前
|
Kubernetes 固态存储 调度
k8s学习--如何控制pod调度的位置
k8s学习--如何控制pod调度的位置
|
3月前
|
存储 Kubernetes 调度
k8s学习--k8s群集部署zookeeper应用及详细解释
k8s学习--k8s群集部署zookeeper应用及详细解释
118 0
|
3月前
|
Kubernetes 监控 测试技术
k8s学习--OpenKruise详细解释以及原地升级及全链路灰度发布方案
k8s学习--OpenKruise详细解释以及原地升级及全链路灰度发布方案
|
3月前
|
Kubernetes 关系型数据库 MySQL
k8s学习--利用helm部署应用mysql,加深helm的理解
k8s学习--利用helm部署应用mysql,加深helm的理解
345 0

热门文章

最新文章