初识云原生、虚拟化、DevOps

文章目录

    • K8S
    • 虚拟化
    • DevOps
      • devops平台搭建工具
      • 大数据架构

K8S

  • master

    主节点,控制平台,Master节点负责核心的调度、管理和运维,不需要很高性能,不跑任务,通常一个就行了,也可以开多个主节点来提高集群可用度

  • worker

    工作节点,可以是虚拟机或物理计算机,,Slave节点则在执行用户的程序,任务都在这里跑,机器性能需要好点;通常都有很多个,可以不断加机器扩大集群;每个工作节点由主节点管理

    Master Node和Worker Node是分别安装了K8S的Master和Woker组件的实体服务器,每个Node都对应了一台实体服务器(虽然Master Node可以和其中一个Worker Node安装在同一台服务器,但是建议Master Node单独部署),所有Master Node和Worker Node组成了K8S集群,同一个集群可能存在多个Master Node和Worker Node

  • pods:管理容器,每个 Pod 可以包含一个或多个紧密关联的容器,Pod 是一组紧密关联的容器集合,每个 Pod 有自己的虚拟IP。一个工作节点可以有多个 pod,主节点会考量负载自动调度 pod 到哪个节点运行,它们共享PID、IPC、Network 和 UTS Namespace,是 Kubernetes 调度的基本单位,Pod 内的多个容器共享网络和文件系统,可以通过进程间通信和文件共享这种简单高效的方式组合完成服务,使用 ManiFest ( YAML 或 JSON )来定义,

  • Node:是 Pod 真正运行的主机,可以是物理机,也可以是虚拟机,为了管理 Pod 每个 Node 节点上至少要运行 Container Runtime (比如 docker 或者 rkt )、 Kubelet 和 Kube-proxy 服务

  • Namespace:是对一组资源和对象的抽象集合,比如可以用来将系统内部的对象划分为不同的项目组或用户组,常见的 pods, services, replication controllers 和 deployments 等都是属于某一个 namespace 的(默认是 default),而 node, persistentVolumes 等则不属于任何 namespace

  • Service:是应用服务的抽象,通过 labels 为应用提供负载均衡和服务发现,匹配 labels 的 Pod IP 和端口列表组成 endpoints,由 kube-proxy 负责将服务 IP 负载均衡到这些 endpoints 上,通常每一个 Service 都会自动分配一个 Cluster IP (仅在集群内部可访问的虚拟地址)和 DNS 名,其他容器可以通过该地址或 DNS 来访问服务,而不需要了解后端容器的运行

img

20231025163144-ee2fbfe0-7310-1

K8s 主要由以下几个核心组件组成:

Master 组件

  • etcd:保存了整个集群的状态
  • apiserver:提供了资源操作的唯一入口,并提供认证、授权、访问控制、API 注册和发现等机制
  • controller manager:负责维护集群的状态,比如:故障检测、自动扩展、滚动更新等
  • scheduler:负责资源的调度,按照预定的调度策略将 Pod 调度到相应的机器上

Worker 组件

  • kubelet:负责维护容器的生命周期,同时也负责 Volume(CSI) 和网络 (CNI) 的管理
  • Container runtime:负责镜像管理以及 Pod 和容器的真正运行(CRI)
  • kube-proxy:负责为 Service 提供 cluster 内部的服务发现和负载均衡

20231025163420-4b0753b8-7311-1

工作负载分类

  • Deployment
    适合无状态应用,所有 pod 等价,可替代
  • StatefulSet
    有状态的应用,适合数据库这种类型
  • DaemonSet
    在每个节点上跑一个 Pod,可以用来做节点监控、节点日志收集等
  • Job & CronJob
    Job 用来表达的是一次性的任务,而 CronJob 会根据其时间规划反复运行

虚拟化

**常见虚拟化工具:**VMware、VirtualBox、Hyper-V、Xen、KVM

vSphere,ESXi 和 vCenter 的区别

