在Ubuntu上使用离线方式快速安装K8S v1.11.1

时间:2022-04-14 14:16:17

在Ubuntu上使用离线方式快速安装K8S v1.11.1

0、安装包文件下载

https://pan.baidu.com/s/1nmC94Uh-lIl0slLFeA1-qw v1.11.1 文件大小 630M左右

1、系统环境

系统版本

Ubuntu 18.04 LTS

kubernete v1.11.1

机器数量 x3

配置 1核 2G 20G硬盘

k8s-master001 192.168.113.5

k8s-node001 192.168.113.3

k8s-node002 192.168.113.4

2、准备工作(以下操作在三台机器中进行)

2.1 Ubuntu 18.04 LTS

​ 默认安装 略

2.2 安装文件传输工具、禁用SWAP、关闭防火墙、关闭SELINUX、配置主机名、IP地址

​ sudo -i

​ apt install lrzsz -y

​ swapoff -a

​ sed -i '/ swap / s/^/#/' /etc/fstab

​ apt-get update

​ apt-get upgrade

关闭防火墙、关闭SELINUX、配置主机名、IP地址,步骤略

reboot

2.3 安装Docker

apt install docker

配置镜像加速

创建或修改 /etc/docker/daemon.json 文件,修改为如下形式

在Ubuntu上使用离线方式快速安装K8S v1.11.1

获取加速地址方式

2.4 安装Kubeadm等程序

 tar xzvf 002.001.k8s.deb.v1.11.1.tar.gz
cd k8s.deb.v1.11.1 && ./install.sh

3、安装Kubeadm

3.1 On Master 导入镜像并初始化集群

3.1.1 导入镜像到Master

​ tar xzvf 002.002.k8s.master.v1.11.1.tar.gz

​ cd k8s.master.v1.11.1 && ./loadall.sh

​ tar xzvf 003.kubeadm_init.tar.gz

这里最好把默认路由改为内部需要指定的master IP网段的路由,安装过着会按着默认路由获取IP地址,指定master IP

cd kubeadm_init && kubeadm_init.sh #注意修改脚本中初始化的网络地址

通过LOG文件查看客户端加入的命令

这时候主应该就可以了。

3.2 On node001 & node002 将NODE加入集群

3.2.1 导入镜像到所有Node

​ tar xzvf 002.002.k8s.node.v1.11.1.tar.gz

​ cd k8s.node.v1.11.1 && ./loadall.sh

使用初始化完成的命令加入集群。

kubeadm join 192.168.113.5:6443 --token fi7ng1.clfzus3hmpkra057 --discovery-token-ca-cert-hash sha256:148afff9f2ad8a77e480b2913e04e8491febc464bb3f29005c276392f0c7ac56

3.3 On Master 安装Dashboard

3.3.1 执行安装脚本

tar xzvf 004.kubernetes-dashboard.tar.gz

cd kubernetes-dashboard && ./install.sh

访问ui,部署成功

在Ubuntu上使用离线方式快速安装K8S v1.11.1

3.4 安装Nginx-ingress

先在所有节点上安装

tar xzvf 005.nginx-ingress.tar.gz

cd nginx-ingress && ./install_on_node.sh

然在所有Master节点上安装

cd nginx-ingress && ./install_on_master.sh

遇到的问题

1.dashboard-pod无法启动

在Ubuntu上使用离线方式快速安装K8S v1.11.1

解决方法:

在Ubuntu上使用离线方式快速安装K8S v1.11.1

查看日志发现,dashboard-pod运行在node2上,node3无法ping通dashboard-pod 的IP

查看路由表发现

在Ubuntu上使用离线方式快速安装K8S v1.11.1

node3上没有指向192.168.2.0网段路由添加路由后恢复