1.配置hosts文件
vi /etc/hosts
本机ip 本机hostname 本机hostname
2.关闭防火墙, sawp等
systemctl stop firewalld
systemctl disable firewalld
swapoff -a #此处为临时关闭
--注释掉 /etc/fstab 里面这一行 /dev/mapper/centos-swap swap swap defaults 0 0
3.禁用selinux
vi /etc/selinux/config
SELINUX=disabled
4.修改iptables参数 :: RHEL / CentOS 7上的一些用户报告了由于iptables被绕过而导致流量路由不正确的问题
cat < /etc/sysctl.d/k8s.conf
vm.swappiness = 0
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
EOF
使配置生效
modprobe br_netfilter
sysctl -p /etc/sysctl.d/k8s.conf
5.安装docker(使用阿里镜像)
step 1: 安装必要的一些系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
Step 2: 添加软件源信息
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
Step 3: 更新并安装Docker-CE
sudo yum makecache fast
sudo yum -y install docker-ce
Step 4: 开启Docker服务
sudo service docker start
安装校验 docker version
6.安装kubernetes
cat < /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=1
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
setenforce 0
yum install -y kubelet kubeadm kubectl
systemctl enable kubelet && systemctl start kubelet
出现索引lgpg检查失败时,请用yum install -y --nogpgcheck kubelet kubeadm kubectl
7.kubeadm初始化安装
kubeadm init --apiserver-advertise-address=本机IP --image-repository registry.aliyuncs.com/google_containers --kubernetes-version 版本号 --pod-network-cidr=10.244.0.0/16
8.初始化安装成功后进行配置
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
9.查看kubelet状态
systemctl status kubelet.service
10.确认每个组件的状态
kubectl get cs
11.查看node状态,此时会发现处于NoReady
kubectl get node
12.安装port Network( flannel ) : k8s cluster 工作 须安装pod网络,否则pod之间无法通信,k8s支持多种方案
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
建议将kube-fannle文件拷贝至本地,将其中所需的镜像进行替换。
13.检查pod,确保每个pod都是running
kubectl get pod --all-namespaces -o wide