+ All Categories
Home > Documents > VA Linux Systems Japan 株式会社5 マスターノード ETCD kube-scheduler...

VA Linux Systems Japan 株式会社5 マスターノード ETCD kube-scheduler...

Date post: 26-Jun-2020
Category:
Upload: others
View: 0 times
Download: 0 times
Share this document with a friend
34
Copyright VA Linux Systems Japan. All rights reserved. VA Linux Systems Japan株式会社 2018117
Transcript
Page 1: VA Linux Systems Japan 株式会社5 マスターノード ETCD kube-scheduler kube-controller-manager kube-apiserver ワーカーノード1 ワーカーノード2 Kubeletなど アクセスの受け付け

Copyright ⓒ VA Linux Systems Japan. All rights reserved.

VA Linux Systems Japan株式会社

2018年11月7日

Page 2: VA Linux Systems Japan 株式会社5 マスターノード ETCD kube-scheduler kube-controller-manager kube-apiserver ワーカーノード1 ワーカーノード2 Kubeletなど アクセスの受け付け

2

Page 3: VA Linux Systems Japan 株式会社5 マスターノード ETCD kube-scheduler kube-controller-manager kube-apiserver ワーカーノード1 ワーカーノード2 Kubeletなど アクセスの受け付け

3

マスターノード

ETCD

kube-scheduler kube-controller-manager

kube-apiserver

ワーカーノード1

ワーカーノード2

Kubeletなど

アクセスの受け付け

kubectl

クライアント

データストア

スケジュール リソースの制御

Page 4: VA Linux Systems Japan 株式会社5 マスターノード ETCD kube-scheduler kube-controller-manager kube-apiserver ワーカーノード1 ワーカーノード2 Kubeletなど アクセスの受け付け

4

Page 5: VA Linux Systems Japan 株式会社5 マスターノード ETCD kube-scheduler kube-controller-manager kube-apiserver ワーカーノード1 ワーカーノード2 Kubeletなど アクセスの受け付け

5

マスターノード

ETCD

kube-scheduler kube-controller-manager

kube-apiserver

ワーカーノード1

ワーカーノード2

Kubeletなど

アクセスの受け付け

kubectl

クライアント

データストア

スケジュール リソースの制御

Page 6: VA Linux Systems Japan 株式会社5 マスターノード ETCD kube-scheduler kube-controller-manager kube-apiserver ワーカーノード1 ワーカーノード2 Kubeletなど アクセスの受け付け

6

kube-apiserver・ロードバランサー配下に複数動作

kube-schedulerとkube-controller-manager・リーダー選出の仕組みあり・Active-standby・特に設定する必要なし

etcd・奇数の数のノードで冗長化・リーダー選出の仕組みあり

Page 7: VA Linux Systems Japan 株式会社5 マスターノード ETCD kube-scheduler kube-controller-manager kube-apiserver ワーカーノード1 ワーカーノード2 Kubeletなど アクセスの受け付け

7

マスターノード(k8sm1)

etcdクラスタ

ETCD

kube-scheduler

kube-controller-manager

kube-apiserver

ワーカーノード(k8sw2)

ワーカーノード(k8sw1)

Kubeletなど

アクセスの受け付け

kubectl

クライアント

ロードバランサー

マスターノード(k8sm2) マスターノード(k8sm3)

kube-apiserver kube-apiserver

ETCD ETCD

kube-controller-manager kube-controller-manager

kube-scheduler kube-scheduler

ロードバランサー

リーダーリーダー

リーダー

Page 8: VA Linux Systems Japan 株式会社5 マスターノード ETCD kube-scheduler kube-controller-manager kube-apiserver ワーカーノード1 ワーカーノード2 Kubeletなど アクセスの受け付け

8

Page 9: VA Linux Systems Japan 株式会社5 マスターノード ETCD kube-scheduler kube-controller-manager kube-apiserver ワーカーノード1 ワーカーノード2 Kubeletなど アクセスの受け付け

9

Page 10: VA Linux Systems Japan 株式会社5 マスターノード ETCD kube-scheduler kube-controller-manager kube-apiserver ワーカーノード1 ワーカーノード2 Kubeletなど アクセスの受け付け

10

Docker 17.12.1-ceKubernetes:1.12.2OS: ubuntu18.04

ここでは、kubeadmを使用してKubernetesのHAクラスタを構築

Page 11: VA Linux Systems Japan 株式会社5 マスターノード ETCD kube-scheduler kube-controller-manager kube-apiserver ワーカーノード1 ワーカーノード2 Kubeletなど アクセスの受け付け