VMware vCenter Server

  • vSphere 是在数据中心产品下的一套软件。vSphere 类似微软的 Office 办公套件,Office 办公套件包含了许多软件如Word, Excel, Access 等。和 Office 一样,vSphere 也是一个软件的集合。他包括了 vCenter, ESXi 和 vSphere 等。所以,这些软件联合起来就是 vSphere。vSphere 不是一个你可以安装使用的软件。它只是一个包含其它组件的集合

  • ESXi 是 vSphere 中最重要的一个组件,允许基本创建和运行虚拟机。ESXi 是虚拟化服务。所有的虚拟机都是运行在 ESXi 服务上面。为了安装,管理和访问这些虚拟机,你需要另外的 vSphere 套件,也就是 vSphere client 或 vCenter。vSphere client允许管理员访问 ESXi 服务并管理虚拟机,。vSphere client 是安装在客户机(也就是管理员的笔记本)上面。vSphere client 被用来连接 ESXi 服务器和管理任务

    VMware ESXi

  • vCenter server 和 vSphere client 很像,但是它和功能更加强大。vCenter server 是安装在 Window 服务器或 Linux 服务器里面。VMware vCenter server 是一个中心化的管理应用。你可以通过它管理所有的虚拟机和 ESXi 物理机。vSphere client 可以通过访问 vCenter Server 来管理 EXSi 服务器

Vmware vcenter未授权任意文件上传(CVE-2021-21972)复现

DevOps

透过自动化“软件交付和“架构变更”的流程,来使得构建、测试、发布软件能够更加地快捷、频繁和可靠

图片

微服务架构+ DevOps 模式

img

  • 理解 DevOps
  • DevOps环境搭建:https://mp.weixin.qq.com/s/UK-KfpjwJRkoTNHPBkZp2w

远程部署一些机器,专门用来管理代码,进行上线工作,由运维事先把上线的规则都给定义好了,开发只要按照他的规则都访问这台服务器进行各自的代码合成和发布,自己上线呢,能用代码自动完成的事情就绝不要手动解决,这是每个开发人员都在想的东西。运维需要做的事情,慢慢的都沉淀到了各个平台上面,例如监控,有专门的监控组件和可视化,基础服务例如服务器,CDN,负载均衡等基础服务可以外包到云服务厂商,日志也有专门的日志工具,链路追踪也有专门的组件和可视化,还有网关等,渐渐的,只要这些都配置好了,开发也可以做运维的部分工作,毕竟开发才是最了解代码的人,哪里出了问题看看监控日志,可以最快速度定位到问题,于是DEVOPS开发模式诞生了,开发也是运维

devops平台搭建工具

  • 项目管理(PM):jira,运营可以上去提问题,可以看到各个问题的完整的工作流,待解决未解决等
  • 代码管理:Bitbucket、gitlab,jenkins 或者 K8S 都可以集成 gitlab,进行代码管理,上线,回滚等
  • 持续集成CI(Continuous Integration):Jenkins, [gitlab ci]开发人员提交了新代码之后,立刻进行构建、(单元)测试。根据测试结果,我们可以确定新代码和原有代码能否正确地集成在一起
  • 持续交付CD(Continuous Delivery):gitlab cd,完成[单元测试]后,可以把代码部署到连接数据库的 Staging 环境中更多的测试。如果代码没有问题,可以继续手动部署到生产环境中
  • 镜像仓库:VMware Harbor,私服 nexus,JFrog
  • 容器:Docker
  • 编排:K8S
  • 服务治理:Consul、ZooKeeper 提供分布式系统的协调服务、
  • 脚本语言:Python
  • 日志管理:Cat+Sentry,还有种常用的是ELK,Splunk
  • 系统监控:Prometheus,Grafana: 用于可视化大型测量数据的开源平台,经常与Prometheus一起使用,Nagios: 免费的开源IT基础设施监控工具,Zabbix: 一个企业级开源监控解决方案、SolarWinds、Cacti
  • 负载均衡:Nginx、HAProxy
  • 网关:Kong,zuul
  • 链路追踪:Zipkin
  • 产品和UI图:蓝湖
  • 公司内部文档:Confluence
  • 报警:推送到工作群

