Kubernetes部署
/ / 点击 / 阅读耗时 5 分钟1. 安装要求
- 系统版本:CentOS 7.x
- 硬件配置:内存2GB以上、CPU2核以上、硬盘大于30G
- 集群网络配置:集群中所有服务器内网必须互通,并且需要访问外网来拉取镜像
- 禁用swap分区
2. 安装前的准备工作
关闭防火墙
1
2$ systemctl stop firewalld
$ systemctl disable firewalld关闭selinux:
1
2$ sed -i 's/enforcing/disabled/' /etc/selinux/config
$ setenforce 0关闭swap分许
临时关闭:swapoff -a
永久关闭:注释掉/etc/fstab文件中的swap行编辑hosts文件,将所有节点的ip和主机名一一对应
1
2
3172.16.17.10 kubernetes-master
172.16.17.11 kubernetes-node-1
172.16.17.12 kubernetes-node-2将桥接的IPv4流量传递到iptables的链
1
2
3
4
5$ cat > /etc/sysctl.d/k8s.conf << EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
$ sysctl --system开启IP转发功能
1
echo "1" > /proc/sys/net/ipv4/ip_forward
NTP时间服务同步
1
2$ yum -y install ntpdate
$ ntpdate -u ntp.api.bz
3. 开始安装
在所有节点上安装Docker/kubeadm/kubelet
3.1 安装Docker
- 安装必要的一些系统工具
1 | yum install -y yum-utils device-mapper-persistent-data lvm2 |
- 添加软件源信息
1
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
- 更改仓库镜像地址
1
sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo
- 更新并安装Docker-CE,这里我们安装19.03版本。其他安装Docker相关的选项请移步 https://developer.aliyun.com/mirror/docker-ce
1
2yum makecache
yum -y install docker-ce-19.03.14 docker-ce-cli-19.03.14 containerd.io - 开启Docker服务
1
2systemctl enable docker
systemctl restart docker - 查看Docker是否安装成功
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28[root@kubernetes-master ~]# docker version
Client: Docker Engine - Community
Version: 19.03.14
API version: 1.40
Go version: go1.13.15
Git commit: 5eb3275d40
Built: Tue Dec 1 19:20:42 2020
OS/Arch: linux/amd64
Experimental: false
Server: Docker Engine - Community
Engine:
Version: 19.03.14
API version: 1.40 (minimum version 1.12)
Go version: go1.13.15
Git commit: 5eb3275d40
Built: Tue Dec 1 19:19:17 2020
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.4.3
GitCommit: 269548fa27e0089a8b8278fc4fc781d7f65a939b
runc:
Version: 1.0.0-rc92
GitCommit: ff819c7e9184c13b7c2607fe6c30ae19403a7aff
docker-init:
Version: 0.18.0
GitCommit: fec3683
4. 用kubeadm部署Master
1 | kubeadm init \ |
apiserver-advertise-address参数: master组件监听的api地址,这里写masterIP地址即可或者多网卡选择另一个IP地址
kubernetes-version: 指定安装的版本
5. 安装flannel
1 | kubectl apply -f https://gitee.com/mirrors/flannel/raw/master/Documentation/kube-flannel.yml |
6. 加入Node
在Node节点上执行在kubeadm init输出的kubeadm join命令:
1 | kubeadm join 172.16.17.10:6443 --token iz96vy.f5ukew9geeome5is --discovery-token-ca-cert-hash sha256:72b689426bfc34512294c29b39ea3b2af3a94e39f62c4434f3a49f16d51a1382 |