11

1. ロードバランサーを作成2.ノード共通の設定3.マスターノードの設定(最初の1台)4.マスターノードの設定(2,3台目)5.ワーカーノードを登録とCNIの設定

Page 12: VA Linux Systems Japan 株式会社5 マスターノード ETCD kube-scheduler kube-controller-manager kube-apiserver ワーカーノード1 ワーカーノード2 Kubeletなど アクセスの受け付け

12

1.haproxyをインストール

2./etc/haproxy/haproxy.cfgを設定

3.フロントエンドはポート6443をlisten

4.バックエンドはマスターノードのIP+ポート(6443)に転送設定

Page 13: VA Linux Systems Japan 株式会社5 マスターノード ETCD kube-scheduler kube-controller-manager kube-apiserver ワーカーノード1 ワーカーノード2 Kubeletなど アクセスの受け付け

13

1.macアドレスとproduct_uuidがユニークかを確認

2.swapを無効に設定

3./etc/hostsの編集

4.必要なポートを開放

5.dockerのインストール

6.kubeadm kubeletのインストール

参照URL https://kubernetes.io/docs/setup/independent/create-cluster-kubeadm/

Page 14: VA Linux Systems Japan 株式会社5 マスターノード ETCD kube-scheduler kube-controller-manager kube-apiserver ワーカーノード1 ワーカーノード2 Kubeletなど アクセスの受け付け

14

1.Kubeadm用のYAMLファイルを作成3つの要点

・使うKubernetesのバージョンを指定・ロードバランサーをアクセスエンドポイントに設定・新規のetcdクラスタ作成を指示

2.作成したYAMLファイルでkubeadm init を実行

3./etc/kubernetes/admin.confとpki証明書をコピーをその他のマスターノードにコピー

参照URL https://kubernetes.io/docs/setup/independent/high-availability/

Page 15: VA Linux Systems Japan 株式会社5 マスターノード ETCD kube-scheduler kube-controller-manager kube-apiserver ワーカーノード1 ワーカーノード2 Kubeletなど アクセスの受け付け

15

1.Kubeadm用のYAMLファイルを作成3つの要点

・使うKubernetesのバージョンを指定・アクセスエンドポイントをロードバランサーに設定・既存のetcdクラスタにメンバーとして登録

2.Kubeadmで設定

3.etcdを設定

4.マスターノードとして追加

参照URL https://kubernetes.io/docs/setup/independent/high-availability/

Page 16: VA Linux Systems Japan 株式会社5 マスターノード ETCD kube-scheduler kube-controller-manager kube-apiserver ワーカーノード1 ワーカーノード2 Kubeletなど アクセスの受け付け

16

1.kubeadm joinを実行してワーカーノードを登録

2.CalicoYAMLファイルを使用してCNIを設定

Page 17: VA Linux Systems Japan 株式会社5 マスターノード ETCD kube-scheduler kube-controller-manager kube-apiserver ワーカーノード1 ワーカーノード2 Kubeletなど アクセスの受け付け

17

Page 18: VA Linux Systems Japan 株式会社5 マスターノード ETCD kube-scheduler kube-controller-manager kube-apiserver ワーカーノード1 ワーカーノード2 Kubeletなど アクセスの受け付け

18

Page 19: VA Linux Systems Japan 株式会社5 マスターノード ETCD kube-scheduler kube-controller-manager kube-apiserver ワーカーノード1 ワーカーノード2 Kubeletなど アクセスの受け付け

19

マスターノード(k8sm1)

etcdクラスタ ETCD

kube-scheduler

kube-controller-manager

kube-apiserver

ワーカーノード(k8sw2)

ワーカーノード(k8sw1)

Kubeletなど

アクセスの受け付け

kubectl

クライアントロードバランサー

マスターノード(k8sm2) マスターノード(k8sm3)

kube-apiserver kube-apiserver

ETCD ETCD

kube-controller-manager kube-controller-manager

kube-scheduler kube-scheduler

1台停止

リーダー

リーダー

リーダー

ロードバランサー

Page 20: VA Linux Systems Japan 株式会社5 マスターノード ETCD kube-scheduler kube-controller-manager kube-apiserver ワーカーノード1 ワーカーノード2 Kubeletなど アクセスの受け付け

20

Page 21: VA Linux Systems Japan 株式会社5 マスターノード ETCD kube-scheduler kube-controller-manager kube-apiserver ワーカーノード1 ワーカーノード2 Kubeletなど アクセスの受け付け

