自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

就叫一片白纸的博客

踏上编程之路,见证奇迹诞生

  • 博客(586)
  • 资源 (8)
  • 收藏
  • 关注

原创 [k8s]k8s入门笔记

2023-07-25 13:32:04 120

原创 【笔记本维修】【基础知识】【EC待机条件】

EC待机条件

2022-06-29 17:22:02 898 1

原创 【笔记本维修】【基础知识】MOS管 稳压管 门电路 比较器

Mos管 稳压管 门电路 比较器

2022-06-29 10:53:30 587

原创 【笔记本维修】【基础知识】【二极管 三极管】

二极管 三极管

2022-06-18 21:54:31 315

原创 【笔记本维修】【基础知识】【电容 二极管】

电阻 电感

2022-06-14 21:54:24 148

原创 【笔记本维修】【基础知识】【电阻 电感】

电子元件

2022-06-12 17:31:41 255

原创 【笔记本维修】【基础知识】【电流电压 电阻】

NC维修

2022-06-12 13:17:43 385 2

原创 【搞定K8S】第3天8:kubernetes 部署项目

1、发布 Java 项目(1)制作镜像 (2)控制器管理 Pod (3)暴露应用

2021-03-28 22:25:18 331 2

原创 【搞定K8S】第3天7:kubernetes 高可用集群搭建

1、概述Kubernetes 作为容器集群系统,通过健康检查+重启策略实现了 Pod 故障自我修复能力, 通过调度算法实现将 Pod 分布式部署,监控其预期副本数,并根据 Node 失效状态自动在正常 Node 启动 Pod,实现了应用层的高可用性。针对 Kubernetes 集群,高可用性还应包含以下两个层面的考虑:Etcd 数据库的高可用性和 Kubernetes Master 组件的高可用性。 而 Etcd 我们已经采用 3 个节点组建集群实现高可用,本节将对 Master 节点高可用进行说明和实

2021-03-28 22:24:37 505 3

原创 【搞定K8S】第3天6:kubernetes 核心技术-Helm

1、Helm 引入K8S 上的应用对象,都是由特定的资源描述组成,包括 deployment、service 等。都保存各自文件中或者集中写到一个配置文件。然后 kubectl apply –f 部署。如果应用只由一个或几个这样的服务组成,上面部署方式足够了。而对于一个复杂的应用,会有很多类似上面的资源描述文件,例如微服务架构应用,组成应用的服务可能多达十个,几十个。如果有更新或回滚应用的需求,可能要修改和维护所涉及的大量资源文件,而这种组织和管理应用的方式就显得力不从心了。且由于缺少对发布过的应用版本管

2021-03-28 22:15:08 502

原创 【搞定K8S】第3天5:kubernetes-部署性能监控平台

1、概述开源软件 cAdvisor(Container Advisor)用于监控所在节点的容器运行状态,当前已经被默认集成到 kubelet 组件内,默认使用 tcp 4194 端口。在大规模容器集群,一般使用Heapster+Influxdb+Grafana 平台实现集群性能数据的采集,存储与展示。2、环境准备2.1基础环境Kubernetes + heapster + Influxdb + grafana2.2原理Heapster:集群中各 node 节点的 cAdvisor 的数据采集

2021-03-28 22:00:04 354 1

原创 【搞定Go语言】第4天2:GORM CRUD指南

