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
260
インシデント対応に必要となるAIの利用パターンとPagerDutyの関係
jacopen
0
160
今日からはじめるプラットフォームエンジニアリング
jacopen
8
4k
Platform Engineeringで クラウドの「楽しくない」を解消しよう
jacopen
8
1.2k
トラシューアニマルになろう ~開発者だからこそできる、安定したサービス作りの秘訣~
jacopen
4
5.4k
あなたの興味は信頼性?それとも生産性? SREとしてのキャリアに悩むみなさまに伝えたい選択肢
jacopen
7
10k
PaaSの歴史と、 アプリケーションプラットフォームのこれから
jacopen
7
2.9k
AI x インシデント管理で拡げるサービスオーナーシップ
jacopen
0
280
間違いだらけのポストモーテム - ホントに役立つレビューはこうだ!
jacopen
7
2k
Other Decks in Technology
See All in Technology
今から間に合う re:Invent 準備グッズと現地の地図、その他ラスベガスを周る際の Tips/reinvent-preparation-guide
emiki
1
200
DMMの検索システムをSolrからElasticCloudに移行した話
hmaa_ryo
0
320
AIがコードを書いてくれるなら、新米エンジニアは何をする? / komekaigi2025
nkzn
24
16k
GTC 2025 : 가속되고 있는 미래
inureyes
PRO
0
140
「タコピーの原罪」から学ぶ間違った”支援” / the bad support of Takopii
piyonakajima
0
160
datadog-incident-management-intro
tetsuya28
0
110
20251027_findyさん_音声エージェントLT
almondo_event
2
520
ラスベガスの歩き方 2025年版(re:Invent 事前勉強会)
junjikoide
0
720
Retrospectiveを振り返ろう
nakasho
0
150
境界線が消える世界におけるQAエンジニアのキャリアの可能性を考える / Considering the Career Possibilities for QA Engineers
mii3king
2
110
激動の時代を爆速リチーミングで乗り越えろ
sansantech
PRO
1
220
Oracle Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
0
410
Featured
See All Featured
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.7k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
9
940
Automating Front-end Workflow
addyosmani
1371
200k
The Cult of Friendly URLs
andyhume
79
6.6k
Rebuilding a faster, lazier Slack
samanthasiow
84
9.2k
Being A Developer After 40
akosma
91
590k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
It's Worth the Effort
3n
187
28k
BBQ
matthewcrist
89
9.9k
GraphQLとの向き合い方2022年版
quramy
49
14k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
10
630
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
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αϙʔτ͢ΔྲྀΕ ແࢹग़དྷͳ͍Ͷ