kubeadm部署多節點master集群(一)


https://blog.csdn.net/liver_life/article/details/81773339

跟着https://www.jianshu.com/p/dba30d617a3f鏈接,進行安裝。

一:環境准備

0.各個機器進行時間校對。

1.修改各個主機名

1、方法一使用hostnamectl命令
[root@xlucas1 ~]# hostnamectl set -hostname xlucas2
 
2、方法二:修改配置文件 /etc/hostname 保存退出
[root@xlucas1 ~]# vi /etc/hostname
xlucas2
2.利用ssh實現各個機器之間的免密登陸。
https://blog.csdn.net/yujia_666/article/details/83307968

3.修改各個機器的hosts文件如下:(各個服務器之間都要進行配置)

一台機器上修改好,用scp在各個機器之間進行傳輸:

4、安裝 kubeadm, kubelet 和 kubectl(所有結點都需要安裝)

(1)進到 /etc/yum.repos.d 文件夾 新建kubernetes.repo文件。

 

 

 (2)執行:

[root@node1 ~]# wget https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg

[root@node1 ~]# rpm --import rpm-package-key.gpg

[root@node1 ~]# yum -y install kubelet kubeadm kubectl!

 

 5、配置系統相關參數(這里發現了一個新大陸,由於一共8台機器來回操作太麻煩。因此可以在SecureCRT窗口進行設置,一條命令可以發送至說個窗口,參考https://blog.csdn.net/q283614346/article/details/84900182)

# 臨時禁用selinux
# 永久關閉 修改/etc/sysconfig/selinux文件設置
sed -i 's/SELINUX=permissive/SELINUX=disabled/' /etc/sysconfig/selinux
setenforce 0
 
# 臨時關閉swap
# 永久關閉 注釋/etc/fstab文件里swap相關的行
swapoff -a
 
# 開啟forward
# Docker從1.13版本開始調整了默認的防火牆規則
# 禁用了iptables filter表中FOWARD鏈
# 這樣會引起Kubernetes集群中跨Node的Pod無法通信
 
iptables -P FORWARD ACCEPT
 
# 配置轉發相關參數,否則可能會出錯
cat <<EOF >  /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
vm.swappiness=0
EOF
sysctl --system
 
# 加載ipvs相關內核模塊
# 如果重新開機,需要重新加載
modprobe ip_vs
modprobe ip_vs_rr
modprobe ip_vs_wrr
modprobe ip_vs_sh
modprobe nf_conntrack_ipv4
lsmod | grep ip_vs

6、配置haproxy代理和keepalived(此處只需要在三個master機器上操作即可)

# 拉取haproxy鏡像
docker pull haproxy:1.7.8-alpine
mkdir /etc/haproxy
cat >/etc/haproxy/haproxy.cfg<<EOF
global
  log 127.0.0.1 local0 err
  maxconn 50000
  uid 99
  gid 99
  #daemon
  nbproc 1
  pidfile haproxy.pid
 
defaults
  mode http
  log 127.0.0.1 local0 err
  maxconn 50000
  retries 3
  timeout connect 5s
  timeout client 30s
  timeout server 30s
  timeout check 2s
 
listen admin_stats
  mode http
  bind 0.0.0.0:1080
  log 127.0.0.1 local0 err
  stats refresh 30s
  stats uri     /haproxy-status
  stats realm   Haproxy\ Statistics
  stats auth    will:will
  stats hide-version
  stats admin if TRUE
 
frontend k8s-https
  bind 0.0.0.0:8443
  mode tcp
  #maxconn 50000
  default_backend k8s-https
 
backend k8s-https
  mode tcp
  balance roundrobin
  server lab1 11.11.11.111:6443 weight 1 maxconn 1000 check inter 2000 rise 2 fall 3
  server lab2 11.11.11.112:6443 weight 1 maxconn 1000 check inter 2000 rise 2 fall 3
  server lab3 11.11.11.113:6443 weight 1 maxconn 1000 check inter 2000 rise 2 fall 3
EOF
 
# 啟動haproxy
docker run -d --name my-haproxy \
-v /etc/haproxy:/usr/local/etc/haproxy:ro \
-p 8443:8443 \
-p 1080:1080 \
--restart always \
haproxy:1.7.8-alpine

備注(master1的我始終沒有成功。)

 

 # 查看日志

docker logs my-haproxy
# 瀏覽器查看狀態
http://172.16.12.217:1080/haproxy-status
http://172.16.12.218:1080/haproxy-status
 
4、拉取keepalived鏡像(我這里有點問題)
docker pull osixia/keepalived:1.4.4
啟動、載入內核。
lsmod | grep ip_vs
modprobe ip_vs
啟動keepalived
搭建集群用到的命令:
docker run --net=host --cap-add=NET_ADMIN \
-e KEEPALIVED_INTERFACE=eth1 \(暫未執行)
-e KEEPALIVED_VIRTUAL_IPS="#PYTHON2BASH:['172.16.12.217']" \
-e KEEPALIVED_UNICAST_PEERS="#PYTHON2BASH:['172.16.12.217','172.16.12.218','172.16.12.219']" \
-e KEEPALIVED_PASSWORD=hello \
--name k8s-keepalived \
--restart always \
-d osixia/keepalived:1.4.4

 

5、配置啟動kubelet

6、配置master結點。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM