天天看點

Katacoda:免費學習 Kubernetes 利器

前言

最近 ServiceMesher 社群重新開機了

《Istio 服務網格進階實戰》

的編寫,我也作為編委會成員參與其中。該書的實踐項目都基于 Istio 1.5 版本以及 Katacoda 提供的 Kubernetes 環境完成。由于實踐部分都要使用 Katacoda,介紹 Katacoda 這章需要先完成,為其他參與編寫實踐篇的作者提供參考。

Katacoda

Katacoda 是一個面向軟體工程師的互動式學習和教育訓練平台,可在浏覽器中使用真實環境學習和測試新技術,幫助開發人員學習,并掌握最佳實踐。該平台于 2019 年 11 月被 O'Reilly 收購。

Katacoda 可以快速的提供一套完整的臨時環境,并在使用後将其回收。使用者可以根據設計好的引導步驟,通過浏覽器上的終端界面操作一套完整的環境,一步步的學習和實踐。尤其是在學習 Kubernetes 這種複雜的應用時,單單是建立一個叢集就要花去不少時間,同時消耗的資源也令一些初學者望而生畏,Katacoda 的出現很好的解決了這些問題。課程設計者可以定制應用程式所需環境,并設計循序漸進的指導路徑,旨在確定使用者以最佳方式學習。

在 Katacoda 每個使用者都可以免費的學習和建立課程,其中:

使用 Katacoda 學習

Katacoda 提供了非常便利的學習方式,使用者隻需要打開相應課程,就可以跟着課程設計者的說明,按照設計好的步驟一步步完成學習。

  • 介紹會标明課程的難度和需要的時間,幫助使用者了解該課程的基本資訊:
    Katacoda:免費學習 Kubernetes 利器
  • 進入課程,左側是該步驟說明,右側是一個已經準備好的終端,直接可以使用:
    Katacoda:免費學習 Kubernetes 利器
  • 之後就是跟着步驟說明,一步步的完成學習即可:
    Katacoda:免費學習 Kubernetes 利器

建立課程

既然可以學習别人設計好的課程,那麼也可以自己設計課程,以供使用者學習。

建立倉庫

Katacoda 需要新增賬號登入,這裡直接使用 GitHub 賬号登入即可,畢竟之後建立的方案都是存放在 GitHub 上的。

這裡推薦在頁面建立倉庫,通路

https://www.katacoda.com/teach/git-hosted-scenarios

,點選

Automatically Create and Configure Github Repository

按鈕,Katacoda 會自動在您的 Github 中建立一個名為

katacoda-scenarios

的倉庫,并自動為您配置 Webhook,每次更新該倉庫時,都會自動更新您 Katacoda 中課程的内容。

Katacoda:免費學習 Kubernetes 利器

建立完成後,就可以在您的 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 等作為前提條件。更多相關資訊,請閱讀 https://katacoda.com/docs/scenarios/environments
  • Layout: 它将确定方案界面元素的配置。例如,如果您隻想顯示終端,或編輯器+終端等形式,更多相關資訊,請閱讀 https://katacoda.com/docs/scenarios/layouts

輸入這些資訊,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 是一個面向軟體工程師的互動式學習和教育訓練平台,開發人員根據産品特色設計學習流程,友善使用者的學習;學習者則無需關心環境的搭建與依賴的安裝,通過開發人員設計的最佳實踐來進行學習,快速又高效。最重要的是,它是免費的!白嫖的東西又有誰不喜歡呢?

同時也歡迎各位朋友一起參與到

的編撰中,和 ServiceMesher 社群的朋友一起完成這部開源書籍。