kubernetes 官方提供的三种部署方式
minikube
Minikube是一个工具,可以在本地快速运行一个单点的Kubernetes,仅用于尝试Kubernetes或日常开发的用户使用。部署地址:https://kubernetes.io/docs/setup/minikube/
kubeadm
Kubeadm也是一个工具,提供kubeadm init和kubeadm join,用于快速部署Kubernetes集群。部署地址:https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm/
二进制包
推荐,从官方下载发行版的二进制包,手动部署每个组件,组成Kubernetes集群。下载地址:https://github.com/kubernetes/kubernetes/releases
~ 演示安装的版本是 : ~ Kubernetes v1.15.0 ~
准备三台ecs ,1 master 2 node 节点
10.10.100.72 master
10.10.100.73 k8s-node-01
10.10.100.74 k8s-node-02
添加 hosts解析
vim /etc/hosts
10.10.100.72 master
10.10.100.73 k8s-node-01
10.10.100.74 k8s-node-02
关闭防火墙
systemctl stop firewalld # 临时关闭
systemctl disable firewalld # 永久关闭
关闭setlinux
setenforce 0 # 临时关闭
sed -i s/SELINUX=enforcing/SELINUX=disabled/g /etc/selinux/config #永久关闭
关闭swap
swapoff -a # 临时关闭
sed -i 's/.*swap.*/#&/' /etc/fstab 永久关闭
设置ssh使服务器之间互信
ssh-keygen -t rsa
ssh-copy-id -i ~/.ssh/id_rsa.pub user@server
安装 NTP 同步时间
yum install -y ntpdate
ntpdate time.windows.com
创建/etc/sysctl.d/k8s.conf文件,添加如下内容:
vim /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
执行如下命令使修改生效:
modprobe br_netfilter
sysctl -p /etc/sysctl.d/k8s.conf
安装 ipvs
cat > /etc/sysconfig/modules/ipvs.modules <<EOF
#!/bin/bash
modprobe -- ip_vs
modprobe -- ip_vs_rr
modprobe -- ip_vs_wrr
modprobe -- ip_vs_sh
modprobe -- nf_conntrack_ipv4
EOF