Kubernetes(k8s)学习&部署(一)-概述&集群搭建

Kubernetes(k8s)学习&部署(一)-概述&集群搭建,第1张

Kubernetes(k8s)学习&部署(一)-概述&集群搭建 一、Kubernetes概述 1、Kubernetes简介&特性

学习Kubernetes前需要具备的前置知识:

1、Linux *** 作系统   Linux常用命令

2、Docker    Docker学习

      Kubernetes,简称K8s,是用8代替8个字符"ubernete"而成的缩写。是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署,规划,更新,维护的一种机制。

      Kubernetes是一个轻便的和可扩展的开源平台,用于管理容器化应用和服务。通过Kubernetes能够进行应用的自动化部署和扩缩容。在Kubernetes中,会将组成应用的容器组合成一个逻辑单元以更易管理和发展。Kubernetes积累了作为Google生产环境运行工作负载15年的经验,并吸收了来自于社区的最佳想法和实践。

       传统的应用部署方式是通过插件或脚本来安装应用。这样做的缺点是应用的运行、配置、管理、所有生存周期将与当前 *** 作系统绑定,这样做并不利于应用的升级更新/回滚等 *** 作,当然也可以通过创建虚拟机的方式来实现某些功能,但是虚拟机非常重,并不利于可移植性。

       新的方式是通过部署容器方式实现,每个容器之间互相隔离,每个容器有自己的文件系统,容器之间进程不会互相影响,能区分计算资源。相对于虚拟机,容器能快速部署,由于容器与底层设施、机器文件系统解耦的,所以它能在不同云,不同版本 *** 作系统间进行迁移。

       Kubernetes 是Google 开源的一个容器编排引擎,它支持自动化部署、大规模可伸缩、应用容器化管理。在生产环境中部署一个应用程序时,通常要部署该应用的多个实例以便对应用请求进行负载均衡。

       在Kubernetes中,我们可以创建多个容器,每个容器里面运行一个应用实例,然后通过内置的负载均衡策略,实现对这一组应用实例的管理、发现、访问,而这些细节都不需要运维人员去进行复杂的手工配置和处理。

        总结:

                1、K8S是Google在2014年开源的容器化集群管理系统

                2、使用K8S进行容器化应用部署

                3、使用K8S利于应用的扩展

                4、K8S目标:让部署容器化应用更加简洁和高效

K8S特性:

        1、自动装箱

        2、自我修复

        3、水平扩展(双十一,双十二)

        4、服务发现

        5、滚动更新

        6、版本回退

        7、密钥和配置管理

        8、存储编排

        9、批处理

2、K8s架构组件

Master(主控节点)和node(工作节点)

(1)、Master组件:做管理工作

API server:集群统一入口,以restful方式,交给etcd存储

Scheduler:节点调度,选择node节点应用部署

Controller-manager:处理集群中常规后台任务,一个资源对应一个控制器。做资源的控制。

etcd:存储系统,用于保存集群相关的数据。

(2)、node组件

kubelet:master派到node节点的代表,管理本机容器。

kube-proxy:提供网络代理,负载均衡等 *** 作。

如下图

3、K8s核心概念

(1)、Pod:特点:最小部署单元。一组容器的集合。共享网络。生命周期是短暂的。

(2)、Controller:特点:确保预期的pod副本数量。无状态应用部署/有状态应用部署。确保所有的node运行同一个pod。一次性任务和定时任务。

(3)、Service:特点:定义一组pod的访问规则。

二、从零开始搭建k8s集群

搭建K8S环境简介

(1)、搭建K8S环境平台规划

单Master集群:缺点:master出故障导致整个环境不可用

 

多Master集群

(2)、服务器硬件配置要求

测试环境(最低要求):

        master:2核 4G内存  20G硬盘

        node:4核 8G内存  40G硬盘

生产环境(最低要求):

        master:8核 16G内存  100G硬盘

        node:16核 64G内存  500G硬盘

(3)、搭建K8S集群部署方式

K8S集群搭建主要有两种方式:1.kubeadm 2.二进制包

1、基于客户端工具kubeadm搭建

      kubeadm是一个K8s部署工具,提供kubeadm init 和 kubeadm join,用于快速部署Kubernetes集群。

Kubeadm官方文档说明

2、基于二进制包方式搭建

      从github下载发行版的二进制包,手动部署每个组件,组成Kubernetes集群。

      Kubeadm降低部署门槛,但屏蔽了很多细节,遇到问题很难排查。如果想更容易可控,推荐使用二进制包部署Kubernetes集群,虽然手动部署麻烦点,期间可以学习很多工作原理,也利于后期维护。

干我们这行,啥时候懈怠,就意味着长进的停止,长进的停止就意味着被淘汰,只能往前冲,直到凤凰涅槃的一天!

Kubernetes(k8s)学习&部署(二)-Pod使用&原理

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5715115.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-18

发表评论

登录后才能评论

评论列表(0条)

保存