RaspberryPiを使って自宅サーバを作ってみた話 - k8s kubeadmを使用した高可用性クラスターの作成(haproxy編)
はじめに
RaspberryPiを使用して自宅サーバを作っていたのですが、勉強のためにk8sを構築しようと思いました。
ただ普通に作るのはとても面白くないので、後学のためにマスターをマルチ構成にしたk8sを作ります。
本内容は
「準備編」「haproxy編」「master編」「worker編」
の4部構成となります。
今回は「haproxy編」です。
haproxy構築
[ 作業対象:k8s-proxy ]
ホスト名を記載して名前解決させます。
# vi /etc/hosts
192.168.13.10 k8s-proxy
192.168.13.20 k8s-master1
192.168.13.21 k8s-master2
192.168.13.22 k8s-master3
192.168.13.30 k8s-worker1
192.168.13.31 k8s-worker2
192.168.13.32 k8s-worker3
kube-apiserver用のLB作成します。
# apt install haproxy
haproxyの設定をします。
# mv /etc/haproxy/haproxy.cfg /etc/haproxy/haproxy.cfg.org
# vi /etc/haproxy/haproxy.cfg
global
log 127.0.0.1 local2 info
chroot /var/lib/haproxy
pidfile /var/run/haproxy.pid
maxconn 256
user haproxy
group haproxy
daemon
defaults
mode tcp
log global
option tcplog
timeout connect 10s
timeout client 30s
timeout server 30s
frontend http-in
bind *:80
mode http
stats enable
stats auth admin:adminpassword
stats hide-version
stats show-node
stats refresh 60s
stats uri /haproxy?stats
frontend k8s
bind *:6443
mode tcp
default_backend k8s_backend
backend k8s_backend
balance roundrobin
server k8s-master1 192.168.13.20:6443 check
server k8s-master2 192.168.13.21:6443 check
server k8s-master3 192.168.13.22:6443 check
haproxyを起動します。
起動後の「backend 'k8s_backend' has no server available!」がでているが、
まだ何も作っていないので無視して問題ありません。
# systemctl enable haproxy
Synchronizing state of haproxy.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable haproxy
# systemctl start haproxy
# systemctl status haproxy
● haproxy.service - HAProxy Load Balancer
Loaded: loaded (/lib/systemd/system/haproxy.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2020-08-12 11:52:21 UTC; 7s ago
Docs: man:haproxy(1)
file:/usr/share/doc/haproxy/configuration.txt.gz
Process: 1873 ExecStartPre=/usr/sbin/haproxy -f $CONFIG -c -q $EXTRAOPTS (code=exited, status=0/SUCCESS)
Main PID: 1881 (haproxy)
Tasks: 5 (limit: 972)
Memory: 2.5M
CGroup: /system.slice/haproxy.service
├─1881 /usr/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid -S /run/haproxy-master.sock
└─1883 /usr/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid -S /run/haproxy-master.sock
Aug 12 11:52:21 ras-proxy systemd[1]: Starting HAProxy Load Balancer...
Aug 12 11:52:21 ras-proxy haproxy[1881]: [NOTICE] 224/115221 (1881) : New worker #1 (1883) forked
Aug 12 11:52:21 ras-proxy systemd[1]: Started HAProxy Load Balancer.
Aug 12 11:52:23 ras-proxy haproxy[1883]: [WARNING] 224/115223 (1883) : Server k8s_backend/k8s-master1 is DOWN, reason: Layer4 timeout, check duration: 2001ms. 2 active and 0 backup servers left. 0 sessions active, 0 requeued, 0 remaining in queue.
Aug 12 11:52:23 ras-proxy haproxy[1883]: [WARNING] 224/115223 (1883) : Server k8s_backend/k8s-master2 is DOWN, reason: Layer4 timeout, check duration: 2001ms. 1 active and 0 backup servers left. 0 sessions active, 0 requeued, 0 remaining in queue.
Aug 12 11:52:24 ras-proxy haproxy[1883]: [WARNING] 224/115224 (1883) : Server k8s_backend/k8s-master3 is DOWN, reason: Layer4 timeout, check duration: 2001ms. 0 active and 0 backup servers left. 0 sessions active, 0 requeued, 0 remaining in queue.
Aug 12 11:52:24 ras-proxy haproxy[1883]: [ALERT] 224/115224 (1883) : backend 'k8s_backend' has no server available!
次回
k8sのMaser構築について触れていきます。
Author And Source
この問題について(RaspberryPiを使って自宅サーバを作ってみた話 - k8s kubeadmを使用した高可用性クラスターの作成(haproxy編)), 我々は、より多くの情報をここで見つけました https://qiita.com/nnagashima/items/dd6f8b99fa3a67efeab4著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .