orangeitems’s diary

40代ITエンジニアが毎日何か書くブログ

現在のKubernetesを理解するために呼んでおいた方がいい入門記事

f:id:orangeitems:20200519134423j:plain

 

はじめに

最近コンテナやKubernetesの活動に参加を余儀なくされています。去年に少しかじったときに、まだまだ進化途中でこれを本番に入れるまでにはいろいろと周辺に必要だし、これはまだ来ないかな。そんな気持ちでいて一年ほど経ったのですが、最近風向きの変化を感じています。というのも、学びなおしてみるとここ一年で新しい概念がどっと登場していて基礎の骨組みに対して、様々なツールや商用パッケージ、サービスが登場しぐっとビジネスに近づいています。

せっかく勉強しなおしたので、Webにある有用な記事を集めてみました。

上から順番に読んでいくと、トレンドが理解できるのではないかと思います。

 

 

記事集

Kubernetesの基礎の基礎

PDFファイルですがこれよりわかりやすい資料はない。

Internet Week 2018 Kubernetesの基礎(著・日本IBM高良氏)

 

Helm

knowledge.sakura.ad.jp

近年ではKubernetesクラスタ上で動作させるアプリケーションにおいて、そのデプロイに「Helm」と呼ばれるツールを使用する例が増えている。Helmは設定ファイルを元にアプリケーションのデプロイを自動実行するツールで、Kubernetesアプリケーション向けのパッケージマネージャとも言われている。今回はこのHelmの概要、使い方、設定ファイルの書き方などを紹介する。

 

サービスメッシュ

qiita.com

最近、Kubernetesを中心としたコンテナ環境やマイクロサービスの文脈において、「サービスメッシュ」「Istio」というキーワードを聞く機会が増えています。

「Istio」は、2018/7/31にバージョン1.0に到達したことが発表され、ますます注目されるオープンソースソフトウェアとなっています。また、自分が所属しているSIerであっても、最近「サービスメッシュ」という言葉を聞く機会が増えてきています。

本記事では、サービスメッシュの概要から、サービスメッシュを実現するソフトウェアについて、Web上の情報などを元に調査した内容を整理したいと思います。

 

Istio

qiita.com

Istioの全体像がわかるよう、数回に分けて入門してみます。今回はコンセプトやざっくりとしたアーキテクチャの話、次回からはサンプルのbookinfoアプリケーションを元に各機能を深掘りしていく予定です。

 

employment.en-japan.com

マイクロサービス化にともなサービス間の接続の複雑化、という課題への対処としてサービスメッシュとこれをもたらす「Istio」が注目されています。Istioをいち早く導入したユーザベースの阿南さんが、導入メリットと、使って分かった「ハマりどころ」を解説してくれました。

 

www.publickey1.jp

サービスメッシュを実現する「Istio 1.5」正式版が登場しました。注目すべき新機能の1つは、Istioの拡張やカスタマイズを行うための統合的な手段としてWebAssemblyが採用されたことです。

Istioが実現するサービスメッシュは、Kubernetes上のさまざまなサービス間のトラフィックの管理やルーティング、ロードバランシング、暗号化通信や認証サービス、モニタリングなどを実現します。

 

WebAssembly

qiita.com

プログラミング言語やライブラリの名前ではなく、ブラウザでプログラムを高速実行するための、
「ブラウザ上で動くバイナリコードの新しいフォーマット(仕様)」
である。
Google, Microsoft, Mozzila, Appleによって仕様が策定され開発が進められている。

 

cdk8s(CDK for Kubernetes)

aws.amazon.com

今日は、CDK for Kubernetes (cdk8s) についてお伝えしたいと思います。これは、使い慣れたプログラミング言語で Kubernetes アプリケーションと再利用可能なコンポーネントを定義できる新しいオープンソースプロジェクトです。cdk8s (「シーディーケイツ」と発音します) を使用すると、TypeScript や Python などのプログラミング言語で標準 Kubernetes YAML を作成できます。つまり、オンプレミスとクラウドの両方で実行している任意の Kubernetes クラスターのアプリケーションを定義できるのです。

 

dev.classmethod.jp

最近めっちゃ盛り上がっているAWSインフラをプログラミング言語で作成するAWS CDKですが、それのKubernetes版といえるcdk8sの紹介記事です。概要掴んで頂いた後、ウェビナーみたりGetting Startedやってもらって、その威力を味わっていただければ。

 

Jenkins

business.nikkei.com

 CI(継続的インテグレーション)を実現するOSS(オープンソース・ソフトウエア)「Jenkins」の勢いが増している。開発元の米CloudBeesが2017年8月末に開催したイベントには800人の開発者が参加。米PayPalが4000人を対象にしたJenkinsの導入を発表するなど、大企業が戦略的にJenkinsを使用する実態が明らかになった。

 

ics.media

そういった開発チームには、作業の効率化および人的ミスの軽減に役立つCI(継続的インテグレーション)ツールの導入がオススメです。この連載記事ではJenkinsとAWS、GitHubを使って、コンテンツのビルドからテスト環境へのデプロイまでを行ってくれるCI環境を構築の手順を解説します。

 

