K8S(Kubernetes)简介和官方安装部署保姆级详细教程

目录

一、K8S简介

Kubernetes集群组件逻辑图

Master节点组件及功能

Slave节点组件及功能

          安装部署

二进制包

kubeadm工具

二、准备工作

软硬件要求

集群规划

环境配置

修改hosts配置

配置SSH免密登录

关闭Swap分区

禁用SELinux

关闭防火墙

修改内核参数

配置集群时钟同步

配置k8s的Yum源

三、安装Docker

四、安装K8S集群

安装三大组件-kubeadm、kubelet、kubectl

初始化k8s集群

加入节点

安装网络插件

五、测试K8S集群

创建nginx pod

对外暴露访问

访问nginx

六、安装Dashboard

通过kubectl命令安装

创建访问账号

获取token

登录界面


一、K8S简介

Kubernetes中文官网:Kubernetes

GitHub:github.com/kubernetes/kubernetes

Kubernetes简称为K8s,是用于自动部署、扩缩和管理容器化应用程序的开源系统,起源于Google 集群管理工具Borg。

Kubernetes集群组件逻辑图

k8s集群属于Master-Slave主从架构,Master节点负责集群管理和资源调度,用于运行控制平面组件(Control Plane Components),Slave节点就是工作负载节点,一般称为Node节点,也叫Worker节点,主要负责运行Pod,一个Pod里可以同时运行多个容器,而容器一般封装的就是基于Dokcer打包的应用,Pod英文叫豌豆荚,每个容器就像是一颗豌豆,简单来说Pod就是一组容器。

Master节点组件及功能

Master组件
组件名称 功能用途
kube-apiserver 负责处理接受请求。
etcd 高可用键值存储,用于k8s集群的后台数据库。
kube-scheduler 负责选择Worker节点运行新创建的Pod,需要考虑的因素包括资源需求,软硬件及策略约束,亲和性和反亲和性规范、数据位置等。

kube-controller-manager

负责运行不同类型的控制器进程,每个控制器都是一个单独进程,常见的控制器有节点控制器(Node Controller)、任务控制器(Job Controller)、端点分片控制器(EndpointSlice controller)、服务账号控制器(ServiceAccount controller)等。

cloud-controller-manager

用于嵌入特定的云平台的控制器。

Slave节点组件及功能

Slave组件
组件名称 功能用途

kubelet

负责管理Node节点上容器的健康运行,通过接收一组PodSpecs来实现,每个Node节点上都会运行一个kubelet,不会管理不是由 Kubernetes 创建的容器。

kube-proxy

负责Node节点上的网络代理,用于维护网络规则,这些规则允许从集群内部或外部与Pod进行网络通信,每个Node节点上都会运行一个kube-proxy,k8s的Service就是利用该组件实现的。

Container Runtime

负责管理容器的执行和生命周期。支持多种类型的容器运行时环境,比如

containerd、 CRI-O及CRI自定义实现,k8s使用容器运行时接口(CRI)和用户选择的容器运行时交互。

安装部署

生产环境部署k8s主要有两种方式:

二进制包

Github下载稳定版的二进制包,手动部署每个组件组成k8s集群。

kubeadm工具

使用Kubeadm工具可以快速搭建一个k8s集群,主要包括初始化控制平面节点和加入Worker节点,提供的主要功能如下:

  • kubeadm init:初始化一个Master节点
  • kubeadm join:将Worker节点加入集群
  • kubeadm upgrade:升级K8s版本
  • kubeadm token:管理 kubeadm join 使用的令牌
  • kubeadm reset:清空 kubeadm init 或者 kubeadm join 对主机所做的任何更改
  • kubeadm version:打印 kubeadm 版本
  • kubeadm alpha:预览可用的新功能

二、准备工作

软硬件要求

  • Linux操作系统,Ubuntu 或 CentOS
  • 每台节点至少2G
  • Master节点至少2C
  • 集群节点网络互通

集群规划

软件环境
操作系统

CentOS Linux release 7.9.2009 x86_64

Docker v24.0.6
k8s v1.20.9
kubeadm v1.20

<
节点配置
主机 角色 IP CPU 内存
node1 Master

192.168.5.10

16C 40G
node2 Node
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值