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
240
KubernetesのPetSetsの話
社内コンテナ勉強会で喋った機能。
PetSetsを使うことで、従来のStatefulなアプリケーションもKubernetes上で動かしやすくなります
Kazuto Kusama
September 16, 2016
Tweet
Share
More Decks by Kazuto Kusama
See All by Kazuto Kusama
SREの仕事を自動化する際にやっておきたい5つのポイント
jacopen
6
1.3k
AI時代のインシデント対応 〜時代を切り抜ける、組織アーキテクチャ〜
jacopen
4
270
AI時代の開発とPlatform Engineeringについて考える
jacopen
0
37
AI によってシステム障害が増える!? ~AI エージェント時代だからこそ必要な、インシデントとの向き合い方~
jacopen
4
340
インシデント対応に必要となるAIの利用パターンとPagerDutyの関係
jacopen
0
270
今日からはじめるプラットフォームエンジニアリング
jacopen
8
4.5k
Platform Engineeringで クラウドの「楽しくない」を解消しよう
jacopen
8
1.6k
トラシューアニマルになろう ~開発者だからこそできる、安定したサービス作りの秘訣~
jacopen
4
6k
あなたの興味は信頼性?それとも生産性? SREとしてのキャリアに悩むみなさまに伝えたい選択肢
jacopen
7
11k
Other Decks in Technology
See All in Technology
生成AI時代にこそ求められるSRE / SRE for Gen AI era
ymotongpoo
5
3k
小さく始めるBCP ― 多プロダクト環境で始める最初の一歩
kekke_n
1
390
~Everything as Codeを諦めない~ 後からCDK
mu7889yoon
3
320
20260208_第66回 コンピュータビジョン勉強会
keiichiito1978
0
110
Amazon S3 Vectorsを使って資格勉強用AIエージェントを構築してみた
usanchuu
3
450
外部キー制約の知っておいて欲しいこと - RDBMSを正しく使うために必要なこと / FOREIGN KEY Night
soudai
PRO
12
5.3k
クレジットカード決済基盤を支えるSRE - 厳格な監査とSRE運用の両立 (SRE Kaigi 2026)
capytan
6
2.7k
Azure Durable Functions で作った NL2SQL Agent の精度向上に取り組んだ話/jat08
thara0402
0
170
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
42k
AWS Network Firewall Proxyを触ってみた
nagisa53
1
210
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
13k
【Oracle Cloud ウェビナー】[Oracle AI Database + AWS] Oracle Database@AWSで広がるクラウドの新たな選択肢とAI時代のデータ戦略
oracle4engineer
PRO
1
130
Featured
See All Featured
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
0
2.3k
The Cost Of JavaScript in 2023
addyosmani
55
9.5k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.1k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
0
200
Are puppies a ranking factor?
jonoalderson
1
2.7k
Crafting Experiences
bethany
1
48
The agentic SEO stack - context over prompts
schlessera
0
630
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
0
320
Git: the NoSQL Database
bkeepers
PRO
432
66k
Writing Fast Ruby
sferik
630
62k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
210
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αϙʔτ͢ΔྲྀΕ ແࢹग़དྷͳ͍Ͷ