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
KubernetesのPetSetsの話
Search
Kazuto Kusama
September 16, 2016
Technology
1
220
KubernetesのPetSetsの話
社内コンテナ勉強会で喋った機能。
PetSetsを使うことで、従来のStatefulなアプリケーションもKubernetes上で動かしやすくなります
Kazuto Kusama
September 16, 2016
Tweet
Share
More Decks by Kazuto Kusama
See All by Kazuto Kusama
AI によってシステム障害が増える!? ~AI エージェント時代だからこそ必要な、インシデントとの向き合い方~
jacopen
4
230
インシデント対応に必要となるAIの利用パターンとPagerDutyの関係
jacopen
0
73
今日からはじめるプラットフォームエンジニアリング
jacopen
8
3.7k
Platform Engineeringで クラウドの「楽しくない」を解消しよう
jacopen
8
830
トラシューアニマルになろう ~開発者だからこそできる、安定したサービス作りの秘訣~
jacopen
4
5k
あなたの興味は信頼性?それとも生産性? SREとしてのキャリアに悩むみなさまに伝えたい選択肢
jacopen
7
9.4k
PaaSの歴史と、 アプリケーションプラットフォームのこれから
jacopen
7
2.7k
AI x インシデント管理で拡げるサービスオーナーシップ
jacopen
0
260
間違いだらけのポストモーテム - ホントに役立つレビューはこうだ!
jacopen
7
1.9k
Other Decks in Technology
See All in Technology
認知戦の理解と、市民としての対抗策
hogehuga
0
380
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
30k
あなたの知らない OneDrive
murachiakira
0
240
ドキュメントはAIの味方!スタートアップのアジャイルを加速するADR
kawauso
3
420
kintone開発チームの紹介
cybozuinsideout
PRO
0
73k
トヨタ生産方式(TPS)入門
recruitengineers
PRO
4
780
Devinを使ったモバイルアプリ開発 / Mobile app development with Devin
yanzm
0
200
GitHub Copilot coding agent を推したい / AIDD Nagoya #1
tnir
4
4.8k
R-SCoRe: Revisiting Scene Coordinate Regression for Robust Large-Scale Visual Localization
takmin
0
440
Jaws-ug名古屋_LT資料_20250829
azoo2024
3
140
.NET開発者のためのAzureの概要
tomokusaba
0
230
DeNA での思い出 / Memories at DeNA
orgachem
PRO
3
1.7k
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
231
18k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
Code Review Best Practice
trishagee
70
19k
4 Signs Your Business is Dying
shpigford
184
22k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
We Have a Design System, Now What?
morganepeng
53
7.8k
The Invisible Side of Design
smashingmag
301
51k
How GitHub (no longer) Works
holman
315
140k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
21k
Designing Experiences People Love
moore
142
24k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
Transcript
LTͷ1FU4FUTͷ
Kazuto Kusama @jacopen
࠷ۙͷ ࠷ۙͷ͕ͬͯΔϓϩδΣΫτͰɺͳΜͱ͔ελοΫͷͳΜͱ͔ ͍ͬͯ͏ͭΛ͍ͬͯΔͷͰɺRabbitMQ͕ඞཁʹͳͬͨ ӡ༻ج൫ʹk8sΛ͍ͬͯΔΜͰɺRabbitMQΫϥελΛk8sʹ͏
k8sͰී௨ʹ্͛ͨ߹ (Deployments, Replication Controller) kind: Deployment metadata: name: rabbitmq spec:
replicas: 3 template: metadata: labels: app: rabbitmq spec: containers: - name: rabbitmq image: rabbitmq:latest
k8sͰී௨ʹ্͛ͨ߹ (Deployments, Replication Controller) jacopen@ssh2:~/kubernetes$ kubectl get pods NAME READY
STATUS RESTARTS AGE rabbitmq-4239234776-8bs65 1/1 Running 0 2m rabbitmq-4239234776-amzjt 1/1 Running 0 2m rabbitmq-4239234776-wq6s4 1/1 Running 0 2m
MQ MQ MQ 3ඖͷRabbitMQ
MQ MQ MQ 3ඖͷRabbitMQ ΫϥελΛΜͰΈΑ͏
$ rabbitmqctl join_cluster rabbit@rabbitmq-0 OR rabbitmq.config [ { rabbit, [
{loopback_users, []}, {cluster_nodes, {[‘rabbit@rabbitmq-0', 'rabbit@rabbitmq-1'], ram}} ] } ].
MQ MQ MQ ΄ɺϗετ໊ɾɾɾ rabbitmq-4239234776-8bs65 rabbitmq-4239234776-amzjt rabbitmq-4239234776-wq6s4 ܾ·ͬͨϗετ໊ʹͳΒͳ্͍ʹɺ૬ޓͷ௨৴खஈ͕ͳ͍
MQ MQ MQ ແཧཧk8sͰ࣮ݱ rabbitmq-4239234776-8bs65 rabbitmq-4239234776-amzjt rabbitmq-4239234776-wq6s4 Service rabbitmq-0 Service
rabbitmq-1 Service rabbitmq-2
MQ MQ MQ ແཧཧk8sͰ࣮ݱ rabbitmq-4239234776-8bs65 rabbitmq-4239234776-amzjt rabbitmq-4239234776-wq6s4 Service rabbitmq-0 Service
rabbitmq-1 Service rabbitmq-2
MQ MQ MQ yamlࠈ rabbitmq-4239234776-8bs65 rabbitmq-4239234776-amzjt rabbitmq-4239234776-wq6s4 Service rabbitmq-0 Service
rabbitmq-1 Service rabbitmq-2 yaml yaml yaml yaml yaml yaml
MQ MQ MQ ϝϯςͷͨΊʹఀࢭ͠Α͏ $ kubectl delete -f … rabbitmq-4239234776-8bs65
rabbitmq-4239234776-amzjt rabbitmq-4239234776-wq6s4 Service rabbitmq-0 Service rabbitmq-1 Service rabbitmq-2 yaml yaml yaml yaml yaml yaml
ϝϯςͷͨΊʹఀࢭ͠Α͏ rabbitmq-4239234776-8bs65 rabbitmq-4239234776-amzjt rabbitmq-4239234776-wq6s4
$BUUMF Ոச
Cattle or Pets • εέʔϧ͢ΔΞʔΩςΫνϟͷͨΊʹɺ֤ϊʔυΛՈசͷΑ ͏ʹѻ͏ඞཁ͕͋Δ • ΫϥυωΠςΟϒͳੈքͰׂͱ;ͭʔ • ͱ͍͑ɺશͯͷΞϓϦ͕ͦ͏࡞ΕΔΘ͚͡Όͳ͍
PetSets is Կ • ݱߦͷk8s 1.3ͰΞϧϑΝ൛͕࣮͞Εͨػೳ • ΫϥυωΠςΟϒͰͳ͍;ͭʔͷΞϓϦέʔγϣϯΛ k8sͰಈ͔͘͢͠͠Α͏ͥ ɹͱ͍͏ػೳ
PetSetͰ্͛ͨ߹ jacopen@ssh2:~/kubernetes$ kubectl get pods NAME READY STATUS RESTARTS AGE
rabbitmq-0 1/1 Running 0 18s rabbitmq-1 1/1 Running 0 12s rabbitmq-2 1/1 Running 0 7s
root@rabbitmq-0:/# hostname rabbitmq-0 root@rabbitmq-0:/# ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu
65536 qdisc noqueue state UNKNOWN group default qlen 1 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 727: eth0@if728: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1350 qdisc noqueue state UP group default link/ether 02:42:ac:20:52:11 brd ff:ff:ff:ff:ff:ff inet 172.32.82.17/24 scope global eth0 valid_lft forever preferred_lft forever inet6 fe80::42:acff:fe20:5211/64 scope link tentative dadfailed valid_lft forever preferred_lft forever root@rabbitmq-0:/# ping rabbitmq-1.rabbitmq PING rabbitmq-1.rabbitmq.petset.svc.cluster.local (172.32.41.13) 56(84) bytes of data. 64 bytes from 172.32.41.13: icmp_seq=1 ttl=62 time=0.575 ms 64 bytes from 172.32.41.13: icmp_seq=2 ttl=62 time=0.752 ms
0 1 2 0൪͔Βॱ൪ʹ্͛ͯ͘ΕΔ
0 1 2 େ͖͍൪߸͔Βॱʹམͱͯ͘͠ΕΔ ŋŋŋͣ
http://kubernetes.io/docs/user-guide/petset/
ॴײ • ·ͩ·ͩαͳͷͰ͓͔͠ͳಈ͖ଟ͠ • ࣮ઓೖ·ͩແཧɻ1.41.5͋ͨΓʹظ • ͱ͍͑ɺStateless͚ͩͰͳ͘Statefulαϙʔτ͢ΔྲྀΕ ແࢹग़དྷͳ͍Ͷ