1.准备三台服务器,能上百度,
2.三台服务器分别做以下操作
一。swapoff -a 临时关闭swap vim /etc/fstab 永久关闭
二。关闭防火墙 和selinux systemctl stop firewalld setenforce 0
三。配置好固定IP地址和hostname
四。三台服务器的配置为2G内存
五。 硬盘给50G左右大小
六。时间同步 ntpdate time1.aliyun.com
3.cat > /etc/sysctl.d/k8s.conf << EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF 所有节点都要做
4.安装docker 18.09
wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo
yum -y install docker-ce-18.09.9-3.el7
5.配置docker加速器,也可以不配置
6.配置k8s阿里云源
cat > /etc/yum.repos.d/kubernetes.repo << EOF
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
7.下载kubeadm kubelet kubectl
yum install -y kubelet-1.16.0 kubeadm-1.16.0 kubectl-1.16.0
systemctl enable kubelet
8.初始化kubeadm
kubeadm init \
--apiserver-advertise-address=192.168.202.132 \
--image-repository registry.aliyuncs.com/google_containers \
--kubernetes-version v1.16.0 \
--service-cidr=10.1.0.0/16 \
--pod-network-cidr=10.244.0.0/16
注意: 如果下载更高版本的k8s 需要在安装kubelet kubeadm kubectl的时候就指定,例如我这次安装的是1.161版本我要下载1.17的话,直接在yum的时候指定即可,再初始化的时候也指定为最新版本,如果指定的镜像仓库不能使用的话,请使用脚本下载这个脚本是1.14版本的 ,如果你不知道你下载的 k8s集群是需要哪个版本的插件,使用 kubeadm config images list 来查看,使用脚本下载的话,就不用指定--image-repository了
#/bin/bash
docker pull mirrorgooglecontainers/kube-apiserver:v1.14.1
docker pull mirrorgooglecontainers/kube-controller-manager:v1.14.1
docker pull mirrorgooglecontainers/kube-scheduler:v1.14.1
docker pull mirrorgooglecontainers/kube-proxy:v1.14.1
docker pull mirrorgooglecontainers/pause:3.1
docker pull mirrorgooglecontainers/etcd:3.3.10
docker pull coredns/coredns:1.3.1
docker pull quay.io/coreos/flannel:v0.11.0-amd64
docker tag mirrorgooglecontainers/kube-apiserver:v1.14.1 k8s.gcr.io/kube-apiserver:v1.14.1
docker tag mirrorgooglecontainers/kube-controller-manager:v1.14.1 k8s.gcr.io/kube-controller-manager:v1.14.1
docker tag mirrorgooglecontainers/kube-scheduler:v1.14.1 k8s.gcr.io/kube-scheduler:v1.14.1
docker tag mirrorgooglecontainers/kube-proxy:v1.14.1 k8s.gcr.io/kube-proxy:v1.14.1
docker tag mirrorgooglecontainers/pause:3.1 k8s.gcr.io/pause:3.1
docker tag mirrorgooglecontainers/etcd:3.3.10 k8s.gcr.io/etcd:3.3.10
docker tag coredns/coredns:1.3.1 k8s.gcr.io/coredns:1.3.1
docker rmi mirrorgooglecontainers/kube-apiserver:v1.14.1
docker rmi mirrorgooglecontainers/kube-controller-manager:v1.14.1
docker rmi mirrorgooglecontainers/kube-scheduler:v1.14.1
docker rmi mirrorgooglecontainers/kube-proxy:v1.14.1
docker rmi mirrorgooglecontainers/pause:3.1
docker rmi mirrorgooglecontainers/etcd:3.3.10
docker rmi coredns/coredns:1.3.1
9. 初始化以后的操作 ,初始化以后会有提示
mkdir -p #HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf #HOME/.kube/config
sudo chown #(id -u):#(id -g) #HOME/.kube/config
10.安装网络插件flannel
github搜索flannel wget下载下来,然后kubectl apply -f xxxx即可
kubectl get pods kubectl get pods -n kube-system 看看是不是全都为runing
11. node节点加入
kubeadm 初始化以后,会生成一个token node节点拿到这个token,去node节点执行即可
类似 kubeadm join xxxxxx
12.查看node节点
kubectl get nodes 看看是不是ready状态
13.创建pod
kubectl create deployment nginx --image=nginx 即可