文章目录
记一次实操部署Kubernetes_v1.19.2
规划信息
本次部署使用2台机器;1台master 和 1台node ;
master 172.16.0.5 CentOS 7.6
node01 172.16.0.49 CentOS 7.6
安装后的软件版本为:
Kubernetes v1.19.2
flannel v0.13.0
Docker 19.03.11
部署记录
kubeadm 是 Kubernetes 官方支持的安装方式,“二进制” 不是。本文档采用 kubernetes.io 官方推荐的 kubeadm 工具安装 kubernetes 集群。
当前还有其他自动化部署的工具,例如Kubespray等工具;
现在安装Kubernetes 其实并不复杂;本篇文档只是记录;本次安装主要参考了2篇优秀的博客文章;
使用kubeadm安装kubernetes_v1.19.x https://kuboard.cn/install/install-k8s.html
k8s实践(一):Centos7.6部署k8s(v1.14.2)集群 https://blog.51cto.com/3241766/2405624
# 配置主机名 和 hosts 记录, master 和 node 分别执行
[root@VM_0_5_centos ~]# hostnamectl set-hostname master
[root@VM_0_5_centos ~]# more /etc/hostname
master
[root@VM_0_5_centos ~]# logout
Connection to 172.16.0.5 closed.
[root@network-test ~]# ssh 172.16.0.5
root@172.16.0.5's password:
Last login: Wed Oct 14 14:53:50 2020 from 172.16.0.9
[root@master ~]#
[root@master ~]# cat >> /etc/hosts << EOF
> 172.27.0.5 master
> 172.27.0.49 node01
> EOF
[root@master ~]#
# 检查机器网络,确保2台 机器 网络可以正常通信,注意防火墙、安全组等安全策略
安装docker及kubelet
# 使用yum 安装docker,kubectl/kubeadm/kubelet, 等其他依赖组件;
# 在 master 节点和 worker 节点都要执行
# 最后一个参数 1.19.2 用于指定 kubenetes 版本,支持所有 1.19.x 版本的安装
# 腾讯云 docker hub 镜像
export REGISTRY_MIRROR="https://mirror.ccs.tencentyun.com"
# DaoCloud 镜像
# export REGISTRY_MIRROR="http://f1361db2.m.daocloud.io"
# 阿里云 docker hub 镜像
# export REGISTRY_MIRROR=https://registry.cn-hangzhou.aliyuncs.com
#!/bin/bash
# 在 master 节点和 worker 节点都要执行
# 安装 docker
# 参考文档如下
# https://docs.docker.com/install/linux/docker-ce/centos/
# https://docs.docker.com/install/linux/linux-postinstall/
# 卸载旧版本
yum remove -y docker \
docker-client \
docker-client-latest \
docker-ce-cli \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine
# 设置 yum repository
yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 安装并启动 docker
yum install -y docker-ce-19.03.11 docker-ce-cli-19.03.11 containerd.io-1.2.13
mkdir /etc/docker || true
cat > /etc/docker/daemon.json <<EOF
{
"registry-mirrors": ["${REGISTRY_MIRROR}"],
"exec-opts": ["native.cgroupdriver=systemd"],
"log-d