尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

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

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中文官网:KubernetesGitHub:github.com/kubernetes/kubernetesKubernetes简称为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每台节点至少2GMaster节点至少2C集群节点网络互通集群规划软件环境操作系统CentOS Linux release 7.9.2009 x86_64Dockerv24.0.6k8sv1.20.9kubeadmv1.20节点配置主机角色IPCPU内存node1Master192.168.5.1016C40Gnode2Node
返回列表