Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Rancherコンテナー管理プラットフォームの概要説明V2.2.6
Search
cheng
September 04, 2019
Technology
1
150
Rancherコンテナー管理プラットフォームの概要説明V2.2.6
Rancherコンテナー管理プラットフォームの概要説明 V2.2.6
cheng
September 04, 2019
Tweet
Share
More Decks by cheng
See All by cheng
Rancher v2.10、v2.11 Update情報
qiang1981cn
0
76
Rancher v2.8 & v2.9 Update情報
qiang1981cn
0
110
OSSでセキュリティをCI/CDパイプラインに透過的に取込む方法
qiang1981cn
0
230
Rancher v2.6.5 Update情報
qiang1981cn
0
410
NeuVector(Container Security) online meetup 06/30
qiang1981cn
0
430
Harvester 2022/01, オンラインミートアップ
qiang1981cn
0
240
Japan International Kubernetes Day
qiang1981cn
0
84
2021/01/20(水) はじめてのRancherオンラインミートアップ
qiang1981cn
0
360
"Rancherハンズオン with v2.5" ワークショップ 2020/12
qiang1981cn
0
410
Other Decks in Technology
See All in Technology
【LT会登壇資料】TROCCO新コネクタ「スマレジ」を活用した直営店データの分析
kazari0425
1
110
赤煉瓦倉庫勉強会「Databricksを選んだ理由と、絶賛真っ只中のデータ基盤移行体験記」
ivry_presentationmaterials
2
380
Rethinking Incident Response: Context-Aware AI in Practice
rrreeeyyy
1
130
How Do I Contact HP Printer Support? [Full 2025 Guide for U.S. Businesses]
harrry1211
0
130
データ基盤からデータベースまで?広がるユースケースのDatabricksについて教えるよ!
akuwano
3
140
AIの全社活用を推進するための安全なレールを敷いた話
shoheimitani
2
560
Delegating the chores of authenticating users to Keycloak
ahus1
0
160
第4回Snowflake 金融ユーザー会 Snowflake summit recap
tamaoki
1
300
マネジメントって難しい、けどおもしろい / Management is tough, but fun! #em_findy
ar_tama
7
1.2k
クラウド開発の舞台裏とSRE文化の醸成 / SRE NEXT 2025 Lunch Session
kazeburo
1
300
〜『世界中の家族のこころのインフラ』を目指して”次の10年”へ〜 SREが導いたグローバルサービスの信頼性向上戦略とその舞台裏 / Towards the Next Decade: Enhancing Global Service Reliability
kohbis
2
370
ビジネス職が分析も担う事業部制組織でのデータ活用の仕組みづくり / Enabling Data Analytics in Business-Led Divisional Organizations
zaimy
1
220
Featured
See All Featured
Code Reviewing Like a Champion
maltzj
524
40k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Producing Creativity
orderedlist
PRO
346
40k
GitHub's CSS Performance
jonrohan
1031
460k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Optimizing for Happiness
mojombo
379
70k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
How to Ace a Technical Interview
jacobian
278
23k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
20
1.3k
Faster Mobile Websites
deanohume
307
31k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
970
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Transcript
Rancherコンテナ管理プラットフォーム
About me Jianqiang Cheng(ちん) Field Engineer at Rancher Labs. ▪Favorite
technologies: Rancher, Kubernetes, Docker, AWS, Jenkins. ▪Certifications: AWS Certified Solutions Architect – Professional Certified Kubernetes Administrator Certified Kubernetes Application Developer
RancherLabs製品 軽量コンテナOS 分散ブロックストレージ クラスタ間通信 コンテナ管理プラットフォーム 軽量Kubernetes ディストリビューション Cloud Nativeコンテナ ディス
トリビューション 本日のスコープ
Agenda • RancherのOverview • Rancherのインストール • Kubernetesクラスター構築と管理 (Hands-Onあり) • ユーザー認証(Hands-Onあり)
• ワークロードのデプロイと管理(Hands-Onあり) • カタログ機能(Hands-Onあり) • 永続化ストレージの使用(Hands-Onあり) • 運用監視機能(Hands-Onあり) • CICD • Multi-cluster apps And Global DNS
5 RancherのOverview
プラットフォームの構成概要図
プラットフォームのアーキテクチャ
8 Rancherのインストール
Single Node構成 開発やテスト環境の場合、1台のサーバーで、 docker runで、 Rancher serverをインストールする方法を推奨 SSL証明書オプション:デフォルトは自己署名証明書(Rancher自動生成) その他のSSL証明書オプション:↓ https://rancher.com/docs/rancher/v2.x/en/installation/single-node/#2-choose-an-ssl-option-and-install-
rancher
プロダクション環境の場合、HA構成のインストール方法を推奨 • Rancher Kubernetes Engine(RKE)でRancher用のK8Sクラスターを構築 • HelmでRancher Serverをクラスタへデプロイ • L4のロードバランサ(Nginx,AWS-NLBなど)をクラスターの入り口として設定
HA(High Availability)構成
11 Kubernetesクラスター構築と管理
Kubernetesクラスタ構築 Rancherは、オンプレミスやあらゆるクラウドサービ ス上にKubernetesクラスタの構築及び管理ができ るプラットフォーム: • Rancher Kubernetes Engine(RKE)経由で、あら ゆるインフラ環境上にKubernetesクラスタを構 築と管理
• 各PublicクラウドのAPI経由で,クラウドの Kubernetesマネジメントのクラスタを構築と管理 (Amazon EKS、Azure AKS、Google GCEなど) • 既存のKubernetesクラスタをインポートして Rancherで管理
Kubernetesクラスタ管理 RancherのUI画面から、下記のクラスタ管理機能をサ ポートしています。 • クラスター証明書期限切れ前の更新 • クラスターのバックアップとリストア • ブラザーUI画面からのkubectlコマンドの実行 •
クラスターのバージョンアップ • クラスターのノードのスケールアウトとスケールイン • クラスターの管理者や利用者のユーザー管理 • クラスターのプライベートなDockerレジストリ追加
Kubernetes のクラスタとNamespaceの間にプ ロジェクトという層が入り、複数の Namespaceを束ねて権限管理を行います。 プロジェクト = Namespaceのグループ • プロジェクトレベルのロール権限をユー ザーに付与できます。
• プロジェクト/namespaceレベルで、各リ ソースQuotas(CPU、メモリなど)の設 定が可能です。 • プロジェクトレベルで、ポッドセキュリ ティポリシーの設定が可能です。 クラスタ配下のプロジェクト管理
15 Hands-on time ハンズオン手順の「Kubernetesクラスター構築と管理」セクション 約20分
16 ユーザー認証
ユーザー認証方式 Rancherは、ローカル認証以外に も、マイクロソフトのAD認証、 Github認証などの複数の認証プロバ イダをサポートをしています。
マルチクラスターで統一した認証・認可 Rancherは複数の階層で、管理対象を隔離しています。 ・クラスタレベル:異なるユーザーはクラスタレベルで隔離でき、それぞれ独立したCPU、メモリ、スト レージ、ネットワークリソースを使用することができます。ユーザは、権限を持つクラスタのみを参照編集す ることができます。 ・プロジェクトレベル:同じクラスタ内部で、プロジェクトレベルで隔離するが可能です。ユーザは、権限 を持つプロジェクトの中のnamespaceやアプリのみを参照編集することができます。
マルチクラスターで統一した認証・認可 ユーザー毎に、Rancherが事前に用意して あるロール(クラスタレベルとプロジェクト レベル)を割当することができますが、用途 に応じてRancher管理者がカスタマイズで作 成したロールを割当することもできます。
20 Hands-on time ハンズオン手順の「ユーザー認証」セクション 約15分〜
21 ワークロードのデプロイと管理
ワークロードのデプロイ Rancherには、下記の種類のワークロードをデ プロイできます。 ・Deployment - ローリングアップデートなどの デプロイ ・ Deamonset -ノード毎のデーモンのデプロイ
・ Statefulset -ステートフルアプリケーション ・ Job -ジョブ・バッチ処理 ・ Cronjob -スケジュールジョブ
ワークロードのデプロイ ー サービスディスカバリ デプロイしたコンテナにアクセスできるよ うに下記のアクセス方式が設定できます。 ・ノードポート(全てのノード) ・ホストポート(Podがあるノードのみ) ・クラスターIP(クラスター内部閉じる通 信) ・L4ロードバランサー(AWS、GCPなどのクラ
ウドプラットフォームに依存)
• コンテナー単位にリソースの制限を設けること が可能です。 • CPUとメモリに対して、割当てられる下限値と上 限値が設定できます。 • CPU:1000 millicores =
1 vCPU(コア) • MEMORY:1M=1000*1000 1Mi=1024*1024 ワークロードのデプロイ ー リソース制限
スケジューリングは、新規に Pod が作成されたと きに最適なノードを選択して割り当てることです。 Rancherは、複数のスケジューリング方式をサポー トしています。 • 指定したノードへスケジューリング • ラベルがマッチしたノードへスケジューリング
• NodeAffinity/PodAffinityでスケジューリング ワークロードのデプロイ ー スケジューリング
LivenessProbeとReadinessProbeという2種類のヘルスチェック機構をサポートしています。 LivenessProbeもReadinessProbeも役割が異なるだけで、設定可能な内容は全く同じです。 ワークロードのデプロイ ー ヘルスチェック Probeの種類 役割 失敗時の挙動 LivenessProbe Podが正常に動作しているかの確認
Podを再起動する ReadinessProbe Podがサービスインする準備ができているかの 確認 トラフィックを流さない(Podを再起動しな い)
RollingUpdateとRecreateなどのアップデート戦略をサポートしています。 ※ワークロード種類によって、アップデート戦略の選択肢が異なります。 画面UIから、アップデート戦略の設定ができます。 ワークロードのデプロイ ー アップデート戦略
デプロイしたアプリに対して、UI画面から下記のラ イフサイクル管理や各種変更処理を行うことができ ます。 • 変更/削除 • クローン • SideCar追加 •
バージョンロールバック • 各種デバッグ機能(コンテナー接続など) • 一時停止/再開(変更適用待ち機能) ワークロード管理 ー ライフサイクル管理
UI画面から、直接にPODのコンテナーに接続して、シェルを実行できます。 障害調査や検証の際に、便利にコンテナーの中身確認ができる機能です。 ワークロード管理 ー コンテナー接続
UI画面から、直接に対象のPODのコンテナーのログ情報を確認できます。 障害調査や検証の際に、便利に利用できる機能です。 ワークロード管理 ー コンテナーログ参照
アプリのレプリカの数をアプリ起動時に設定できます。 起動後も、レプリカの変更や監視がUIから行うことができます。 ワークロード管理 ー 高可用性について
UI画面からのロールバック機能をサポートしています。 過去のバージョンに簡単にロールバックできます。 ワークロード管理 ー ロールバック
下記の種類のサービス作成をサポートしています。 • ClusterIP(クラスタ内部PODへロードバランサ) • NodePort(クラスタ外部からアクセス) • LoadBalancer(クラスタ外部からアクセス) • Headless(statefulアプリ対応) ワークロード管理
ー サービスディスカバリ ClusterIPNodePortLoadBalancerHeadless
Rancherには、Ingress(Nginx Ingress)機能がデフォルトに搭載しています 。 ワークロード管理 ー Ingress ClusterIPNodePortLoadBalancerHeadless
35 Hands-on time ハンズオン手順の「アプリデプロイとアプリ管理」セクション 約20分〜
36 カタログ機能
カタログ機能 - 概要 Rancherのカタログ機能は、アプリケーションをカタログ化することによって、 何度でも簡単にアプリケーションデプロイを実現しています。 カタログ画面に、対象のアプリを選択し、画面から必要なパラメーターを入力 し、直ちに指定したところにデプロイできます。 ※ カタログ機能のベースとなっているHelmについて概 要を説明します。
Helmは、Chartというマニフェストをテンプレート化し たパッケージを管理するKubernetesのパッケージマ ネージャーです。 Helmによる操作および管理は、基本的にHelm Clientの HelmコマンドによるCLI操作となりますが、カタログ機 能ではHelmの操作が全てGUI上に行います。
カタログ機能 - Helm Chartリポジトリの種類 カタログ機能は下記のリポジトリの種類をサポートしています。 ・Rancher社のLibraryリポジトリ ・Helm公式のHelm Stableリポジトリ ・Helm公式のHelm Incubatorリポジトリ
・カスタムカタログ:ユーザが作成したChartリポジトリ(自社のアプリなど)
UI画面から、アプリのバージョン、デプ ロイ先や、パラメータの設定を指定して、 デプロイできます。 ※カタログ機能を使用することで、 Chartのパラメータ(values.yaml)を画 面UIからも簡単に上書きできます。 カタログ機能 –アプリに必要な情報をUIから指定
アプリのバージョンアップ、ロールバックも、GUIから簡単に行えます。 カタログ機能 - アプリのバージョンアップとロールバック
41 永続化ストレージの使用
・Persistent Volume PV(Persistent Volume)は、永続化領域として確保されるVolumeです。リソースとして個別に作成 してから、 PVC(Persistent Volume Claim)経由で利用する形になります。 永続化ストレージの概要 –
Persistent Volume
・Storage Class Storage ClassにProvisionerを設定することによって、Dynamic Provisioningができるようになります。 PVC(Persistent Volume Claim)が発行されたタイミングで、 Storage Classに指定しているProvisioner
で、動的にPV(Persistent Volume)を作成して、割り当てます。 永続化ストレージの概要 – Storage Class
Rancherには、前述の2つの方法で、永続化 ストレージをサポートしています。 ・Persistent Volume 複数のボリュームのプラグイン (AmazonEBS、Ceph、NFSなど)サポーターし ています。 ・Storage Class 複数のプロビジョナー
(AmazonEBS、 Ceph、Glusterなど)サポーターしています。 Rancher上に永続化ストレージを使用
45 Hands-on time ハンズオン手順の「カタログ機能」と「永続化ストレージの使用」セクション 約15分〜
46 運用監視機能
• Rancherには、モニタリング機能がデフォルトで搭載されています。 運用監視機能 - アーキテクチャ
• クラスター全体のサマリー情報は、ダッシュボードから確認できます。 • 詳細情報は、Grafana画面からメトリック毎に確認できます。 運用監視機能 - モニタリング
• デフォルトで、Etcd、Kube-ComponetnsとNodeなどの基本のアラートルールが設定されています。 • 要件に合わせて、既存ルールのカスタマイズと新規ルールの追加もできます。 運用監視機能 -アラート
• 前述のアラートの連携・通知先として、Slack、Email、PegarDuty、Webhookなどが設定できます。 運用監視機能 - 通知
Rancherは、クラスタレベル/プロジェクトレベルのログ収集転送をサポートしています。 UI画面から、転送先のエンドポイント設定だけで、多様なサービス(ElasticSearch、Spluck、Kafkaなど) との連携が可能です。 運用監視機能 - Logging
デフォルトで提供しているもの以外に、カタログ機能画面にも多様なツール(Datadog、ElasticSearch、Kibana、 Fluentdなど)が用意されています為、要件に合わせて、任意のカタログのアプリのデプロイができます。 運用監視機能 - その他
53 Hands-on time ハンズオン手順の「運用監視機能」セクション 約15分〜
54 GUI以外のユーザーインタフェース
GUI以外に、Rancherは、APIとCLIも提供しています。 Rancher APIとCLI
56 CICD
Rancher Pipelinesは、Rancherに統合されたCI機能です。 パイプラインの実行にJenkinsを、各種アーティファクトの保管にMinioを、そしてコンテナイメージ の保管にDockerレジストリ(デフォルトの場合)を利用しています。 Rancher Pipelinesについて ▪Rancher Pipelineのアーキテクチャ
Rancher Pipelinesの使用例 ・ Rancher Pipeline機能:CI/CDのPipeline編集管理 ・ Rancherカタログ機能: CI/CDツールのインストール(Sonarqube、Nexusなど) Rancher Pipelinesについて
GitHub、GitLabまたはBitbucketのリポジトリと連携することで、コードのプッシュやプルリクエス トの作成、特定コミットへのタグ打ちなどが行われたタイミングで、パイプラインの実行をトリガー することができます。 外部ソースリポジトリとの連携 ▪参考: Rancher PipelineとGitLabとの連携設定の例
CI/CDのPipelineの各ステップの定義は、画面からも変更できます。 Rancher Pipelinesの定義と変更 ▪参考:Nexus、Sonarqubeと連携するビルドのステップの設定例
CI/CDのPipelineの実行結果は、画面から確認できます。 Rancher Pipelinesの結果確認 ▪参考: Pipelineの各ステッジの実行結果 ▪参考: Slack上にPipelineの実行結果の確認
62 Multi-cluster apps And Global DNS
概要 負荷分散、高可用のため、同じのアプリを異なるクラスタ上に稼働させます。
Multi-cluster apps機能 - 概要 Rancherのカタログ機能の拡張です。 カタログ機能: Rancher管理下にある1つのクラスタにアプリをデプロイすることができます。 Multi-cluster apps機能:Rancher管理下にある複数のクラスタに対し、同時にアプリをデプロイすることができます。 デプロイ先のクラスタ指定など一部の項目が異なる以外に、基本の操作は、カタログ機能と同じです。
Global DNS機能 - 概要 下記のDNSプロバイダをサポートしています。 • AWS Route53 • AliCloud
AliDns • CloudFlare
Hands-on n ϋϯζΦϯखॱ • K8SのϋϯζΦϯखॱ(For WorkShop) • RancherϓϥοτϑΥʔϜͷϋϯζΦϯखॱ(For WorkShop) n
ϋϯζΦϯखॱ(Optional Task) • K8SϋϯζΦϯڥͱखॱPart2(For WorkShop)
Thanks