LoginSignup
54
34

More than 5 years have passed since last update.

k8sなら「IBMじゃなくて他のクラウド で」と言わずに見てね。

Last updated at Posted at 2019-03-18

IBM Cloud Kubernetes関連のブログ記事 2018/3 - 2019/3

IBM CloudのBlog記事の中から、この一年間のKubernetesに関する記事を分野ごとに整理しました。これらの記事の中には、正式提供開始(GA; General Available)や他企業と連携してリリースされた機能、Howtoなど様々な内容が含まれています。

この一年、IBM の Kubernetesに対する投資は莫大で、それに伴い様々な情報が発信されており、把握して理解するだけでも大変です。そこで、私自身の勉強と頭の整理も兼ねて、もとの英語の記事名は、内容が適切に判るように意訳しました。

 注意事項 
  これは筆者が独自に作成した勉強用メモであって、私が勤める会社の見解を代表するものではありません。もちろん、誤りや誤解を含むかもしれませんので、発見したらコメントをお願いします。

Kubernetesを動かすなら、IBMじゃなくて本家のクラウドにするよ」と、冷たく言われることも少なくありません。しかし、IBM は Kubernetes の普及に取組み、たくさんの企業とアライアンスを進め、優良なサービスを準備して、ユーザーが苦労することなく快適に運用できるKubernetes環境を整備して、ユーザー企業様の利用を待っています。

logo_k8s_ibm.PNG

IKS k8sサービス展開

約10ヶ月前に、それまでの ICCS (IBM Cloud Container Service)から、IKS (IBM Cloud Kubernetes Service)に、サービス名が変更になりました。ちょうど、この時期に他社もサービス名にKubernetesを加えた形で変更することが相次いでいました。このことで、コンテナオーケストレーションのメインストリームに、Kubernetesが決まったことを実感できる時期でもありました。

World Wide展開

昨年9月は、東京地域のマルチゾーン化の変更工事の影響で、夜間や早朝にヒヤヒヤすることもありましたが、なんとか無事に東京地域の3つのデータセンターがゾーンとして連携するようになりました。さらに、英国がマルチゾーン化しています。また、これまで対応していなかった地域にも、単一データセンター(シングルゾーン)によるIKSが提供を開始しました。2019/3現在で、35のデータセンターでIKSを利用することができます。

logo_ww_dc_net.PNG
参考情報 IBM Cloud Docs 地域とゾーン

k8s 新バージョン対応状況

CNCF Kubernetesプロジェクトのアップストリームk8sの新バージョンが、リリースされてから短い期間で、IKSで新バージョンを使うことができるようになっています。 

logo_iks2.PNG

k8sの新機能対応

最近の嬉しいニュースは、2019年3月にクラスタオートスケーラー(CA: Cluster Autoscaler)が正式提供になったことです。このCA機能はポッドのCPU占有時間とメモリの要求量に応じて、ノードを追加するものです。直接CPU負荷と連動するわけではないので注意が必要です。しかし、CNCF Kubernetesプロジェクトの成果を利用したもので、ベンダー独自の機能に依存することなく、オートスケールを利用できるようになりました。
また、CPU使用率と連動したオートスケールの要件に対しては、HPA(Horizontal Pod AutoScaler)とCAを組み合わせることで、CPU使用率感応型のノードレベルのオートスケールを実現できます。

それから、嬉しいことに、コンテナレジストリが、日本リージョンでも利用できるようになりました。ドメイン名は jp.icr.ioです。

Kubernetesのバージョンアップに伴い、CoreDNSやContainerdにも対応しました。

logo_cr_containerd_coredns.PNG


マルチゾーン & CloudFlare(CIS)

IBM CloudにはAWSのような複数のAZが無いと言われてきました。これに追いつくべく、2018年9月に東京リージョンにおいて、昨年秋に完全に独立したデータセンター設備上にゾーンと呼ばれるAZ相当の実行環境が出来上がりました。これによって、複数のデータセンター上のゾーンにクラウドの仮想サーバーやベアメタルを配置して、連携できるようになりました。さらに、Kubernetesもマルチゾーン化の対応が進み、etcdの冗長化、ゾーン横断のロードバランシングなど機能の充実が進められてきました。

マルチゾーン

