인프런 영문 브랜드 로고
인프런 영문 브랜드 로고
Programming

/

Devops & Infra

Kubernetis 101 - クラウド/サーバー開発の第一歩

実践を通して、クーバーネティスの重要な概念とマイクロサービスアーキテクチャの原理を理解します。

Kubernetes
Docker
Redis
nginx
Node.js

初級者のための講座です。

こんなことが学べます

  • クバネティスのコアコンセプト

  • クラウドアプリの開発とデプロイプロセス

  • マイクロサービスアーキテクチャの原理

  • Googleクラウドコード(SDK)

初めて学ぶクーバーネティス、実習で簡単!

クラウド/サーバー環境の標準
クバネティスの基礎を修正する

クラウド/サーバーアプリ開発の開始、クーバーネティス

このレッスンでは、Kubernetes環境でアプリケーションを開発およびデプロイするプロセスを実践し、Kubernetesの重要な概念とマイクロサービスアーキテクチャ(MSA)の設計原理を理解します。

クラウド/サーバー環境は知っておくべきことも多く、複雑です。

Kubernetes(Kubernetes、k8s)はクラウド/サーバー環境の標準と言えます。 AWS、Google、Microsoftなどの主要クラウドプロバイダーもクーバーネティスをサポートしているので、クーバーネティスはクラウド/サーバー開発のために最初に知っておくべき知識といえます。

実習で学ぶクーバーネティス by Minikube

ミニキューブを使用すると、PC環境にクーバネティス環境を設定できます。つまり、接続されているサーバーがなくてもクラウド/サーバー開発を勉強できます。

このレッスンでは、ミニキューブでキューバネティス環境を構築し、簡単なサンプルアプリケーション開発を実践します。実習を通じてクーバーネティスの核心概念を理解し、クラウド/サーバー開発者としての基礎を固めましょう!


クバネティスが初めてのあなたのため
続くクーバーネティス101

💡 クバネティスに初めて接する方のために段階的に説明を進めます。一緒に勉強すると、難しくなくクーバネティスとクラウド/サーバー開発を学ぶことができます。

おすすめ学習者✅

  • クバネティスを知りたい方
  • クラウド/サーバー開発について学びたい方
  • マイクロサービスアーキテクチャ(MSA)に興味のある方

扱う技術✅

  • Minikube, Kubernetes
  • Node.js、Docker、YAML、Redis DB

コア学習内容✅

  • クバネティスの重要な概念を理解し、サービスを整理できます。
    • pod, deployment, replicaset, statefulste, autoscaler
    • service, ingress, persistent volume
  • クラウド/サーバーの開発プロセスを理解し、アプリを開発できます。
    • Node.js Webサーバー開発 - ビルド - デプロイ
    • Visual Studio Code + Google Cloud Code

授業映像に字幕を提供します。初心者でも簡単に練習できます。


詳細カリキュラム📚

カリキュラム全体
学習目標

このレッスンでは、3つのマイクロサービスで構成されるカウンターアプリを開発し、クーバーネティスに配布します。これにより、クバネティスの核心概念とマイクロサービスアーキテクチャの基本原理を理解します。

  • ingress API gateway はリクエストをサービスに転送します。
  • web-incサービスはcountインクリメント要求(INC)を処理します。
  • webサービスはcount値の要求(GET)を処理します。
  • redis サービスは count 値を保存します。

セクション1
kubectl コマンドでクーバーネティスを扱う

クーバーネティスコマンドツールであるkubectlを使用してクーバネティスコンポーネントを作成および管理する方法を実践します。

  • Webサーバーであるnginxイメージを使用してデプロイメントとしてデプロイします。
  • serviceでnginxポッドを公開します。
  • ingress APIゲートウェイを作成してサービスを接続します。

セクション2
KubernetesでNode.jsアプリを開発する

簡単なWebサービスを開発し、クーバーネティスに展開します。 YAMLファイルを使用してKubernetesコンポーネントを指定して管理する方法について説明します。

  • Node.js HTTPモジュールでWebサービスを開発します。
  • 開発されたWebサービスを展開するためにDockerイメージを作成(ビルド)します。
  • 作成したイメージをデプロイメントとして配布します。
  • serviceでデプロイメントによって生成されたポッドを公開します。

クーバーネティス環境でクラウド/サーバーアプリを開発する基本的なプロセスを実践します。 (開発 - イメージビルド - デプロイ)セクション2のソースコードはgithubで確認できます。

セクション3
Counter アプリの作成

count 値を persistent volume にファイルとして保存し、それをサービスする counter アプリを開発します。

Google Cloud Codeを使用してビルドとデプロイを自動化する方法を実践してください。セクション3のソースコードはgithubで確認できます。

セクション4
Redis(レディス)DBでCounterアプリを完成させる

count インクリメント要求を処理する web-inc サービス、count 値を返す web サービス、Redis DB に count 値を格納する redis サービスで構成されるこの講義の最終構造を実装します。

  • 状態を保存する必要がない(stateless)web、web-incサービスはdeploymentとして設定されます。
  • 状態を保存する必要がある redis サービスは statefulset で構成します。
  • Redis DBをmaster-slave構造に設定します。
  • 要求に応じてサービスをルーティングするingress APIゲートウェイを設定します。
  • CPU負荷に応じてポッドの数を自動的に調整するようにautoscalerも設定します。

セクション4のソースコードはgithubで確認できます。


Q&A 💭

Q. 講義を聞く前に、知っておくべきことはありますか?

  • このレッスンは実習を通して学ぶので、特別な選手の知識が必要ではありません。
  • ただし、コンピュータ/ネットワークとプログラミングの基礎知識と経験は必要かもしれません。
  • ゆっくりフォローしてください。

こんな方に
おすすめです!

学習対象は
誰でしょう?

  • クーバーネティスを知りたい人

  • クラウドアプリの開発と展開について気になる人

  • マイクロサービスアーキテクチャを学びたい人

前提知識、
必要でしょうか?

  • コンピュータ、ネットワーク、プログラミングの基礎知識

こんにちは
です。

279

受講生

19

受講レビュー

10

回答

4.9

講座評価

3

講座

소프트웨어 아키텍트 & 교육가

현) 보이는소프트웨어연구소 대표(2016~현재)
  - 삼성전자 소프트웨어 아키텍트 양성 및 인증
  - 소프트웨어 구조 설계 및 평가 교육 / 컨설팅

중앙대학교 소프트웨어 대학 겸임 교수(2018~2022)
  - 기초 컴퓨터 프로그래밍 - C/C++, JavaScript, Python

삼성전자(2003~2016)

カリキュラム

全体

31件 ∙ (3時間 10分)

講座掲載日: 
最終更新日: 

受講レビュー

まだ十分な評価を受けていない講座です。
みんなに役立つ受講レビューを書いてください!