本文用kubeadm的方式部署kubernetes集群,架构图如下:
此方式将kubernetes的主要组件kube-apiserver + kube-scheduler + kube-controller-manager + etcd + flannel + kube-proxy以pod形式运行,并且各个节点包括master节点上运行kubelet和docker守护进程,并且确保kubelet和docker都启动起来
一. 准备工作
1. 将所有节点的iptables或firewalld.service禁用
由于k8s会大量的操作iptables规则,所以一定要禁用firewalld.service
//查看防火墙状态
[root@master ~]# systemctl list-unit-files|grep firewalld.service --防火墙处于开启状态
firewalld.service enabled
//停掉firewalld.service
[root@master ~]# systemctl stop firewalld.service
//禁止开启自动启动
[root@master ~]# systemctl disable firewalld.service
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
2. 关闭各节点的selinux
[root@master ~]# setenforce 0
[root@master ~]# vim /etc/selinux/config
SELINUX=enforcing ===> SELINUX=disabled
3. 同步时间
[root@master ~]# yum install -y ntpdate
[root@master ~]# ntpdate -u ntp.api.bz
4. 各node添加DNS服务,使得各node能互相ping通
将以下内容添加到/etc/hosts文件内,这样各node就能通过内部dns互相访问了
192.168.116.130 master
192.168.116.129 node1
192.168.116.128 node2
注意:首先得将各node得hostname改掉,如何修改hostname请参考我之前的博客https://blog.csdn.net/cloudUncle/article/details/82504904
二. 各节点安装docker-ce + kubelet + kubeadm + kubectl
1. 添加阿里云docker和kubenetes的yum源
阿里巴巴开源镜像站地址:https://opsx.alibaba.com/mirror
添加docker-ce的yum源:
[root@master ~]# cd /etc/yum.repos.d/
[root@master yum.repos.d]# wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
添加kubernetes的yum源:
[root@master yum.repos.d]# cat > kubernetes.repo << EOF
> [kubernetes]
> name=Kubernetes Repo
> baseurl=https://mirrors.aliyun.com/kubernetes/yum/re