IKSでは、複数ゾーンにノードを配置することで、「etcd のゾーン間冗長性有効化」と「ゾーン横断のIngress(ALB)」が有効化され、簡単にマルチゾーンの恩恵を得ることができます。しかし、独自ドメインでHTTPSを利用するとなると、やはりマルチゾーンやCISのグローバルロードバランサーの知識が必要になります。下記のリンクは、選択可能な方法と違いについて、図をもちいて解説してくれています。

logo_mzr.PNG

Cloud Internet Service (CloudFlare)

CloudFlare社との提携により Cloud Internet Servive (CIS)が提供されました。これによって、マルチゾーン構成を、より有効に活用することができ、高い可用性や高スループットへの対応と、セキュリティ対策を実施できるようになります。

logo_cis.PNG


HOWTOなど

Kubernetesのコマンドラインを直接操作するのは、面倒で運用では敬遠したいという方も少なくないと思います。IKSもRancherと連動させて操作することができます。Rancher v2 と IKSを連動させて、アプリのデプロイ、ICOS(IBM Cloud Object Storage)にアクセスするHowToを公開しています。

IKSにはデフォルトで、ポッドネットワークを構築するために、Calicoが利用されています。その上、calicoctlコマンドで直接操作して、独自のアクセスポリシーを実装することができるので、そのHowToを公開しています。

logo_rancher.PNG


セキュリティ関連

セキュリティ新機能

IKSのIngressコントローラーであるALB (Application Load Balancer)から IBM Cloud のサービスの一つである App ID と連動できます。このことにより、FacebookやTwitterを利用して、ロードバランサーのレベルで認証することができるようになります。

ポッドに対するセキュリティポリシーを設定できるようになり、特定のネームスペースに対する操作権限を制限する、例えば、特権モードが使えるポッドを起動させないと言ったポリシーを適用できるようになりました。

IKSには、KubernetesのSecretに保存した機密情報を、持込鍵で暗号化することができる鍵管理システムが実装されました。

「IBM Cloud Security Advisor」は、セキュリティー状況の表示や脆弱性の監視と検知を行うサービスです。このサービスに「NeuVector Kubernetes Security Platform」が組み込まれ、アップグレードされました。 NeuVector は、コンテナファイアウォールやトラフィックの可視化を行う NeuVector社の製品です。

image.png

Intel SGX のメモリ保護機能

Intel SGXは、メモリー内に存在する特定アプリのコードとデータを隔離する、ハードウェア支援型のメモリー暗号化機能です。SGX は、ユーザーレベルのコードをエンクレーブと呼ばれるメモリーのプライベート領域に割り当てることで、高い特権レベルで処理が実行されるのを防ぎます。

FortanixのRuntime Encryption プラットフォームは、SGXの上で動作して、実行中のコンテナのコードやメモリを保護します。データシールドは、Fortanix社とIBMが共同開発したサービスで、ベータ版として、IKSで利用することができます。

IKSのベアメタルのワーカーノードの一つに、SGXを有効化したタイプがあります。これを利用することで、メモリレベルで保護されたコンテナを利用することができます。

logo_sgx_fortanix.PNG

IAMとIKSの連動

IBM Cloud Identity and Access Management (IAM) は、ユーザーの認証と一貫したリソースへのアクセスを制御を実行する機能で、対応が進められています。対応が完了したものは、IBM Cloudのカタログのアイコン表示に、IAM-enabledという表示を確認することができます。IBM Cloudのアカウント下にIAMで登録されたユーザーとIKSのアクセス権を連動させることで、IAMに登録されたアクセス権がユーザーが使用する名前空間のサービスアカウントに登録されるようになります。また、コンテナレジストリのアクセス権もIAMで管理できるようになりました。

脆弱性

2018年末に、Kubernetesの脆弱性レポートが公開されました。マスターノードに関するものですから、ワーカーノードのバージョンを変える必要はありません。マネージドのマスターノードのバージョンを更新して対策します。


監視とログ分析

複数の会社と提携することで、使いやすく便利な運用ツールを利用できるようになった事が、大きな進歩だと思います。

LogDNA

LogDNA社と提携することで、IBM Log Analysisの機能が強化されました。

logo_logdna.PNG

Sysdig

Sysdig社と提携することで、IBM Cloud Monitoringの機能が強化されました。

logo_sysdig.PNG

New Relic, Aporeto, k8s-Dashboard, Kiali, Outlyer, Splunk