21

Page 22: VA Linux Systems Japan 株式会社5 マスターノード ETCD kube-scheduler kube-controller-manager kube-apiserver ワーカーノード1 ワーカーノード2 Kubeletなど アクセスの受け付け

22

Page 23: VA Linux Systems Japan 株式会社5 マスターノード ETCD kube-scheduler kube-controller-manager kube-apiserver ワーカーノード1 ワーカーノード2 Kubeletなど アクセスの受け付け

23

クラスタの設定が無事の場合:マスターノードを再起動すれば正常動作

マスターノードが起動不可の場合:新規のマスターノードを作成して追加する必要がある

<手順>1.ロードバランサーの設定を更新2.Etcdのクラスタから死んだマスターノードを削除3.3台目のマスターノード追加作業と同じ作業をする4.Kubectl delete nodeで古いマスターノードを削除

Page 24: VA Linux Systems Japan 株式会社5 マスターノード ETCD kube-scheduler kube-controller-manager kube-apiserver ワーカーノード1 ワーカーノード2 Kubeletなど アクセスの受け付け

24

マスターノード(k8sm1)

etcdクラスタ

ETCD

kube-scheduler

kube-controller-manager

kube-apiserver

ワーカーノード(k8sw2)

ワーカーノード(k8sw1)

Kubeletなど

アクセスの受け付け

kubectl

クライアントロードバランサー

マスターノード(k8sm2) マスターノード(k8sm3)

kube-apiserver kube-apiserver

ETCD ETCD

kube-controller-manager kube-controller-manager

kube-scheduler kube-scheduler

2台とも停止

リーダー

リーダー

ロードバランサー

Page 25: VA Linux Systems Japan 株式会社5 マスターノード ETCD kube-scheduler kube-controller-manager kube-apiserver ワーカーノード1 ワーカーノード2 Kubeletなど アクセスの受け付け

25

Page 26: VA Linux Systems Japan 株式会社5 マスターノード ETCD kube-scheduler kube-controller-manager kube-apiserver ワーカーノード1 ワーカーノード2 Kubeletなど アクセスの受け付け

26

マスターノード1

ETCD

kube-scheduler

kube-controller-manager

kube-apiserver

ワーカーノード1

ワーカーノード2

Kubeletなど

アクセスの受け付け

kubectl

クライアント

マスターノード2 マスターノード3

kube-apiserver kube-apiserver

ETCDETCD

kube-controller-manager kube-controller-manager

kube-scheduler kube-scheduler

etcdノード1

ロードバランサー

etcdノード2 etcdノード3 etcdノード4 etcdノード5

ETCDETCD

ロードバランサー

Page 27: VA Linux Systems Japan 株式会社5 マスターノード ETCD kube-scheduler kube-controller-manager kube-apiserver ワーカーノード1 ワーカーノード2 Kubeletなど アクセスの受け付け

27

Page 28: VA Linux Systems Japan 株式会社5 マスターノード ETCD kube-scheduler kube-controller-manager kube-apiserver ワーカーノード1 ワーカーノード2 Kubeletなど アクセスの受け付け

28

Page 29: VA Linux Systems Japan 株式会社5 マスターノード ETCD kube-scheduler kube-controller-manager kube-apiserver ワーカーノード1 ワーカーノード2 Kubeletなど アクセスの受け付け

29

Page 30: VA Linux Systems Japan 株式会社5 マスターノード ETCD kube-scheduler kube-controller-manager kube-apiserver ワーカーノード1 ワーカーノード2 Kubeletなど アクセスの受け付け

30

Page 31: VA Linux Systems Japan 株式会社5 マスターノード ETCD kube-scheduler kube-controller-manager kube-apiserver ワーカーノード1 ワーカーノード2 Kubeletなど アクセスの受け付け

31

Page 32: VA Linux Systems Japan 株式会社5 マスターノード ETCD kube-scheduler kube-controller-manager kube-apiserver ワーカーノード1 ワーカーノード2 Kubeletなど アクセスの受け付け

32

Page 33: VA Linux Systems Japan 株式会社5 マスターノード ETCD kube-scheduler kube-controller-manager kube-apiserver ワーカーノード1 ワーカーノード2 Kubeletなど アクセスの受け付け

33

Page 34: VA Linux Systems Japan 株式会社5 マスターノード ETCD kube-scheduler kube-controller-manager kube-apiserver ワーカーノード1 ワーカーノード2 Kubeletなど アクセスの受け付け

34


Recommended