CRUD通常指数据库的增删改查操作,本文详细介绍了如何使用GORM实现创建、查询、更新和删除操作。CRUDCRUD通常指数据库的增删改查操作,本文详细介绍了如何使用GORM实现创建、查询、更新和删除操作。本文中的db变量为*gorm.DB对象,例如:import ( "github.com/jinzhu/gorm" _ "github.com/jinzhu/gorm/dialects/mysql")func main() { db, err := gorm.Open("mysql"

2021-03-25 22:23:54 430 1

原创 【搞定K8S】第3天5:kubernetes-部署性能监控平台

1、概述开源软件 cAdvisor(Container Advisor)用于监控所在节点的容器运行状态,当前已经被默认集成到 kubelet 组件内,默认使用 tcp 4194 端口。在大规模容器集群,一般使用Heapster+Influxdb+Grafana 平台实现集群性能数据的采集,存储与展示。2、环境准备2.1基础环境Kubernetes + heapster + Influxdb + grafana2.2原理Heapster:集群中各 node 节点的 cAdvisor 的数据采集

2021-03-25 22:17:49 230

原创 【搞定Go语言】第4天1:GORM入门指南

gorm是一个使用Go语言编写的ORM框架。它文档齐全,对开发者友好,支持主流数据库。gorm介绍中文官方网站内含十分齐全的中文文档,有了它你甚至不需要再继续向下阅读本文。安装go get -u github.com/jinzhu/gorm连接数据库连接不同的数据库都需要导入对应数据的驱动程序,GORM已经贴心的为我们包装了一些驱动程序,只需要按如下方式导入需要的数据库驱动即可:import _ "github.com/jinzhu/gorm/dialects/mysql"// impor

2021-03-22 22:21:28 665

原创 【搞定K8S】第3天4:kubernetes 核心技术-集群安全机制 RBAC

1、基本概念RBAC(Role-Based Access Control,基于角色的访问控制)在 k8s v1.5 中引入,在 v1.6 版本时升级为 Beta 版本,并成为 kubeadm 安装方式下的默认选项,相对于其他访问控制方式, 新的 RBAC 具有如下优势:(1)对集群中的资源和非资源权限均有完整的覆盖(2)整个 RBAC 完全由几个 API 对象完成,同其他 API 对象一样,可以用 kubectl 或 API 进行操作(3)可以在运行时进行调整,无需重启 API Server要使用

2021-03-22 22:09:04 312

原创 【搞定K8S】第3天3:kubernetes 核心技术-调度器

1、概述一个容器平台的主要功能就是为容器分配运行时所需要的计算,存储和网络资源。容器调 度系统负责选择在最合适的主机上启动容器,并且将它们关联起来。它必须能够自动的处 理容器故障并且能够在更多的主机上自动启动更多的容器来应对更多的应用访问。目前三大主流的容器平台 Swarm, Mesos 和 Kubernetes 具有不同的容器调度系统。1.Swarm 的特点是直接调度 Docker 容器,并且提供和标准 Docker API 一致的 API。2.Mesos 针对不同的运行框架采用相对独立的

2021-03-22 21:40:52 310

原创 【搞定K8S】第3天2:kubernetes 核心技术-调度器

1、概述一个容器平台的主要功能就是为容器分配运行时所需要的计算,存储和网络资源。容器调 度系统负责选择在最合适的主机上启动容器,并且将它们关联起来。它必须能够自动的处 理容器故障并且能够在更多的主机上自动启动更多的容器来应对更多的应用访问。目前三大主流的容器平台 Swarm, Mesos 和 Kubernetes 具有不同的容器调度系统。1.Swarm 的特点是直接调度 Docker 容器,并且提供和标准 Docker API 一致的 API。2.Mesos 针对不同的运行框架采用相对独立的

2021-03-21 21:50:32 297

原创 【搞定K8S】第3天1:kubernetes 核心技术-探针

1、探针类型K8s 中存在两种类型的探针:liveness probe 和 readiness probe。2、liveness probe(存活探针)用于判断容器是否存活,即 Pod 是否为 running 状态,如果 LivenessProbe 探针探测到容器不健康,则 kubelet 将 kill 掉容器,并根据容器的重启策略是否重启。如果一个容器不包含 LivenessProbe 探针,则 Kubelet 认为容器的 LivenessProbe 探针的返回值永远成功。有时应用程序可能因为某些原

2021-03-21 21:43:23 606

原创 【搞定K8S】第2天11:kubernetes 核心技术-Service

1、Service 概述Service 是 Kubernetes 最核心概念,通过创建 Service,可以为一组具有相同功能的容器应用提供一个统一的入口地 址,并且将请求负载分发到后端的各个容器应用上。2、Service 的定义(1)yaml 格式的 Service 定义文件apiVersion: v1 kind: Service matadata: name: string namespace: string labels:-name: string annotations:-name:

2021-03-21 21:41:33 242

原创 【搞定K8S】第2天10:kubernetes核心技术-Namespace

1、Namespace 概述Namespace 在很多情况下用于实现多用户的资源隔离,通过将集群内部的资源对象分配到不同的 Namespace 中, 形成逻辑上的分组,便于不同的分组在共享使用整个集群的资源同时还能被分别管理。Kubernetes 集群在启动后,会创建一个名为"default"的 Namespace, 如果不特别指明 Namespace,则用户创建的 Pod,RC,Service 都将 被系统 创建到这个默认的名为 default 的 Namespace 中。2、Namespace 创建

2021-03-21 21:39:35 176

原创 【搞定Go语言】第3天24:部署Go语言项目的 N 种方法

部署Go语言项目本文以部署 Go Web 程序为例,介绍了在 CentOS7 服务器上部署 Go 语言程序的若干方法。独立部署Go 语言支持跨平台交叉编译,也就是说我们可以在 Windows 或 Mac 平台下编写代码,并且将代码编译成能够在 Linux amd64 服务器上运行的程序。对于简单的项目,通常我们只需要将编译后的二进制文件拷贝到服务器上,然后设置为后台守护进程运行即可。编译编译可以通过以下命令或编写 makefile 来操作。CGO_ENABLED=0 GOOS=linux GO

2021-03-20 22:03:01 630

原创 【搞定Go语言】第3天23:常用限流策略——漏桶与令牌桶介绍

限流又称为流量控制(流控),通常是指限制到达系统的并发请求数,本文列举了常见的限流策略,并以gin框架为例演示了如何为项目添加限流组件。限流限流又称为流量控制(流控),通常是指限制到达系统的并发请求数。我们生活中也会经常遇到限流的场景,比如:某景区限制每日进入景区的游客数量为8万人;沙河地铁站早高峰通过站外排队逐一放行的方式限制同一时间进入车站的旅客数量等。限流虽然会影响部分用户的使用体验,但是却能在一定程度上报障系统的稳定性,不至于崩溃(大家都没了用户体验)。而互联网上类似需要限流的业务场景也

2021-03-20 21:52:34 468

原创 【搞定K8S】第2天9:kubernetes 核心技术-configMap

1、ConfigMap 概述ConfigMap 功能在 Kubernetes1.2 版本中引入,许多应用程序会从配置文件、命令行参数或环境变量中读取配 置信息。ConfigMap AP 丨给我们提供了向容器中注入配置信息的机制,ConfigMap 可以被用来保存单个属性,也 可以用来保存整个配置文件或者 JSON 二进制大对象2、ConfigMap 的创建(1)使用目录创建$ ls docs/user-guide/configmap/kubectl/ game.propertiesui.prope

2021-03-20 21:44:09 155

原创 【搞定K8S】第2天8:kubernetes 核心技术-Secret

1、Secret 存在意义Secret 解决了密码、token、密钥等敏感数据的配置问题,而不需要把这些敏感数据暴露到镜像或者 Pod Spec 中。Secret 可以以 Volume 或者环境变量的方式使用2、Secret 有三种类型•Service Account :用来访问 Kubernetes API,由 Kubernetes 自动创建,并且会自动挂载到 Pod 的/run/secrets/kubernetes.io/serviceaccount 目录中•Opaque : base64 编

2021-03-20 21:37:45 252

原创 【搞定K8S】第2天7:kubernetes 核心技术-PVC 和 PV

1、基本概念管理存储是管理计算的一个明显问题。该 PersistentVolume 子系统为用户和管理员提供了一个 API,用于抽象如何根据消费方式提供存储的详细信息。为此,我们引入了两个新的API 资源:PersistentVolume 和 PersistentVolumeClaimPersistentVolume(PV)是集群中由管理员配置的一段网络存储。 它是集群中的资源,就像节点是集群资源一样。 PV 是容量插件,如 Volumes,但其生命周期独立于使用 PV 的任何单个 pod。 此 AP

2021-03-20 21:34:48 346

原创 【搞定K8S】第2天6:kubernetes 核心技术-Volume

1、Volume 概述Volume 是 Pod 中能够被多个容器访问的共享目录。Kubernetes 的 Volume 定义在 Pod 上, 它被一个 Pod 中的多个容 器挂载到具体的文件目录下。Volume 与 Pod 的生命周期相同, 但与容器的生命周期不相关,当容器终止或重启时,Volume 中的数据也不会丢失。要使用volume,pod 需要指定 volume 的类型和内容( 字段),和映射到容器的位置( 字段)。Kubernetes 支持多种类型的 Volume,包括:emptyDir、hos

2021-03-19 21:38:28 247

原创 【搞定K8S】第2天5:kubernetes 核心技术-Controller 控制器

1、Replication ControllerReplication Controller(RC)是 Kubernetes 系统中核心概念之一,当我们定义了一个 RC 并提交到 Kubernetes 集群中以后,Master 节点上的 Controller Manager 组件就得到通知, 定期检查系统中存活的 Pod,并确保目标 Pod 实例的数量刚好等于 RC 的预期值,如果有过多或过少的 Pod 运行,系统就会停掉或创建一些 Pod.此外我们也可以通过修改 RC 的副本数量,来实现 Pod 的动

2021-03-19 21:36:51 289

原创 【搞定K8S】第2天4:kubernetes 核心技术-Label

1、Label 概述Label 是 Kubernetes 系统中另一个核心概念。一个 Label 是一个 key=value 的键值对,其中 key 与 value 由用户自己指 定。Label 可以附加到各种资源对象上,如 Node、Pod、Service、RC,一个资源对象可以定义任意数量的 Label, 同一个 Label 也可以被添加到任意数量的资源对象上,Label 通常在资源对象定义时确定,也可以在对象创建后动态 添加或删除。Label 的最常见的用法是使用 metadata.labels

2021-03-19 21:34:21 400

原创 【搞定Go语言】第3天22:常用的HTTP服务压测工具介绍

在项目正式上线之前,我们通常需要通过压测来评估当前系统能够支撑的请求量、排查可能存在的隐藏bug,同时了解了程序的实际处理能力能够帮我们更好的匹配项目的实际需求,节约资源成本。HTTP服务压力测试工具在项目正式上线之前,我们通常需要通过压测来评估当前系统能够支撑的请求量、排查可能存在的隐藏bug,同时了解了程序的实际处理能力能够帮我们更好的匹配项目的实际需求,节约资源成本。压测相关术语响应时间(RT) :指系统对请求作出响应的时间.吞吐量(Throughput) :指系统在单位时间内处理请求的数量

2021-03-18 21:43:31 516

原创 【搞定K8S】第2天3:kubernetes 核心技术-Pod

1、Pod 概述Pod 是 k8s 系统中可以创建和管理的最小单元,是资源对象模型中由用户创建或部署的最小资源对象模型,也是在 k8s 上运行容器化应用的资源对象,其他的资源对象都是用来支撑或者扩展 Pod 对象功能的,比如控制器对象是用来管控 Pod 对象的,Service 或者Ingress 资源对象是用来暴露 Pod 引用对象的,PersistentVolume 资源对象是用来为 Pod 提供存储等等,k8s 不会直接处理容器,而是 Pod,Pod 是由一个或多个 container 组成Pod

2021-03-18 21:40:51 217

原创 【搞定K8S】第2天2:kubernetes 集群命令行工具 kubectl

1、kubectl 概述kubectl 是 Kubernetes 集群的命令行工具,通过 kubectl 能够对集群本身进行管理,并能够在集群上进行容器化应用的安装部署。2、kubectl 命令的语法(1)comand:指定要对资源执行的操作,例如 create、get、describe 和 delete(2)TYPE:指定资源类型,资源类型是大小写敏感的,开发者能够以单数、复数和缩略的 形式。例如:(3)NAME:指定资源的名称,名称也大小写敏感的。如果省略名称,则会显示所有的资源, 例

2021-03-18 21:34:53 158

原创 【搞定K8S】第2天1:kubernetes 集群 YAML 文件详解

1、YAML 文件概述k8s 集群中对资源管理和资源对象编排部署都可以通过声明样式(YAML)文件来解决,也就是可以把需要对资源对象操作编辑到 YAML 格式文件中,我们把这种文件叫做资源清单文件,通过 kubectl 命令直接使用资源清单文件就可以实现对大量的资源对象进行编排部署了。2、YAML 文件书写格式(1)YAML 介绍YAML :仍是一种标记语言。为了强调这种语言以数据做为中心,而不是以标记语言为重点。YAML 是一个可读性高,用来表达数据序列的格式。(2)YAML 基本语法*使用空

2021-03-18 21:31:23 277

原创 【搞定K8S】第1天3:kubernetes 集群搭建(二进制方式)

1、安装要求在开始之前,部署 Kubernetes 集群机器需要满足以下几个条件:(1)一台或多台机器,操作系统 CentOS7.x-86_x64(2)硬件配置:2GB 或更多 RAM,2 个 CPU 或更多 CPU,硬盘 30GB 或更多(3)集群中所有机器之间网络互通(4)可以访问外网,需要拉取镜像,如果服务器不能上网,需要提前下载镜像并导入节点(5)禁止 swap 分区2、准备环境(1)软件环境:软件 版本操作系统 CentOS7.8_x64 (mini)Docker

2021-03-18 00:00:33 302

原创 【搞定K8S】第1天2:kubernetes 集群搭建(kubeadm 方式)

1、前置知识点目前生产部署 Kubernetes 集群主要有两种方式:(1)kubeadmKubeadm 是一个 K8s 部署工具,提供 kubeadm init 和 kubeadm join,用于快速部署 Kubernetes 集群。官方地址:https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm/(2)二进制包从 github 下载发行版的二进制包,手动部署每个组件,组成 Kubernetes 集群。Kubeadm 降

2021-03-17 23:26:06 457 1

原创 【搞定K8S】第1天1:kubernetes 概述

1、kubernetes 基本介绍kubernetes,简称 K8s,是用 8 代替 8 个字符“ubernete”而成的缩写。是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes 的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes 提供了应用部署,规划,更新,维护的一种机制。传统的应用部署方式是通过插件或脚本来安装应用。这样做的缺点是应用的运行、配置、管理、所有生存周期将与当前操作系统绑定,这样做并不利于应用的升级更新/回滚等 操作,当然也可以

2021-03-17 23:17:57 419

原创 【搞定Go语言】第3天21:使用swagger生成接口文档

有时候一份清晰明了的接口文档能够极大地提高前后端双方的沟通效率和开发效率。本文将介绍如何使用swagger生成接口文档。swagger生成接口文档swagger介绍Swagger本质上是一种用于描述使用JSON表示的RESTful API的接口描述语言。Swagger与一组开源软件工具一起使用,以设计、构建、记录和使用RESTful Web服务。Swagger包括自动文档,代码生成和测试用例生成。在前后端分离的项目开发过程中,如果后端同学能够提供一份清晰明了的接口文档,那么就能极大地提高大家的沟通效

2021-02-28 23:12:47 513

原创 【搞定Go语言】第3天20:validator库参数校验若干实用技巧

本文介绍了使用validator库做参数校验的一些十分实用的使用技巧,包括翻译校验错误提示信息、自定义提示信息的字段名称、自定义校验方法等。validator库参数校验若干实用技巧在web开发中一个不可避免的环节就是对请求参数进行校验,通常我们会在代码中定义与请求参数相对应的模型(结构体),借助模型绑定快捷地解析请求中的参数,例如 gin 框架中的Bind和ShouldBind系列方法。本文就以 gin 框架的请求参数校验为例,介绍一些validator库的实用技巧。gin框架使用github.com

2021-02-27 22:26:06 846

原创 【搞定Go语言】第3天19:gin框架源码解析

通过阅读gin框架的源码来探究gin框架路由与中间件的秘密。gin框架路由详解gin框架使用的是定制版本的httprouter,其路由的原理是大量使用公共前缀的树结构,它基本上是一个紧凑的Trie tree(或者只是Radix Tree)。具有公共前缀的节点也共享一个公共父节点。Radix Tree基数树(Radix Tree)又称为PAT位树(Patricia Trie or crit bit tree),是一种更节省空间的前缀树(Trie Tree)。对于基数树的每个节点,如果该节点是唯一的子树

2021-02-23 23:04:17 507

原创 【搞定Go语言】第3天18:gin框架中使用zap日志库

本文介绍了在基于gin框架开发的项目中如何配置并使用zap来接收并记录gin框架默认的日志和如何配置日志归档。我们在基于gin框架开发项目时通常都会选择使用专业的日志库来记录项目中的日志,go语言常用的日志库有zap、logrus等。网上也有很多类似的教程,我之前也翻译过一篇《在Go语言项目中使用Zap日志库》。但是我们该如何在日志中记录gin框架本身输出的那些日志呢?gin默认的中间件首先我们来看一个最简单的gin项目:func main() { r := gin.Default() r.G

2021-02-22 20:58:44 3948 1

原创 【搞定Go语言】第3天17:Cookie和Session

Cookie和Session是Web开发绕不开的一个环节,本文介绍了Cookie和Session的原理及在Go语言中如何操作Cookie。CookieCookie的由来HTTP协议是无状态的,这就存在一个问题。无状态的意思是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系,它不会受前面的请求响应情况直接影响,也不会直接影响后面的请求响应情况。一句有意思的话来描述就是人生只如初见,对服务器来说,每次的请求都是全新的。状态可以理解为客户端和服务器在某次会话中产生的数据,那无

2021-02-21 21:33:20 230

Shell从入门到精通_202006102245491.docx

Shell从入门到精通_202006102245491.docx

2020-06-10

workmanage_project.zip

工单管理平台,sla约束,无前后端分离工单管理平台,sla约束,无前后端分离工单管理平台,sla约束,无前后端分离工单管理平台,sla约束,无前后端分离

2020-05-07

scrapy_project.zip

scrapy_project.zip

2020-05-07

knowledge_base.zip

知识库管理平台,类似于博客管理平台,无前后端分离,有权限管理模块,可文件下载,知识库管理平台,类似于博客管理平台,无前后端分离,有权限管理模块,可文件下载,

2020-05-07

delivery_support_manage_vue.zip

用户支撑管理平台,纯前端平台,无后端平台

2020-05-07

用户单点登陆平台SSO

用户单点登陆平台SSO,将所有的系统完成单点登陆平台的对接,无前后端分离,纯python后台,所有权限保存在redis服务器中

2020-05-07

solution_programme.zip

解决方案管理平台,python语言,Django框架,在线文档预览、权限管理平台,包含vue前端框架,前后端分离

2020-05-07

security.zip

安全管理平台python,Django工程,运维体系自检,包括基于角色的权限管理模块,包含vue工程

2020-05-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除