1、kubeadm安装Kubernetes(CentOS系统)
禁用防火墙:
$ systemctl stop firewalld
$ systemctl disable firewalld
禁用SELINUX:
$ setenforce 0
$ cat /etc/selinux/config
SELINUX=disabled
一、下载docker.repo文件
cd /etc/yum.repos.d wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
二、创建 kubernetes.repo 文件
vi kubernetes.repo
[kubernetes]
name=Kubernetes Repo
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
enabled=1
yum repolist 检查repo是否能正常加载
三、安装
cd ~
wget https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
wget https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
rpm --import yum-key.gpg
rpm --import rpm-package-key.gpg
yum install docker-ce kubelet kubeadm kubectl
四、设置代理 (可以不用)
vi /usr/lib/systemd/system/docker.service
在ExecStart=/usr/bin/dockerd上面添加两行 环境变量
Environment="HTTPS_PROXY=http://www.ik8s.io:10080"
Environment="NO_PROXY=127.0.0.0/8,172.20.0.0/16"
systemctl daemon-reload
service docker restart
docker info
五、两个文件的值要为1。查看
cat /proc/sys/net/bridge/bridge-nf-call-ip6tables cat /proc/sys/net/bridge/bridge-nf-call-iptables
或者创建 /etc/sysctl.d/k8s.conf 文件,添加如下内容: net.bridge.bridge-nf-call-ip6tables = 1net.bridge.bridge-nf-call-iptables = 1net.ipv4.ip_forward = 1vm.swappiness=0 执行如下命令使修改生效: $ modprobe br_netfilter $ sysctl -p /etc/sysctl.d/k8s.conf
六、配置kubelet关掉swap
rpm -ql kubelet vim /etc/sysconfig/kubelet KUBELET_EXTRA_ARGS="--fail-swap-on=false" 关闭系统的Swap方法如下: swapoff -a 修改 /etc/fstab 文件,注释掉 SWAP 的自动挂载,使用free -m确认swap已经关闭。 swappiness参数调整,修改/etc/sysctl.d/k8s.conf添加下面一行: vm.swappiness=0 执行sysctl -p /etc/sysctl.d/k8s.conf使修改生效。
对 kubelet 进行配置,因为用 yum 源的方式安装的 kubelet 生成的配置文件将参数 --cgroup-driver 改成了 systemd ,而 docker 的 cgroup-driver 是 cgroupfs ,这二者必须一致才行,我们可以通过 docker info 命令查看: $ docker info |grep Cgroup Cgroup Driver: cgroupfs 修改文件 kubelet 的配置文件 /etc/systemd/system/kubelet.service.d/10-kubeadm.conf ,将其中的 KUBELET_CGROUP_ARGS 参数更改成 cgroupfs : Environment="KUBELET_CGROUP_ARGS=--cgroup-driver=cgroupfs"
重新加载 systemctl daemon-reload
七、设置开启启动
systemctl enable docker.service systemctl enable kubelet.service systemctl disable docker.service
八、查看帮助
kubeadm init --help systemctl start docker.service systemctl start kubelet.service
九、启动
kubeadm init --kubernetes-version=v1.12.1 --pod-network-cidr=10.244.0.0/16 --service-cidr=10.96.0.0/12 --ignore-preflight-errors=Swap
systemctl daemon-reload kubeadm reset 清除
其他节点安装
wget https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
rpm --import rpm-package-key.gpg
yum install docker-ce kubelet kubeadm
flannel是一个将IP地址附加到容器的虚拟网络 对于Kubernetes v1.7 +
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
export MASTER_IP="192.168.111.202"
#增加一个环境变量TEST env|grep TEST #此命令有输入,证明环境变量TEST已经存在了
unset TEST #删除环境变量TEST