环境:CentOS7.4
服务器环境是外网隔离状态,所需安装包需要本地下载,远程拷贝至服务器。下载好需要的包后,全部安装过程均为离线安装。
一、安装docker
下载二进制安装包https://download.docker.com/linux/static/stable/x86_64/
1、解压
$ tar xzvf docker-18.06.1-ce.tgz
2、拷贝至/usr/bin
$ sudo cp docker/* /usr/bin
3、启动docker daemon
$ sudo dockerd &
4、制作 docker.service 和 docker.socket 文件(或下载)
https://github.com/moby/moby/tree/master/contrib/init/systemd
其中的docker.service.rpm 文件修改名字为 docker.service;docker.socket 则不需要改动,直接复制粘贴新建一个 docker.socket 文件即可。
5、将上述步骤得到的 docker.service 和 docker.socket 文件一起放到 /etc/systemd/system 目录下
$ sudo cp docker.socket /etc/systemd/system
$ sudo cp docker.service /etc/systemd/system
6、重启 systemctl 服务
# 先重启 systemctl 守护进程
$ sudo systemctl daemon-reload
# 再开启 docker 服务
$ sudo systemctl start docker
# * 如果上一行代码显示失败,那么重启电脑再重试上面两行命令 *
$ sudo reboot
7、如果需要docker服务开机自启动
$ sudo systemctl enable docker
二、安装k8s
这一部分引用《kubernetes 二进制文件离线手动安装搭建》作者:HerbGuo
链接:https://www.jianshu.com/p/8067912667f1
1. 准备阶段
1.1 组建规划
主机名 地址 角色 组件
k8s-master 172.24.61.96 k8s-master etcd、kube-apiserver、kube-controller-manager、kube-scheduler
k8s-node-1 192.168.0.97 k8s-node kubelet、docker、kube_proxy
k8s-node-2 192.168.0.98 k8s-node kubelet、docker、kube_proxy
1.2 软件下载
(1) Kubernetes二进制文件下载
https://github.com/kubernetes/kubernetes/releases
从上边的网址中选择相应的版本,从 CHANGELOG页面 下载二进制文件,本文以1.12.1版本为例,如图所示为其Linux Server版本:
(2) etcd数据库下载
https://github.com/coreos/etcd/releases/
这里选用的是最新版本v3.3.10。
2.Master安装
2.1 etcd数据库安装
(1)安装
将下载的etcd文件包进行解压,解压后将etcd、etcdctl二进制文件复制到/usr/bin目录。
(2)设置服务文件etcd.service
在/usr/lib/systemd/system/目录下创建文件etcd.service,内容为:
[Unit]
Description=Etcd Server
[Service]
Type=notify
TimeoutStartSec=0
Restart=always
WorkingDirectory=/var/lib/etcd/
EnvironmentFile=-/etc/etcd/etcd.conf
ExecStart=/usr/bin/etcd
[Install]
WantedBy=multi-user.target
其中WorkingDirectory为etcd数据库目录,需要在etcd安装前创建
(3)创建配置文件/etc/etcd/etcd.conf
ETCD_NAME=ETC