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
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
370
20200319-ssmjp_ResilienceEngineering
w4yh
5
1.3k
StackStormによるCloudSlang対応とはなにだったのか
w4yh
0
660
20160913-IrecommendStackStormtoyou-w4yh
w4yh
3
3.1k
StackStorm
w4yh
1
540
StackStorm-qpstudy201604
w4yh
0
160
ChangeManagement
w4yh
0
180
Zohoを褒めたり叱ったり.pdf
w4yh
0
120
Other Decks in Technology
See All in Technology
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
5k
Android skills に学ぶ
kokiko
0
140
2027年のMetricKit
kantacky
0
140
AIコーディングの次。コードレビューと理解負荷を解消して組織の開発生産性を高める
moongift
PRO
2
2.7k
医療の現場を変革に挑戦した半年間の軌跡 - PythonとAIで現場を変える / From Code to Care
soudai
PRO
0
440
AI for Science時代を切り開く、政府の次世代HPC戦略の展望
gpuunite_official
0
140
その“隠したつもり”が命取り ── 自前と平文をやめて「正解」に委ねる
kuroneko13
0
140
【GCC2026】大規模言語モデルを活用した内製検索サービスの社内展開や業務活用
bandainamcostudios
PRO
0
380
AIペネトレーションテスト・ セキュリティ検証「AgenticSec」紹介資料
laysakura
2
9.3k
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1.2k
作って理解するCoding Agent 〜フレームワークに頼らないピュア Python での実装〜
takapy
3
710
老害フォレンジッカーはAI羊の夢を見るか?
tadmaddad
0
360
Featured
See All Featured
A Soul's Torment
seathinner
6
3.5k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
660
Information Architects: The Missing Link in Design Systems
soysaucechin
1
1.1k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
810
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
270
Unsuck your backbone
ammeep
672
58k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Product Roadmaps are Hard
iamctodd
55
12k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
64
56k
Optimizing for Happiness
mojombo
378
71k
A Tale of Four Properties
chriscoyier
163
24k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.1k
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