Slide 1

Slide 1 text

LTͷ1FU4FUTͷ࿩

Slide 2

Slide 2 text

Kazuto Kusama @jacopen

Slide 3

Slide 3 text

࠷ۙͷ࿩ ࠷ۙͷ๻͕΍ͬͯΔϓϩδΣΫτͰɺͳΜͱ͔ελοΫͷͳΜͱ͔ ͍ͬͯ͏΍ͭΛ࢖͍ͬͯΔͷͰɺRabbitMQ͕ඞཁʹͳͬͨ ӡ༻ج൫ʹk8sΛ࢖͍ͬͯΔΜͰɺRabbitMQΫϥελΛk8sʹ૊΋͏

Slide 4

Slide 4 text

k8sͰී௨ʹ্͛ͨ৔߹
 (Deployments, Replication Controller) kind: Deployment metadata: name: rabbitmq spec: replicas: 3 template: metadata: labels: app: rabbitmq spec: containers: - name: rabbitmq image: rabbitmq:latest

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

MQ MQ MQ 3ඖͷRabbitMQ

Slide 7

Slide 7 text

MQ MQ MQ 3ඖͷRabbitMQ ΫϥελΛ૊ΜͰΈΑ͏

Slide 8

Slide 8 text

$ rabbitmqctl join_cluster rabbit@rabbitmq-0 OR rabbitmq.config [ { rabbit, [ {loopback_users, []}, {cluster_nodes, {[‘rabbit@rabbitmq-0', 'rabbit@rabbitmq-1'], ram}} ] } ].

Slide 9

Slide 9 text

MQ MQ MQ ΄ɺϗετ໊ɾɾɾ rabbitmq-4239234776-8bs65 rabbitmq-4239234776-amzjt rabbitmq-4239234776-wq6s4 ܾ·ͬͨϗετ໊ʹͳΒͳ্͍ʹɺ૬ޓͷ௨৴खஈ͕ͳ͍

Slide 10

Slide 10 text

MQ MQ MQ ແཧ໼ཧk8sͰ࣮ݱ rabbitmq-4239234776-8bs65 rabbitmq-4239234776-amzjt rabbitmq-4239234776-wq6s4 Service rabbitmq-0 Service rabbitmq-1 Service rabbitmq-2

Slide 11

Slide 11 text

MQ MQ MQ ແཧ໼ཧk8sͰ࣮ݱ rabbitmq-4239234776-8bs65 rabbitmq-4239234776-amzjt rabbitmq-4239234776-wq6s4 Service rabbitmq-0 Service rabbitmq-1 Service rabbitmq-2

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

ϝϯςͷͨΊʹఀࢭ͠Α͏ rabbitmq-4239234776-8bs65 rabbitmq-4239234776-amzjt rabbitmq-4239234776-wq6s4

Slide 15

Slide 15 text

$BUUMF Ոச

Slide 16

Slide 16 text

Cattle or Pets • εέʔϧ͢ΔΞʔΩςΫνϟͷͨΊʹ͸ɺ֤ϊʔυΛՈசͷΑ ͏ʹѻ͏ඞཁ͕͋Δ • Ϋϥ΢υωΠςΟϒͳੈքͰ͸ׂͱ;ͭʔ • ͱ͸͍͑ɺશͯͷΞϓϦ͕ͦ͏࡞ΕΔΘ͚͡Όͳ͍

Slide 17

Slide 17 text

PetSets is Կ • ݱߦͷk8s 1.3ͰΞϧϑΝ൛͕࣮૷͞Εͨػೳ • Ϋϥ΢υωΠςΟϒͰ͸ͳ͍;ͭʔͷΞϓϦέʔγϣϯΛ
 k8sͰಈ͔͠΍͘͢͠Α͏ͥ ɹͱ͍͏ػೳ

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

root@rabbitmq-0:/# hostname rabbitmq-0 root@rabbitmq-0:/# ip a 1: lo: 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: 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

Slide 20

Slide 20 text

0 1 2 0൪͔Βॱ൪ʹ্͛ͯ͘ΕΔ

Slide 21

Slide 21 text

0 1 2 େ͖͍൪߸͔Βॱʹམͱͯ͘͠ΕΔ ŋŋŋ͸ͣ

Slide 22

Slide 22 text

http://kubernetes.io/docs/user-guide/petset/

Slide 23

Slide 23 text

ॴײ • ·ͩ·ͩαͳͷͰ͓͔͠ͳಈ͖ଟ͠ • ࣮ઓ౤ೖ͸·ͩແཧɻ1.4΍1.5͋ͨΓʹظ଴ • ͱ͸͍͑ɺStateless͚ͩͰͳ͘Stateful΋αϙʔτ͢ΔྲྀΕ͸
 ແࢹग़དྷͳ͍Ͷ