有了这一套完整的流程工具,整个开发流程涉及到人员都可以无阻碍的进行协调工作了,开发每天到公司,先看看 jira看看线上日志,出了问题看看监控日志,运营同学反馈问题不着急的去JIRA,着急的群里吆喝,产品和UI的图直接蓝湖看,运维关注监控着大盘

大数据架构

大数据-技术常用组件

wxmp

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/490997.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Windows版 CUDA安装

目录 一、说明 二、安装工具下载 三、CUDA安装 四、cuDNN配置 五、验证安装是否成功 一、说明 windows10 版本安装 CUDA ,首先需要下载两个安装包 CUDA toolkitcuDNN 官方教程 CUDA:https://docs.nvidia.com/cuda/cuda-installation-guide-micro…

[Android]创建Google Play内购aab白包

开发时需要调试Google内购,需要先往Google商店传一个白包上去。确定包名,然后进行内购产品创建。 1.创建一个空项目,填写正式名称和正式包名。 如果你只是为一个测试开发账号打白包,然后进行内购测试,这时包名随便写…

web前端面试题---->HTML、CSS

一.居中方法 block元素如何居中 margin:0 auto;position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);flex布局: 对父元素操作 : justify-content:center; al…

VsCode中安装codeium 显示failed to start language server

一、在VsCode的SSH Remote插件中安装Codeium 失败: 1、在插件Remote Explore中的SSH安装Codeium插件后提示无法下载语言服务器,如下图所示 2、去Codeium的仓库中找到对应版本的语言服务器包下载,然后解压并拷贝到远程服务器Ubuntu中的如下目…

Arduino+ESP8266+华为云物联网平台实现智能开关

前言 最近在做一个物联网项目,涉及到智能开关的开发。目前已经实现简单的TCP通信远程控制,但是考虑到后期的设备管理以及设备通信所需要的技术和服务器的维护成本,我决定将设备接入云平台。本文将详细阐述如何利用华为云的物联网平台&#x…

嵌入式下C/C++调用sqlite3简单开发

交叉编译sqlite3请关注我第一篇博文 sqlite3 交叉编译-CSDN博客 sqlite3的命令的简单使用(增删改查,创建/删除表)请关注我的上一篇博文 sqlite3嵌入式使用以及C/C代码开发-CSDN博客 一、新建文件夹 此文件夹用于放置工程,比如…

工作多年,如何从 CRUD Boy 转型为分布式系统架构师?解锁分布式系统的艺术:从零开始理解分布式系统架构与设计原理!...

编程是一门艺术,它的魅力在于创造。 65 哥已经工作5年了,一直做着简单重复的编程工作,活活熬成了一个只会 CRUD 的打工 boy。 65 哥:总是听大佬讲分布式分布式,什么才是分布式系统呢? 分布式系统是一个硬件…

环境影响与碳排放生命周期评估应用及案例分析

生命周期分析 (Life Cycle Analysis, LCA) 是评价一个产品系统生命周期整个阶段——从原材料的提取和加工,到产品生产、包装、市场营销、使用、再使用和产品维护,直至再循环和最终废物处置——的环境影响的工具。这种方法被认为是一种“从摇篮到坟墓”的…

R语言实现——网状 Meta 分析

近来年,网状 Meta 分析相关研究不断涌现,此类研究不但能发表在国内各大核心期刊上,还能在SCI期刊甚至医学4大刊上看到其身影。随手在pubmed上面一搜索,就能得到一万多篇相关文献。俨然成为医学文献研究的“大杀器”! P…

是德科技KEYSIGHT E5071C网络分析仪

181/2461/8938产品概述: Keysight E5071C(安捷伦)网络分析仪提供同类产品中最高的射频性能和最快的速度,并具有宽频率范围和多功能功能。E5071C 是制造和研发工程师评估频率范围高达 20 GHz 的射频元件和电路的理想解决方案。 有…

