限速 队列k8s k8
消息队列
1.组件: 工作流程:生产者发送消息根据路由键到消息代理中的某个交换机,交换机根据规则转发到队列,通过信道传送给消费者。 死信队列:专门处理那些过期,被拒,队列满了处理不了的消息; 信道:建立在TCP上的虚拟链接,TCP由多线程共享,TCP内存在超多信道,一个信道对应一个线程使用。 2.消息队列: ......
k8s-二进制安装
#安装前必读 本文档适用于k8s 1.17+ 安装说明: 本文章将演示CentOS 7二进制方式安装高可用k8s 1.17+,相对于其他版本,二进制安装方式并无太大区别,只需要区分每个组件版本的对应关系即可。 生产环境中,建议使用小版本大于5的Kubernetes版本,比如1.19.5以后的才可用于 ......
k8s服务发现(coredns)
一、在 Kubernetes 中,服务发现方式 基于环境变量的方式 基于内部域名的方式(dns) k8s 中的 pod 基于 service 域名解析后,再负载均衡分发到 service 后端的各个 pod 服务中,如果没有 DNS 解析,则无法查到各个服务对应的 service 服务 1、DNS服 ......
k8s的 Nginx Ingress 调优
内核参数调优 我们先看看通过内核的哪些参数能够提高Ingress的性能。保证在高并发环境下,发挥Ingress的最大性能。 调大全连接队列的大小 TCP 全连接队列的最大值取决于 somaxconn 和 backlog 之间的最小值,也就是 min(somaxconn, backlog)。在高并发环 ......
循环队列(顺序)的实现:舞伴问题
一、问题引入 舞伴配对问题: 假设在周末舞会上, 男士们和女士们进入舞厅时,各自排成一队。跳舞开始时,依次从男队和女队的队头各出一人配成舞伴。若两队初始人数不相同,则较长的那一队中未配对者等待下一轮舞曲。现要求写一算法模拟上述舞伴配对问题 先入队的男士或女士应先出队配成舞伴, 因此该问题具有典型的先 ......
k8s搭建prometheus+grafana监控系统
安装git yum install git -y 登录github,查看kube-prometheus项目 https://github.com/prometheus-operator/kube-prometheus 查看kubenetes对应版本 拉取对应的kube-prometheus版本 gi ......
33、K8S-配置管理之Secret、DownwardAPI
1、secret 1.1、基础知识 1.1.1、Secret简介 secret volume为Pod提供加密的信息,相比于直接将敏感数据配置在Pod的定义或者镜像中,Secret提供 了更加安全的机制,将共享的数据进行加密,防止数据泄露。 Secret的对象需要单独定义并创建,然后以数据卷的形式挂载 ......
【单调队列】LeetCode 面试题59 - II. 队列的最大值
题目链接 面试题59 - II. 队列的最大值 思路 可以看参考题解:如何解决 O(1) 复杂度的 API 设计题 一开始想到使用单变量 max 来存储最大值,但是会产生两点问题: 当 max 弹出队列之后,下一个最大值是多少没法知道 如果有多个 max,那么当一个最大值弹出队列之后,队列中还有没有 ......
面试题59 - II. 队列的最大值(剑指offer)
题目描述: 请定义一个队列并实现函数 max_value 得到队列里的最大值,要求函数max_value、push_back 和 pop_front 的均摊时间复杂度都是O(1)。 若队列为空,pop_front 和 max_value 需要返回 -1 示例 1: 输入: ["MaxQueue"," ......
进程消息队列实例
//write.c #include <sys/types.h> #include <sys/ipc.h> #include <sys/msg.h> #include <stdio.h> struct mymesg{ long mtype;//消息的类型,是一个整数且大于0 char mtex[51 ......
【单调队列】LeetCode 239. 滑动窗口最大值
题目链接 239. 滑动窗口最大值 思路 单调队列的使用方法,将滑动窗口 代码 class Solution { public int[] maxSlidingWindow(int[] nums, int k) { int[] result = new int[nums.length - k + 1 ......
k8s informer源码解析
背景 informer是k8s client-go包里的一个模块,客户端可以通过它来感知事件的变化,而不用直接和apiserver交互,这样减轻了apiserver的负担。 组件介绍 它由以下几个组件组成: Reflector: 它会采用list/watch的方式获取资源事件,并把它们写入到fifo ......
MQ消息队列
MQ,消息队列,存储消息的中间件。 分布式系统通信两种方式:直接远程调用和借助第三方完成间接通信 发送方称为生产者,接收方称为消费者 MQ的优势 1.应用解耦 提高系统容错性和可维护性 使用MQ后,消息通过中间件转发,消费者从MQ中取消息,如果库存系统出现异常,等库存系统自我修复后再去MQ中取消息, ......
k8s service原理
1. 为什么需要service Pod是非永久性资源,会动态创建和销毁,pod的ip会变化,而service会动态感知pod的变化,而对调用方无感知,调用方只需要访问固定的service name就可以动态地访问后端的pod。 实现这个功能不单只靠service这个组件,还需要kube-dns、en ......
.NetCore 使用 RabbitMQ (交换机/队列/消息持久化+mq高级特性+死信队列+延迟队列)
一、安装mq 2、创建公共项目Commons用于提供者和消费者引用,nuget安装 RabbitMQ.Client,添加一个帮助类: public class RabbitMQHelper { //连接mq public static IConnection GetMQConnection() { ......
32、K8S-配置管理之Configmap
1、基础知识 1.1、场景需求 生产中所有的应用程序中,都涉及到配置文件,而配置文件经常会有变更,比如数据库连接、代码版本号等. 最典型场景就是: 项目经历开发环境、测试环境、预发布环境、线上环境才能完成发布,而每个环境都有定义其独立的各种配 置,这些配置手工操作很繁杂,所以好多大公司专门开发了专用 ......
用 Go 剑指 Offer 09. 用两个栈实现队列
用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 ) 示例 1: 输入:["CQueue","appendTail","delet ......
K8S学习笔记之卸载K8S集群
阅读目录 0x00 概述 0x01 操作 0x00 概述 有时候需要卸载已安装在本机的K8S服务和服务,本文卸载的K8S面向使用kubeadm或者二进制方法安装的,不涉及使用rpm包安装的集群; 主要使用kubeadm reset和删除指定文件的方法,卸载K8S集群。 0x01 操作 首先清理运行到 ......
基于国内环境搭建三节点的K8S
我的机器环境 10.2.22.103 k8s-master10.2.22.104 k8s-node110.2.22.105 k8s-node2 3台Ubuntu服务器配置为2核CPU,8GB内存 系统版本:20.04 前提条件:关闭swap sed -ri 's/.*swap.*/#&/' /etc ......
【解答】大 SQL 运行查询时,如何判断是否需要进入队列排队等待,还是进入内核执行运算
在数据库运行大 SQL 查询时,可以通过以下几个方面来判断是否需要进入队列排队等待,还是进入内核执行运算: (1)查询语句的复杂度:如果 SQL 查询语句非常复杂,包含多个表的联合查询、子查询、聚合函数等,需要对大量数据进行分组、排序、过滤等操作,那么这个 SQL 查询很可能需要进入队列排队等待,等 ......
剑指 Offer 09. 用两个栈实现队列
题目描述: 用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead , 分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 ) 示例 1: 输入: ["CQueue","appendTail ......
k8s-hpa
kubectl scale 对运行在k8s 环境中的pod 数量进行扩容(增加)或缩容(减小)。 HPA:(Horizontal Pod Autoscaler)Pod自动弹性伸缩,K8S通过对Pod中运行的容器各项指标(CPU占用、内存占用、网络请求量)的检测,实现对Pod实例个数的动态新增和减少。 ......
k8s-pv/pvc
默认情况下容器中的磁盘文件是非持久化的,对于运行在容器中的应用来说面临两个问题, 第一:当容器挂掉kubelet将重启启动它时,文件将会丢失; 第二:当Pod中同时运行多个容器,容器之间需要共享文件时,Kubernetes的Volume解决了这两个问题。 PV/PVC PersistentVolum ......
k8s~Ingress转发出现502的问题
目前在对接keycloak过程中,通过云端LB到ingress,再由ingress到k8s-service,在配置完成之后,偶发出现502的情况。 ingress的配置,先是实现了客户端的会话保持 apiVersion: extensions/v1beta1 kind: Ingress metada ......
云原生周刊:K8s 在 v1.27 中移除的特性和主要变更
文章推荐 K8s 在 v1.27 中移除的特性和主要变更 随着 Kubernetes 发展和成熟,为了此项目的整体健康,某些特性可能会被弃用、移除或替换为优化过的特性。基于目前在 v1.27 发布流程中获得的信息,本文将列举并描述一些计划在 Kubernetes v1.27 发布中的变更, 发布工作 ......
31、K8S-数据存储之PV、PVC
1、基础知识 1.1、流程梳理 1.1.1、PV-Persistent Volume 之前我们提到的Volume可以提供多种类型的资源存储(可持久或不持久),但是它定义在Pod上的,是属于"资 源对象"的一部分。工作中的存储资源一般都是独立的,这就是资源对象Persistent Volume(PV) ......
k8s安装与部署
设置主机名,注意不用使用下划线: hostnamectl set-hostname k8s-master 初始化: kubeadm init \ --apiserver-advertise-address=172.16.17.14 \ --image-repository registry.aliy ......
代码随想录Day13-Leetcode239. 滑动窗口最大值,347.前 K 个高频元素,栈和队列总结
239. 滑动窗口最大值 一开始没有思路,暴力了,然后果然超时; 看提示中的单调队列没有特别明白;后面反应过来跟单调栈很像; 也确实很符合本题的情况,一旦队尾出现更大的数,前面更小的数就不需要了, 他们不会成为最大数被弹出后的备选。 值得注意的是本题数次出现区间错误,一开始我的操作居然是删除q[l] ......
栈与队列
栈stack 栈是一种容器,也称堆栈,可以存入数据元素、访问、删除元素 特点在于只允许容易的一端(栈顶端指标)进行加入数据和输出 没有位置概念,保证任何时候可以访问、删除的元素都会最后存入的元素,确定了一种默认的访问顺序 由于栈数据结构只允许在一端操作,按照后进先出的原理运作 队列queue 队列是 ......