Jenkins X

www.publickey1.jp

ソフトウェアの開発プロセスにおいて、「Jenkins」はビルドやテスト、デプロイなどを自動化してくれるツールとしてよく知られています。

そのJenkinsの派生プロジェクトとして、「Jenkins X」が発表されました。Jenkins Xは、Git、Docker、Kubernetesの環境を前提とすることで、Jenkinsの設定、運用などを大幅に自動化し、より簡単な導入と運用を実現するものです。

 

qiita.com

Jenkins XをHello World的に触ってみました。
実現したのは以下です。

Githubからのwebhookで
GCP上のJenkins上にこしらえたビルドパイプラインが走り
GCP上のk8sクラスタのステージングコンテナにデプロイされるようにした。
やってみたところ、2019年3月現在では初期設定などに関して日本語での情報がまだまだ少なかったので、備忘録がてら記事を書きました。

 

Openshift

www.ibm.com

CNCFが開発を推進するKubernetesは、たくさんの企業が参画して開発を進め、急速に発展している。この活動は、3ヶ月ごとにマイナー・バージョンがリリースされ、リリース後の約9ヶ月間でサポートが終了することから伺い知ることができる。このCNCFが配布するKubernetesは、上流(アップストリーム)のKubernetesと呼ばれ、ソフトウェア・ベンダーが製品化する前の実証試験的なプロダクトと見なされている。

この様な上流のKubernetesの課題を解決に、企業情報システムに適する製品として仕上げられたのが、Red Hat社のOpenShiftである。

 

www.atmarkit.co.jp

 Red Hatは2020年4月28日(米国時間)に発表したOpenShiftの最新版、「Red Hat OpenShift Container Platform 4.4」に、仮想マシンをコンテナと共にKubernetes上で稼働できる「OpenShift Virtualization」を技術プレビュー版(technology preview)として組み込んだ。これによって、「レガシーな仮想化基盤に余計な費用を支払う必要はなくなる」としている。

 

www.atmarkit.co.jp

 Microsoftは2020年4月28日(米国時間)、Microsoft Azureによるハイブリッド/マルチクラウド統合管理サービスの「Azure Arc」で、Res Hatのコンテナ基盤製品「Red Hat OpenShift Container Platform」およびLinux OSの「Red Hat Enterprise Linux(RHEL)」への対応を発表した。

 MicrosoftはRed Hatとの共同開発で、Azure上のマネージドOpenShiftサービス「Azure Red Hat OpenShift」を提供してきた。今回の発表は、この協力関係を、Azure以外で稼働するOpenShiftやRed Hat Linuxに広げるものだという。なお、Azure Red Hat OpenShiftは、4月28日にOpenShift 4サポートの一般提供を開始した。

 

www.itmedia.co.jp

 米Amazon Web Services(AWS)と米Red Hatは提携を強化し、Red Hat OpenShiftのマネージドサービスをAWS上で提供する「Amazon Red Hat OpenShift」を発表しました(Red Hatの発表、AWSの発表)。

 Red Hat OpenShiftは、Red Hat Enterprlse Linux、Dockerコンテナ、Kubernetesを主なコンポーネントとして構成されたコンテナ基盤ソフトウェアです。Docker RegistryやSoftware Defined Networkの機能なども統合されています。

 

Anthos

www.publickey1.jp

Googleはサンフランシスコでイベント「Google Cloud Next '19」を開催。4月9日(日本時間4月10日未明)に行ったオープニングキーノートで、Kubernetesをベースにアプリケーションのマルチクラウド対応を実現する新サービス「Anthos」の提供開始を発表しました。

 

techtarget.itmedia.co.jp

クラウド向けLinuxと称されるGoogleのマルチクラウド管理プラットフォーム「Anthos」は、企業のアプリケーション管理を容易にする。管理対象のアプリケーションは、別のパブリッククラウドサービスで運用されていても、オンプレミスで運用されていても構わない。

 

future-architect.github.io

2019/10/16(水)に開催されたGCPUG Anthos dayに参加してきました。今年のGoogle Cloud Next ‘19 サンフランシスコで発表されて以来話題にはなっているけど、まだまだ事例も少なくてわからないことが多いAnthosについて知るいい機会になりました。ここでは、Anthos dayで聞いたこと、少し追加で調べたことを書いていきます。

 

VMware

www.orangeitems.com

 

 

さいごに

全てを網羅した感じはしないのですが、とりあえず去年から今年にかけて、「ぐっ」と動いた部分はまとめています。

誰もLinux kernelのことだけをLinuxだと思っていないように、AWS EC2のことだけをAWSだと思っていないように、コアプログラムに様々なデファクトスタンダードになるツールがそろって、初めて世界が形成されます。Kuberenetesはまさにその最中です。

ビジネスで使うための仕掛けも、コンペとなるベンダーもわかってきました。

まだ2020年のうちは、大ヒット、とまではいかないと思いますがそろそろ今年後半から導入していく企業もぐっと増えそうな気がしています。

しばらく見ていないと、別人になっている感じのする、Kuberenetes関連のお話でした。