コンテナを活用する先進的企業と提携を進めることで、Kubernetesに関する課題が簡単に解決できるように推進しています。

logo_new_relic2.PNG

セキュリティ監視

NeuVector社と提携して、IBM Cloud Security Advisor を強化しました。

logo_neuvector.PNG

サービスメッシュ

Kialiは、サービスメッシュの構造を視覚化して、管理を助けてくれます。

logo_kiali.PNG


CI/CD

ICP (IBM Cloud Private)

ICP (IBM Cloud Private)は、J2EE実行環境のベストセラーであるWebSphereを手掛けた部門が開発開発を進めた Kubernetesをコアとするソフトウェア製品です。このため、Java開発に関する様々な知見とノウハウが注ぎ込まれ、新生代のJ2EEの実行環境かつ、DevOps環境です。

その上で動作する IBM Cloud Developer Toolsは、ICPで動作するJavaのコンテナを簡単に生成できる優れたツールです。

IKS (IBM Cloud Kubernetes Service)

Codefreshは、ビルドとデプロイを自動化するためのCI/CDツールで、Jenkinsと競合関係のツールです。これらOSSのCI/CDツールをIKSで利用することができます。

logo_jenkins.PNG


データベース & ストレージ

マルチゾーンを活かした高可用性のマネージドDBサービスと、マルチゾーン環境上Portworxを利用したSDS独自構築のデータベース利用の二つの方法がとれます。

MZR対応マネージド データベースサービス

これらの新しいマネージドデータベースのサービスは、マルチゾーンのKuberetesで構築されたサービスであり、東京リージョンも利用できます。これらのDBサービスの永続データは、ゾーン間でレプリケーションされています。そのため、ゾーンの一つが停止しても業務を継続することができます。下記以外にも、Elasticsearch, RabbitMQ, etcdが利用できます。

logo_mzr_dbaas2.PNG

Portworx を利用した高可用性構成

Portworxは、SDS(Soft Defined Sotrage)のソフトウェアで、ベアメタルのSSDでSDSを構築して、データベースをハイパフォーマンスかつ高可用性構成で運用したいなどのニーズに答えることができます。

logo_portworx.PNG


モダナイゼーション

パブリッククラウド

J2EEの有名なサンプルアプリケーションをコンテナ化して実行するチュートリアルの記事があります。単にコンテナ化するだけではなく、Watsonと連携させることで新しい機能を追加しています。それから、VMwareベースのモダナイゼーションをパブリッククラウド上で試すことができるオファリングが案内されています。

logo_java.PNG

ハイブリッドクラウドのモダナイゼーション

ICPは、レガシーなJavaアプリケーションを、ライセンス費用と工数削減のツール側面から、モダナイゼーションやハイブリッドを支援します。

logo_icp.PNG


Istio

単にIstioの実行環境を提供するだけでなく、サービスメッシュを視覚化するKialiを利用して、複雑になりがちなサービスメッシュの運用の負担を軽減します。さらに、Grafana,LogDNAやSysdigなどを組み合わせて運用できます。

logo_istio2.PNG


Knative

Kubernetesのサーバーレス環境であるKnativeは、マネージドサービス(ベータ版)として、簡単に利用を開始できます。その際には、前述のIstioと同様な運用監視やログ分析のツールを使用することができます。

logo_knative2.PNG


マネージドサービス

マネージドの良いところは、高可用性構成やバックアップなどを、クラウド事業者にお任せして、運用を開始できる点にあります。東京DCでデータベースのサービスが開始され、遅延による性能問題も無くなりますから、適用できる範囲が広がると思います。さらに、KnativeやIstioもマネージド(ベータ版)で提供開始。ベータ版の間は無料です。

logo_ibm-managerd.PNG


IBM Cloud Private (オンプレミス&ハイブリッドクラウド ソフトウェア製品)

ICPは2018年秋にv3.1がリリースされ、さらに、年末にマルチクラウドやハイブリッドでKubernetesクラスタの構築を支援する IBM Mutlicloud Managerが発表されました。これからのIBMのソフトウェア製品やソリューションは、Kubernetesを実行環境とするようになっていきます。つまり、ICPはIBMのミドルウェアなどソフトウェア製品の標準プラットフォームになることを意味しています。


その他

Kubernetesが主流となったこと、コンテナ利用に関する統計などの記事もありました。

54
34
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
54
34