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结点。

posted on 2019-11-15 10:06  毛无语666  阅读(1313)  评论(0编辑  收藏  举报

导航