- 一、准备环境(所有节点都要操作)
- 二、初始化环境(所有节点都需要操作)
- 2.1 主机名解析
- 2.2 时间同步
- 2.3 关闭防火墙和selinux
- 2.4 关闭swap分区
- 2.5 允许 iptables 检查桥接流量
- 2.6 修改linux的内核参数
- 三、安装docker(所有节点都要操作)
- 四、安装k8s(所有节点都要操作)
- 4.1 安装k8s组件
- 4.1.2 配置kubelet的cgroup
- 4.2 安装k8s集群
- 4.2.1 准备集群镜像
- 4.2.2 初始化集群(在master上操作即可)
- 4.2.2.2 将node节点加入集群
- 4.3 安装flannel网络插件(在master上操作即可)
| 角色 | IP地址 | 组件 |
|---|---|---|
| master | 192.168.91.128 | docker,kubectl,kubeadm,kubelet |
| node | 192.168.91.129 | docker,kubectl,kubeadm,kubelet |
[root@master ~]# cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.91.128 master 192.168.91.129 node2.2 时间同步
[root@master ~]# systemctl start chronyd [root@master ~]# systemctl enable chronyd2.3 关闭防火墙和selinux
[root@master ~]# systemctl stop firewalld #临时关闭firewalld [root@master ~]# systemctl disable firewalld #永久关闭firewalld Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service. Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service. [root@master ~]# setenforce 0 #临时关闭selinux [root@master ~]# sed -ri '/^SELINUX=/ c SELINUX=disabled' /etc/selinux/config #永久关闭selinux
2.4 关闭swap分区如果有iptables防火墙,请关闭
[root@master ~]# swapoff -a #临时关闭swap [root@master ~]# sed -ri 's/.*swap.*/#&/g' /etc/fstab #永久关闭swap2.5 允许 iptables 检查桥接流量
确保 br_netfilter 模块被加载。这一操作可以通过运行 lsmod | grep br_netfilter 来完成。若要显式加载该模块,可执行 sudo modprobe br_netfilter。
为了让你的 Linux 节点上的 iptables 能够正确地查看桥接流量,你需要确保在你的 sysctl 配置中将 net.bridge.bridge-nf-call-iptables 设置为 1。
[root@master ~]# yum install ipset ipvsadm ipvsadmin -y #安装所需要的应用 [root@master ~]# cat <2.6 修改linux的内核参数/etc/sysconfig/modules/ipvs.modules #加载模块脚本 #!/bin/bash modprobe -- ip_vs modprobe -- ip_vs_rr modprobe -- ip_vs_wrr modprobe -- ip_vs_sh modprobe -- nf_conntrack_ipv4 EOF [root@master ~]# chmod +x /etc/sysconfig/modules/ipvs.modules [root@master ~]# /bin/bash /etc/sysconfig/modules/ipvs.modules [root@master ~]# lsmod | grep -e -ip_vs -e nf_conntrack_ipv4 #检查模块是否加载成功
[root@master ~]# cat <三、安装docker(所有节点都要操作)/etc/sysctl.d/k8s.conf net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 net.ipv4.ip_forward = 1 EOF [root@master ~]# sysctl -p #重新加载配置文件 [root@master ~]# modprobe br_netfilter #加载网桥过滤模块 [root@master ~]# lsmod | grep br_netfilter #查看模块是否加载成功
#下载yum源 [root@master ~]# wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo #安装docker [root@master ~]# yum install --setopt=obsoletes=0 docker-ce-18.06.3.ce-3.el7 -y
配置docker镜像加速器(如何配置请转到的另一篇文章,这里就不多说了)
[root@master ~]# systemctl restart docker四、安装k8s(所有节点都要操作) 4.1 安装k8s组件
#配置yum源 [root@master ~]# cat <4.1.2 配置kubelet的cgroup/etc/yum.repos.d/kubernetes.repo [kubernetes] name=Kubernetes baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/ enabled=1 gpgcheck=0 repo_gpgcheck=1 gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg > EOF #安装kubeadm、kubelet和kubectl [root@master ~]# yum install -y kubelet-1.15.1 kubeadm-1.15.1 kubectl-1.15.1
[root@master ~]# cat <4.2 安装k8s集群 4.2.1 准备集群镜像/etc/sysconfig/kubelet KUBELET_CGROUP_ARGS="--cgroup-driver=systemd" KUBE_PROXY_MODE="ipvs" EOF [root@master ~]# systemctl enable kubelet
#查看所需镜像
[root@master ~]# kubeadm config images list
#下载镜像
[root@master ~]# images=(
kube-apiserver:v1.15.12
kube-controller-manager:v1.15.12
kube-scheduler:v1.15.12
kube-proxy:v1.15.12
pause:3.1
etcd:3.3.10
coredns:1.3.1
)
[root@master ~]# for imageName in ${images[@]};do
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/$imageName
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/$imageName k8s.gcr.io/$imageName
docker rmi registry.cn-hangzhou.aliyuncs.com/google_containers/$imageName
done
#查看镜像是否全部下载成功
[root@master ~]# docker images
4.2.2 初始化集群(在master上操作即可)
# 创建集群 [root@master ~]# kubeadm init --apiserver-advertise-address=192.168.91.128 #master节点IP地址 --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.15.12 #k8s版本 --service-cidr=10.96.0.0/12 --pod-network-cidr=10.244.0.0/16 # 创建必要文件 [root@master ~]# mkdir -p $HOME/.kube [root@master ~]# sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config [root@master ~]# sudo chown $(id -u):$(id -g) $HOME/.kube/config4.2.2.2 将node节点加入集群
[root@node ~]# kubeadm join 192.168.91.128:6443 --token 22x6sp.y3v21kko0fn6jmf1 --discovery-token-ca-cert-hash sha256:ed9351f4047fc997ae4125757b602cd762f2be7ed87f6cb709bd3b81f07ed83f
在master上查看集群信息
[root@master ~]# kubectl get nodes NAME STATUS ROLES AGE VERSION master NotReady master 5m49s v1.15.1 node NotReady4.3 安装flannel网络插件(在master上操作即可)5s v1.15.1 [root@master ~]# kubectl get nodes -o wide #查看详细信息
去baidu下载即可
[root@master ~]# kubectl apply -f flannel.yml
再次查看集群状态,status那一栏成为ready,此时k8s集群安装成功
k8s tab健补全方法(单击转入)



