1.16.3 (建议指定版本,不同版本对组件兼容性不一)
部署环境: 百度云/阿里云
ps:文件中的IP不可代入;资料文件可以私聊我/或者其他使用问题都可以交流,欢迎评论
将所有节点写入
192.168.0.128 k8s-master
192.168.0.131 k8s-node1
192.168.0.132 k8s-node2
192.168.0.135 k8s-node3
systemctl stop fifirewalld
systemctl disable fifirewalld
setenforce 0 临时关闭
vi /etc/sysconfig/selinux 永久关闭
改为SELINUX=disabled
设置允许路由转发,不对bridge的数据进行处理
创建文件
vi /etc/sysctl.d/k8s.conf
内容如下:
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
vm.swappiness = 0
执行文件
sysctl -p /etc/sysctl.d/k8s.conf
vi /etc/sysconfig/modules/ipvs.modules
modprobe -- ip_vs
modprobe -- ip_vs_rr
modprobe -- ip_vs_wrr
modprobe -- ip_vs_sh
modprobe -- nf_conntrack_ipv4
执行 chmod 755 /etc/sysconfig/modules/ipvs.modules && bash /etc/sysconfig/modules/ipvs.modules && lsmod | grep -e ip_vs -e nf_conntrack_ipv4
swapoff -a 临时关闭
vi /etc/fstab 永久关闭
注释掉以下字段
/dev/mapper/cl-swap swap swap defaults 0 0
vim /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=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
$ 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
$ systemctl enable docker && systemctl start docker**
$ docker --version
yum install -y kubelet-1.16.3 kubeadm-1.16.3 kubectl-1.16.3
systemctl enable kubelet
kubelet --version
– master 节点需要完成初始化
kubeadm init --kubernetes-version=**1.16.3** --apiserver-advertise-address=192.168.255.14 --image-repository registry.aliyuncs.com/google_containers --service-cidr=10.1.0.0/16 --pod-network-cidr=10.244.0.0/16
kubeadm join 192.168.255.14:6443 --token 6o05b2.9bloexv68xwasjjb \
--discovery-token-ca-cert-hash sha256:fd03cb1bdd7293b4bde56709d2c787f345089c229ac3067900dfc5c1323b0f0d
在节点上执行 kubeadm reset
错误一:[WARNING IsDockerSystemdCheck]: detected “cgroupfs” as the Docker cgroup driver
作为Docker cgroup驱动程序。,Kubernetes推荐的Docker驱动程序是“systemd”
解决方案:修改Docker的配置: vi /etc/docker/daemon.json,加入
{
“exec-opts”: [“native.cgroupdriver=systemd”]
}
然后重启Docker
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
mkdir k8s
cd k8s
wget https://docs.projectcalico.org/v3.10/getting-started/kubernetes/installation/hosted/kubernetes-datastore/calico-networking/1.7/calico.yaml --no-check-certificate
sed -i 's/192.168.0.0/10.244.0.0/g' calico.yaml
kubectl apply -f calico.yaml
等待几分钟,查看所有Pod的状态,确保所有Pod都是Running状态
yum install -y nfs-utils
systemctl enable nfs 开机启动
以下操作只需在master节点上进行
mkdir -p /opt/nfs/jenkins
vi /etc/exports 编写NFS的共享配置
/opt/nfs/jenkins *(rw,no_root_squash) *代表对所有IP都开放此目录,rw是读写
3)启动服务
service start nfs
4)查看NFS共享目录
nfs-client-provisioner 是一个Kubernetes的简易NFS的外部provisioner,本身不提供NFS,需要现有
的NFS服务器提供存储。