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
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
docker pull osixia/keepalived:1.4.4
启动、载入内核。
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