kubernetes(K8S)学习(一):K8S集群搭建(1 master 2 worker)

kubernetes官网https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/#installing-kubeadm-kubelet-and-kubectl

GitHub:https://github.com/kubernetes/kubeadm


本文:使用kubeadm搭建一个3台机器组成的k8s集群,1台master节点,2台worker节点。


一、环境资源准备

1.1、版本统一

由于k8s安装较麻烦,为防止出现其他异常,特此统一下安装的软件版本。

Docker       18.09.0
---
kubeadm-1.14.0-0 
kubelet-1.14.0-0 
kubectl-1.14.0-0
---
k8s.gcr.io/kube-apiserver:v1.14.0
k8s.gcr.io/kube-controller-manager:v1.14.0
k8s.gcr.io/kube-scheduler:v1.14.0
k8s.gcr.io/kube-proxy:v1.14.0
k8s.gcr.io/pause:3.1
k8s.gcr.io/etcd:3.3.10
k8s.gcr.io/coredns:1.3.1
---
calico:v3.9

1.2、k8s环境系统要求

配置要求
一台或多台机器运行其中之一

  • K8S需要运行在以下一台或多台机器中:
    • Ubuntu 16.04+
    • Debian 9+
    • CentOS 7 【本文使用】
    • Red Hat Enterprise Linux (RHEL) 7
    • Fedora 25+
    • HypriotOS v1.0.1+
    • Container Linux (tested with 1800.6.0)
  • 每台机器至少有2GB或更多的内存(少于2GB的空间,其他应用就无法使用了)
  • 2个或更多cpu
  • 所有网络节点互联(互相ping通)
  • 每个节点具有唯一主机名、MAC地址和product_uuid
  • 关闭防火墙或开放某些互联端口
  • 为了使kubelet正常工作,必须禁用swap.

1.3、准备三台Centos7虚拟机

(1)保证3台虚拟机的Mac地址唯一

需同时启动3台虚拟机,故应保证3台虚拟机的Mac地址唯一。


(2)虚拟机配置
节点角色 IP 处理器内核总数 内存(GB)
K8S_master(Centos7) 192.168.116.170 2 2
K8S_worker01(Centos7) 192.168.116.171 2 2
K8S_worker02(Centos7) 192.168.116.172 2 2

可参考下图:
在这里插入图片描述


(3)保证各节点互相Ping通

在这里插入图片描述


二、集群搭建

2.1、更新yum,并安装依赖包

注意:(3台机器均要执行

注: 需联网,时间较长。

(1)更新yum
[root@localhost ~]# yum -y update
(2)安装依赖包
[root@localhost ~]# yum install -y conntrack ipvsadm ipset jq sysstat curl iptables libseccomp

2.2、安装Docker

注意:(3台机器均要执行

在每一台机器上都安装好Docker,版本为18.09.0

(0)卸载之前安装的docker
[root@localhost /]# sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
(1)安装必要的依赖
[root@localhost ~]# sudo yum install -y yum-utils device-mapper-persistent-data lvm2

(2)设置docker仓库,添加软件源(阿里源)
[root@localhost ~]# sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

在这里插入图片描述


(3)设置ustc镜像加速器(强烈建议

注: 如果没有 /etc/docker/daemon.json,需要手动创建。

① 创建文件夹(/etc/docker)

[root@localhost ~]# mkdir -p /etc/docker
[root@localhost ~]# 
[root@localhost ~]# vi /etc/docker/daemon.json

② 创建并编辑daemon.json(内容如下)

{
   
  "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}

③ 重新加载生效

[root@localhost ~]# sudo systemctl daemon-reload

也可参考博文:Docker设置ustc的镜像源(镜像加速器:修改/etc/docker/daemon.json文件)


(4)安装指定版本docker(v18.09.0)

① 列出可用的docker版本(排序:从高到低)

[root@localhost /]# yum list docker-ce --showduplicates | sort -r

② 安装指定版本(这里安装版本v18.09.0),需联网

[root@localhost /]# sudo yum -y install docker-ce-18.09.0 docker-ce-cli-18.09.0 containerd.io

(5)启动Docker

提示: 安装完成后,Docker默认创建好了docker用户组,但该用户组下没有用户。

启动命令:

[root@localhost /]# sudo systemctl start docker
[root@localhost ~]# 
[root@localhost ~]# ps -ef | grep docker
[root@localhost ~]# 

启动docker并设置开机启动(推荐):

[root@localhost /]# sudo systemctl start docker && sudo systemctl enable docker
[root@localhost ~]# 
[root@localhost ~]# ps -ef | grep docker
[root@localhost ~]# 

附:停止docker命令
systemctl stop docker


(6)测试Docker是否安装成功

提示: 通过运行 hello-world映像来验证是否正确安装了 Docker Engine-Community。

运行“hello-world”容器测试:

[root@localhost /]# sudo docker run hello-world

在这里插入图片描述

如上图即已安装成功。


2.3、设置hostname,修改hosts文件

注意:(3台机器均要执行

hosts文件:用于解析计算机名称和IP地址的映射关系,功能相当于windows下面的c:\windows\system32\drivers\etc\hosts文件,如果想使用计算机名称来访问对方的主机,需要把对方计算机的名称和IP地址写到本机的hosts文件中,或使用配置DNS。

(1)对master节点主机操作

① 设置master虚拟机的hostname为m

[root@localhost /]# sudo hostnamectl set-hostname m

注: 使用 hostnameuname -n 命令,可查看当前主机名:

如:[root@localhost ~]# hostname

② 修改hosts文件

在/etc/hosts文件内容末尾 追加 IP和主机名映射。

[root@localhost /]# vi /etc/hosts

附:/etc/hosts中追加内容如下:

192.168.116.170 m
192.168.116.171 w1
192.168.116.172 w2


(2)对worker01节点主机操作

① 设置worker01虚拟机的hostname为w1

[root@localhost /]# sudo hostnamectl set-hostname w1

注: 使用 hostnameuname -n 命令,可查看当前主机名:

如:[root@localhost ~]# hostname

② 修改hosts文件

在/etc/hosts文件内容末尾 追加 IP和主机名映射。

[root@localhost /]# vi /etc/hosts

附:/etc/hosts中追加内容如下:

192.168.116.170 m
192.168.116.171 w1
192.168.116.172 w2


(3)对worker02节点主机操作

① 设置worker02虚拟机的hostname为w2

[root@localhost /]# sudo hostnamectl set-hostname w2

注: 使用 hostnameuname -n 命令,可查看当前主机名:

如:[root@localhost ~]# hostname

② 修改hosts文件

在/etc/hosts文件内容末尾 追加 IP和主机名映射。

[root@localhost /]# vi /etc/hosts

附:/etc/hosts中追加内容如下:

192.168.116.170 m
192.168.116.171 w1
192.168.116.172 w2


(3)使用ping命令互测三台虚拟机的网络联通状态
[root@localhost ~]# ping m
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

꯭ 瞎꯭扯꯭蛋꯭

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值