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
JKD18.12-2T2_Pharosでk8s環境を楽して割り切って作る / JKD1812_...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
w4yh
December 05, 2018
Technology
1.1k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
JKD18.12-2T2_Pharosでk8s環境を楽して割り切って作る / JKD1812_2T2_Pharos
w4yh
December 05, 2018
More Decks by w4yh
See All by w4yh
中(小)規模事業者のNTP運用担当としての悩みと成功体験 / 20230407 NTP Meeting LT2
w4yh
0
360
20200319-ssmjp_ResilienceEngineering
w4yh
5
1.3k
StackStormによるCloudSlang対応とはなにだったのか
w4yh
0
650
20160913-IrecommendStackStormtoyou-w4yh
w4yh
3
3.1k
StackStorm
w4yh
1
540
StackStorm-qpstudy201604
w4yh
0
160
ChangeManagement
w4yh
0
170
Zohoを褒めたり叱ったり.pdf
w4yh
0
110
Other Decks in Technology
See All in Technology
事業会社は今こそSWEを高給で雇ってWebシステムを内製しよう
masaokb
0
110
“詰む”前に仕組みを作れ 〜技術の波に溺れないためのキャッチアップ術〜
takasyou
7
4.6k
はてなのサービス基盤を支える Kubernetes《足腰》
masayoshimaezawa
0
310
Amazon Redshift zero-ETL 統合を活用した軽量なマルチプロダクトデータ可視化基盤 / Lightweight Multi-Product Data Visualization with Amazon Redshift Zero-ETL
kaminashi
0
130
本当の”仕事”を手放せる未来が見えた
mu7889yoon
0
200
Docker Desktop不要の時代が来る? WSL標準の「wslc」で Linuxコンテナを動かしてみた.
ueponx
0
310
『AIに負けない』より『AIと遊ぶ』」〜ワクワクが最強のテスト・QA学習戦略_公開用
odan611
1
210
From Prompt Engineering to Loop Engineering
shibuiwilliam
1
300
IaC コードを資産へ:AWS CDK 社内ライブラリと横断展開 / aws-summit-japan-2026
gotok365
10
1.7k
ご挨拶「10周年を迎える共創ラボのこれまでとこれから」
iotcomjpadmin
0
160
「軸足」は 固定しなくていい - 熱量と強みで描く、しなやかなキャリアの形
kakehashi
PRO
1
300
週末にループ・エンジニアリングの理解を深めるためのスライド
nagatsu
0
700
Featured
See All Featured
WENDY [Excerpt]
tessaabrams
11
38k
30 Presentation Tips
portentint
PRO
1
330
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
870
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Become a Pro
speakerdeck
PRO
31
6k
Speed Design
sergeychernyshev
33
1.9k
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
Faster Mobile Websites
deanohume
310
32k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Building the Perfect Custom Keyboard
takai
2
800
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.6k
Transcript
Pharosでk8s環境を楽して割り切って作る @w4yh JAPAN CONTAINER DAYS 2T2 / 2018-12-05 #containerdaysjp #TerraceRoom
▸@w4yh ▸データセンターで運用基盤のお守りを担当 ▸今日の内容は業務production環境ではない ▸自分用の検証環境のリニューアルで用いた際のお話 ▸Rancher 1.x、Kontena Classic、Kontena Pharosは経験したが 生Kubernetesはほぼ経験無し ▸KontenaやAnchoreの中の人でも代理店でもコミッターでもなく
ただのファン/ユーザー 自己紹介 #containerdaysjp #TerraceRoom
CFP申込時のタイトル 「ちょっとセキュアなk8s環境をPharos+Anchoreで楽して作る」 今日のタイトル 「Pharosでk8s環境を楽して割り切って作る」 ▸時間の都合で今日はAnchoreは省略 ▸コンテナ用脆弱性スキャンは各種プラットフォームやツールに 標準で組み込まれるようになり選択肢も増えた ▸Anchore公式ブログにCircleCIで使う方法の投稿 ▸おことわり:発表中Kontenaはケイオンテナと読んで一般名詞コ ンテナと区別
CFP #containerdaysjp #TerraceRoom
最初に結論 「Pharosでk8s環境を楽して割り切って作る」 ▸Kubernetes ディストリビューションであるPharosを用いることで Kubernetes自体とAddonのライフサイクルをPharosのリリースと して一括で管理できる ▸Built-in Addon (バンドル) の範囲で使えばAddonも動作確認済みの
ものを使うことになるのではまる危険性を減らせる ▸付属ツールを活用することでさらに楽ができる #containerdaysjp #TerraceRoom
▸自分用の開発検証環境を元々はKontena Classic + Open vStorageで 組んでいた ▸Kontena Pharosのリリースとそれに伴うKontena Classicの開発方 針変更
背景と課題 ▸自分用なので手間はかけずに移行したい ▸ストレージのデータも移行する #containerdaysjp #TerraceRoom
Kontena Inc.の社名 & 最初のプロダクト名 ▸独自のコンテナオーケストレーションツールKontena Classicを提供 ▸創業メンバーが日本好きで社名はローマ字表記に由来 ▸2015-04当時のウリは「Application Containers for
Masses」 (後に「The Developer Friendly Container & Microservices Platform」 ▸2016-11 バージョン1.0リリース (最新は1.5.4。APL2) ▸随所に「楽したい」「大げさでなくていい」という姿勢が感じられるの が良い(発表者の主観) Kontena #containerdaysjp #TerraceRoom
Kontena Classic ▸Kontena Inc. 独自のコンテナオーケストレーションツール 特長 ▸シンプルで簡単かつ十分な機能 ▸LBが標準機能にあり簡単にL4 LBが 構成できる。Let’s
Encrypt連携も込み ▸Stackというdocker-composeの仕組みを 利用したパッケージング #containerdaysjp #TerraceRoom 2017/10/17の私のツイート
Kontena Classic の現状 ▸Ver 1.5.4で「欲しい機能は揃った」として新機能追加はしない方針 公式サイトの[Legacy]はその旨 (screenshot from kontena.io) ▸バグ修正などは継続
▸「誰かレビューしてくれれば1.6はリリースできるんだけどなあ」とい う発言もSlackで ▸Kontena ClassicのMaster ServerをSaaS提供するKontena Cloudは年内無料 開放中(年末サービス終了/新規受け付け終了) #containerdaysjp #TerraceRoom
▸2017-09 Mesos DC/OSがk8s対応を発表 ▸2017-09 Rancher 2.0が ▸2017-10 Dockerが ▸2018-04 Kontena
Pharosを発表「The Simple, solid, certified kubernetes distribution that just works.」 ▸2018-05 Pharos 1.0リリース ▸2018-11 Pharos 2.0リリース (最新は2.0.4。Kubernetes 1.11.5対応 APL2 / フリーミアム) Kontena Pharosの登場 https://www.kontena.io/pharos/ #containerdaysjp #TerraceRoom
Kontena Pharosのメリット -公式 ▸インストール、メンテナンスが簡単 ▸最新のKubernetesに追従 ▸デフォルト設定はセキュリティ固めにしてNIST SP800-190に準拠 ▸Built-in Addon、もちろん他のaddonも利用可能 ▸オンプレでもIaaS上でもサポート
▸containerd, cri-o に対応 #containerdaysjp #TerraceRoom NIST SP800-190 “Application Container Security Guide” https://nvlpubs.nist.gov/nistpubs/specialpublications/nist.sp.800-190.pdf
Kontena Pharosのメリット -Addon ▸Built-in AddonとしてPharosで動作確認されたKubernetes Addonがあり、 一通りの機能をcluster.ymlから揃えることができる ▸Pharos 1.xでは以下のAddon Pharos
Host Upgrades Cert Manager Ingress NGINX Kubernetes Dashboard OpenEBS #containerdaysjp #TerraceRoom
Pharos Host Upgrades ▸ホストのkernelをアップデートしてリブートしたい時などに使う ▸開始時刻 (+メンテナンスウインドウ時間)を指定 ▸yum-cron/apt dailyに介在してクラスタ内でリブートを1台ずつ適用 ▸Drain/evict –
reboot – pod起動/uncordon を処理してくれる host-upgrades: enabled: true schedule: "0 6 * * *" schedule_window: 1h reboot: true #containerdaysjp #TerraceRoom
▸必要な物 Kontena Account https://account.kontena.io/signup 作業環境 と インストールするマシン パスワード無しでsshログイン + パスワード無しでsudo
Kontena Pharosの導入 #containerdaysjp #TerraceRoom
▸chpharos (chrubyのような複数バージョン管理ツール) $ curl –s https://get.pharos.sh | bash ▸pharos cliの導入
$ chpharos login (Kontenaアカウントでログイン) $ chpharos install latest $ chpharos use 2.0.2+oss ▸cluster.ymlを作成 ▸ $ pharos up -c cluster.yml Kontena Pharosの導入 #containerdaysjp #TerraceRoom
▸pharos cliでインストールと同様にできる $ chpharos login (Kontenaアカウントでログイン) $ chpharos install 2.0.3
$ pharos up -c cluster.yml Kontena Pharosのcluster update #containerdaysjp #TerraceRoom
Kontena Pharosのメリット(をKontena Classicとの対比で) ▸シンプルで簡単 Built-in Addon相当で一通りの機能が揃う host-upgrade最高 ▸LB ingress-nginxがbuilt-in addon
Service Meshとかの対応欲しい… ▸Stack Helm? ただし mortar が出た #containerdaysjp #TerraceRoom
mortar (臼砲, 迫撃砲 {しっくい}) ▸kubectl apply --prune –f {dir} 相当のツール
▸Pharosとは独立して利用可能 ▸ディレクトリ内のマニフェストを一つの shot として管理 ▸Kustomize チックな overlay (とtemplate)が使える ▸$ mortar fire <dir> <shot-name> ▸$ mortar list ▸CIで何度も実行したりyankしたりする する時に便利 https://github.com/kontena/mortar #containerdaysjp #TerraceRoom
ここまでは、平和だった Pharos 1.x のお話 以下 Pharos 2.x について #containerdaysjp #TerraceRoom
Kontena Pharos 2.0 ▸ライセンスの範囲が変更 Pharos 1.x はサポートなどが有償でソフトウェアはAPL 2.0 Pharos 2.xでは一部のBuilt-in
Addonも有償に ▸ただし、evaluationでの利用の範囲においてはAddonもすべて無償利用 可 #containerdaysjp #TerraceRoom
Kontena Pharosのメリット -Addon ▸Pharos 2.xのBuilt-in Addonは以下 Cert Manager Pharos Host
Upgrades Helm Ingress NGINX Kontena Lens (OSS版には無い。Kubernetes Dashboardから変更) Kontena Storage (OSS版には無い。Rook+Cephベース) Kontena Backup (OSS版には無い。Heptio Arkベース) GUIが有償に OpenEBSはdeprecatedに #containerdaysjp #TerraceRoom
Kontena Lens ▸管理GUI。モニタリングの他RBACの管理も行える ▸Kontena Cloudを彷彿と… Kontena Cloud後継のGUIを作るという発言も #containerdaysjp #TerraceRoom https://www.kontena.io/
▸Kontena Classicの環境からKontena Pharos (ver 1.5)に稼働環境を移 行して問題無く稼働できている ▸手間はかけずに移行したい →容易に環境を構築できた。運用も捗る ▸ディストリビューションを使うのでBuilt-In Addonを活用して
3rd-partyは用いないと割り切れば管理も運用も楽ができそう ▸Pharos 2.xの(ライセンス)変更にはこれから対応 まとめ/結果 #containerdaysjp #TerraceRoom
Kontenaの参考情報 ▸公式サイト https://kontena.io/ ▸Pharos https://pharos.sh/ https://github.com/kontena/pharos-cluster ▸mortar https://github.com/kontena/mortar Appendix.1
Anchoreの参考情報 ▸ 公式サイト https://anchore.com/ ▸ Bitnamiでの利用例 https://engineering.bitnami.com/articles/how-bitnami-continuously- scans-container-images-to-fix-cve-reported-security-issues.html ▸ CircleCIに組み込む方法
https://anchore.com/blog/integrating-anchore-scanning-with-circleci/ Appendix.2
Kontenaと日本 ▸ ソースを見失ったが、社名はcontainerの日本語から来ているとweb上 での言及あり ▸ かつてはmeetup.comにKontena Tokyoグループがあった (GlobalなYouTube Webinar1件が登録されただけで本家グループに統合) ▸
Kontena Classic cliには $ kontena container という混乱させられるサブコマンドがある Appendix.3
Kontena Community ▸公式Blog、Slack、Githubが主なチャネル ▸Slack登録はこちらから https://slack.kontena.io/ ▸実質generalチャネルのみ / 最近Lensチャネルができた ▸その分(?)スレッド利用は活発でreplyが3桁になることもざら ▸GitHubはマージ後もbranchを残すことが多い
▸結果、Kontena Classicはstale branchが287 ▸Forumもあるが不活発 https://forum.kontena.io/ Appendix.4
Pharos Price List ▸https://www.kontena.io/pharos#pricing ▸ただしevaluationならばPROも無償利用可能 Appendix.5
その他のKubernetes Distributionの例 ▸SuperGiant https://supergiant.io/ ▸Typhoon https://typhoon.psdn.io/ 個人的にはTectonicやOpenShiftは もう少し大きなSolution Suiteな感じ Appendix.6