Ansys Speos | Light Expert Group探测器组使用技巧

附件下载 联系工作人员获取附件 概述 相机挡板的设计需要在光路的不同位置同步多个照度图,以尽量减少杂散光。2023R2 Speos提供了一种新的探测器,用于高阶杂散光分析,可以同时对多个探测器进行光线追迹。Light Expert工具可以即时过滤3D视…

Linux:部署达梦数据库DM8(1)

0.安装DM8数据库安装包 产品下载-达梦数据 (dameng.com)https://www.dameng.com/list_103.html进入官方网站下载centos7的安装包,本章使用centos7进行部署,提前关闭好防火墙和selinux 建议你的系统运行内存为:2G或以上 1.部署基础环境 先安…

iOS——【CGD】

GCD 什么是GCD GCD指的是Grand Central Dispatch,它是苹果公司开发的一套多线程编程技术。GCD提供了一种简单而有效的方式来管理应用程序中的并发任务。它通过将任务提交到适当的队列(串行队列或并发队列)来管理并发执行的任务,…

MQTT.fx和MQTTX 链接ONENET物联网提示账户或者密码错误

参考MQTT.fx和MQTTX 链接ONENET物联网开发平台避坑细节干货。_mqttx和mqttfx-CSDN博客 在输入password和username后还是提示错误,是因为在使用token的时候,key填写错误,将设备的密钥填入key中

【javaWeb 第四篇】后端-Maven详细入门教程

Maven入门教程 前言Maven配置Maven依赖管理Maven的生命周期 前言 本文是作者通过学习过程中的学习笔记,希望帮助大家,同时大家可以搭配黑马程序员进行学习 Maven配置 Maven是apache旗下的一个开源项目,是一款用于管理和构建java项目的工具…

Day48:WEB攻防-PHP应用文件上传中间件CVE解析第三方编辑器已知CMS漏洞

目录 PHP/ASP-中间件-上传相关-IIS&Apache&Nginx(解析漏洞) IIS Apache Nginx PHP-编辑器-上传相关-第三方处理引用 PHP-CMS源码-上传相关-已知识别到利用 知识点: 1、PHP-中间件-文件上传-CVE&配置解析 2、PHP-编辑器-文件上传-第三方引用安全 3…

单链表增序排列节点(单链表算法库拓展v2.0)

对单链表中元素进行排序(至少有2个数据节点) /************************************************** (13)函数名:LinkList_sorting 功 能:对单链表中元素进行排序(至少有2个数据节点) 参 数:LinkList *&L:要进行排序的单链表 注意: ① 空表,或者只有一个数据节点,则不需要…

企业级快速开发框架 nbsaas-boot 1.1.8-2024 发布了

<parent><groupId>com.nbsaas.boot</groupId><artifactId>nbsaas-boot</artifactId><version>1.1.8-2024</version> </parent> 本次更新内容 1. 重构代码生成器&#xff0c;采用类提取和字段提取两种方式&#xff0c;提取功能…

查看 Debian 系统版本的 6 种方式

本篇文章将为大家介绍 6 种查看 Dibian 系统发行版本号的方式。 1. 使用 lsb_release 命令 lsb_release 命令可用于查看 Linux 发行版操作系统的具体版本。它可能尚未安装在你的操作系统中&#xff0c;因此你需要先安装它。运行以下命令来安装 lsb_release&#xff1a; apt-…

云原生靶场kebernetesGoat、Metarget

靶场 文章目录 靶场kebernetesGoat靶场安装Docker in DockerSSRF漏洞容器逃逸到主系统Docker CIS 基线分析Kubernetes CIS 安全基线分析分析被部署挖矿软件的容器镜像获取环境信息Hidden in layersRBAC最低权限配置错误使用 Sysdig Falco 进行运行时安全监控和检测 Metarget ke…