一、k8s概念和架构
2.1 k8s概述
- k8s 是 2014 年 Google 开源的一款容器化集群管理系统,使用 golang 实现
- 可使用 k8s 进行容器化应用部署,使部署更加方便
- 使用 k8s 利于应用扩展和维护
- k8s 的目标是让部署容器化应用更加简洁高效
2.2 k8s特性
2.3 k8s中的架构组件
k8s 中有哪些组件:
二、从零搭建k8s集群
搭建
硬件要求
测试环境:
- master 节点:CPU:至少 2 核 | 内存:至少 4 G | 硬盘:至少 20 G
- node 节点:由于 node 节点是实际的工作节点,因此其配置要求要比 master 更高,一般为 CPU:至少 4 核 | 内存:至少 8 G | 硬盘:至少 40 G
生产环境:
- 在生产环境下,无论是 master 节点还是 node 节点,其配置要求都比一般的更高
2.2 搭建集群的方式
2.2.1 基于客户端工具 kubeadm
1、kubeadm 部署方式介绍
kubeadm 是官方社区推出的一个用于快速部署 kubernetes 集群的工具,这个工具能通过两条指令完成一个 kubernetes 集群的部署:
- 创建一个 Master 节点:
kubeadm init
- 将 Node 节点加入到当前集群中:
kubeadm join <Master 节点的IP 和端口>
官方地址:https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm/
Kubeadm 降低部署门槛,但屏蔽了很多细节,遇到问题很难排查。如果想更容易可控,推荐使用二进制包部署 Kubernetes 集群,虽然手动部署麻烦点,但期间可以学习很多工作原理,也利于后期维护。
2、安装要求
部署 Kubernetes 集群机器需要满足以下几个条件:
- 一台或多台机器,操作系统 CentOS7.x-86_x64
- 硬件配置:2GB 或更多 RAM,2 个 CPU 或更多 CPU,硬盘 30GB 或更多
- 集群中所有机器之间网络互通
- 可以访问外网,需要拉取镜像
- 禁止 swap 分区
yum install -y kubelet-1.18.0 kubeadm-1.18.0 kubectl-1.18.0