k8s安装
本来是准备安装1.24.2版本,比较坎坷也没有安装成功,后来选择1.18.1版本
前置条件
| 主机名 | IP地址 | 配置 |
|---|---|---|
| k8s-master | 192.168.87.135 | 4C4G |
| k8s-node01 | 192.168.87.136 | 4C4G |
| k8s-node02 | 192.168.87.137 | 4C4G |
每台机器都安装docker(略)
关闭swap
sed -ri 's/.*swap.*/#$/' /etc/fstab
设置hostname
vim /etc/hostname
k8s-master
设置hosts
vim /etc/hosts
192.168.87.135 k8s-master
192.168.87.136 k8s-node01
192.168.87.137 k8s-node02
内核配置ipvs
yum -y install ipvsadm ipset sysstat conntrack libseccomp
modprobe -- ip_vs
modprobe -- ip_vs_rr
modprobe -- ip_vs_wrr
modprobe -- ip_vs_sh
modprobe -- nf_conntrack_ipv4
vim /etc/modules-load.d/ipvs.conf #配置成开机自动加载
ip_vs
ip_vs_rr
ip_vs_wrr
ip_vs_sh
nf_conntrack_ipv4
ip_tables
ip_set
xt_set
ipt_set
ipt_rpfilter
ipt_REJECT
ipip
systemctl enable --now systemd-modules-load.service
lsmod | grep -e ip_vs -e nf_conntrack_ipv4 #查看是否加载
cat <<EOF > /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
modprobe br_netfilter
sysctl -p /etc/sysctl.d/k8s.conf
配置Kubernetes镜像源
阿里巴巴开源镜像站https://opsx.alibaba.com/mirror
cat <<EOF > /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=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
yum install -y kubelet-1.18.1 kubeadm-1.18.1 kubectl-1.18.1
systemctl enable kubelet && systemctl start kubelet
安装kubectl等工具的时候 如果不加 --nogpgcheck 可能会出现如下问题
安装k8s master
kubeadm init \
--apiserver-advertise-address=192.168.87.135 \
--image-repository registry.aliyuncs.com/google_containers \
--pod-network-cidr=10.244.0.0/16 \
--service-cidr=10.96.0.0/12
安装flannel
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
安装Dashboard(略)
插曲
可能是开的软件太多了 电脑突然重启了 重启之后虚拟机起不来了
修复方式
ls -l /dev/mapper
xfs_repair /dev/dm-0
xfs_repair /dev/mapper/centos-root
xfs_repair /dev/mapper/centos-root -L
注: -L 参数,这样可能会丢失部分数据
reboot