自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 收藏
  • 关注

原创 配置hpa后,target显示<unknown>/50%

大意是说hpa是按照pod label查找的,于是根据bill的pod label查询出来发现还多了一个pre-job pod,这个pre-job是升级的时候用来更新数据库/crd等资源的pod。网上查了hpa的文档后,发现是Deployment里面没有配置resource request/limit。然后给对应的这个pre-job 模板里也加上resource request/limit后,确实可以了。

2023-10-16 14:36:57 732

转载 docker本地安装kafka并测试

【代码】docker本地安装kafka并测试。

2023-05-02 13:45:09 722 1

原创 Mac OS 无法打开“xxx”,因为无法验证开发者。

Mac OS 在10.12 版本后,不允许随便安装二进制包了,会跳出。这时,只需打开终端,输入。

2022-11-02 15:54:03 1219

转载 Prometheus 长期远程存储方案 VictoriaMetrics 入门实践

文章目录前言一、架构二、单节点1. 创建命名空间 & node-exporter2. 部署 prometheus3. 部署 Grafana4. 远程存储 VictoriaMetrics5. 替换 Prometheus6. UI 界面总结文章转载自公众号 k8s技术圈 https://mp.weixin.qq.com/s/C3fzohygl5_tey70Qnz3og前言VictoriaMetrics(简称VM) 是一个支持高可用、经济高效且可扩展的监控解决方案和时间序列数据库,可用于 Prom

2022-05-04 11:24:07 2614 1

原创 日历拼图算法

日历拼图算法前言一、日历拼图是什么?1. 不带星期2. 带星期二、主要思想三、主要代码1. 定义拼图块2. 定义底板3. 拼图块初始化4. 遍历拼图块找一个解总结前言前几天刷抖音,发现有人在玩日历拼图,看起来还挺好玩的。一个拼图号称能拼出全年365天,于是上某宝一看,还有难度更高一级的,带星期的玩法,于是入手了一个玩。别说,还挺有意思的,就是有点浪费时间,有时候得花半个小时的时间去拼当天的拼图。边玩边想,这个东西其实没什么技术含量,就是暴力法一直尝试,完全可以交给代码来完成。于是上 github 一

2022-03-15 00:24:37 8122 1

转载 《深入剖析Kubernetes》-解读Kubernetes三层网络方案

《深入剖析Kubernetes》-张磊解读Kubernetes三层网络方案写在前面:张磊的极客时间课程《深入剖析Kubernetes》,是我见过讲docker和k8s最好的网络课程,学习之后,感觉对容器和k8s认识深了不少。好记性不如烂笔头,做个记录,加深印象。正文你好,我是张磊。今天我和你分享的主题是:解读 Kubernetes 三层网络方案。在上一篇文章中,我以网桥类型的 Flannel 插件为例,为你讲解了 Kubernetes 里容器网络和 CNI 插件的主要工作原理。不过,除了这种模式

2021-12-14 16:19:01 1248

转载 《深入剖析Kubernetes》-张磊——Kubernetes网络模型与CNI网络插件

《深入剖析Kubernetes》-张磊Kubernetes网络模型与CNI网络插件写在前面:张磊的极客时间课程《深入剖析Kubernetes》,是我见过讲docker和k8s最好的网络课程,学习之后,感觉对容器和k8s认识深了不少。好记性不如烂笔头,做个记录,加深印象。正文你好,我是张磊。今天我和你分享的主题是:Kubernetes 网络模型与 CNI 网络插件。在上一篇文章中,我以 Flannel 项目为例,为你详细讲解了容器跨主机网络的两种实现方法:UDP 和 VXLAN。不难看出,这些例

2021-12-09 01:07:35 2466

转载 《深入剖析Kubernetes》-深入解析容器跨主机网络

《深入剖析Kubernetes》-张磊浅谈容器网络写在前面:张磊的极客时间课程《深入剖析Kubernetes》,是我见过讲docker和k8s最好的网络课程,学习之后,感觉对容器和k8s认识深了不少。好记性不如烂笔头,做个记录,加深印象。正文...

2021-12-07 14:54:17 651

转载 《深入剖析Kubernetes》-张磊——浅谈容器网络

《深入剖析Kubernetes》-张磊浅谈容器网络写在前面:张磊的极客时间课程《深入剖析Kubernetes》,是我见过讲docker和k8s最好的网络课程,学习之后,感觉对容器和k8s认识深了不少。好记性不如烂笔头,做个记录,加深印象。正文你好,我是张磊。今天我和你分享的主题是:浅谈容器网络。在前面讲解容器基础时,我曾经提到过一个 Linux 容器能看见的『网络栈』,实际上是被隔离在它自己的 Network Namespace 当中的。而所谓『网络栈』,就包括了:网卡(Network Int

2021-11-26 00:42:02 2287

原创 Prometheus 学习之——高可用方案 Thanos

Prometheus 学习之——高可用方案 Thanos文章目录Prometheus 学习之——高可用方案 Thanos前言一、Thanos 的 4 个组件二、节点发现三、历史数据存储四、历史数据降准前言在 Thanos 产生前,在 Improbable 公司内部存在多套 Kubernetes 集群,每个集群都部署了一套独立的 Prometheus,再通过 Grafana 之类的展示工具分别查看每个集群的资源,缺乏一个全局资源视图;另一方面,Prometheus 的高可用需要得到保证,需要一套数据

2021-11-21 17:02:13 1889

原创 minikube 使用本机镜像

本地 bash 执行命令:eval $(minikube docker-env)该命令会将 Minikube 的 docker 主机重用于当前的 bash 会话。换而言之,之后的所有操作都是在 minikube 的 docker 上。

2021-11-03 12:57:15 311

原创 手把手教你:git rebase 合并多个提交

git rebase 合并多个提交前言一、rebase 合并提交场景一:二、使用步骤1.引入库2.读入数据总结前言在实际的项目开发过程中,会出现多人在同一个代码库中开发的情况,每个人都会在自己的分支上进行功能开发,之后再提个 pr 让同事 review 一下代码,再合并到主分支上。这个过程就需要用到 rebase 命令,帮助我们更好的优化提交记录。一、rebase 合并提交场景一:二、使用步骤1.引入库代码如下(示例):import numpy as npimport pandas a

2021-10-26 12:47:55 13787

原创 Not yet initialized (you may need to run securityadmin)

文章目录错误详情解决方案错误原因1 你能不能把 OpenSearch 放在你现有的索引上?2 在现有系统上设置OpenSearch安全性参考文献错误详情集群中使用 Open Distro for Elasticsearch 发行版。当之前在这个环境上使用过,再次安装的时候,可能是之前 es 挂载的数据没清干净,别的 pod 在连该 es 的 client 的时候,就会报错 CrashLoopBackOff。查看日志说 es 健康检查出错,连不上。查看 es-client pod 的日志,发现报错如

2021-10-24 20:13:16 3545

原创 Kubernetes configuration file is group-readable.

自己安装了个 k8s 集群,在helm ls 的时候,老是报错:Kubernetes configuration file is group-readable.解决办法:chmod g-r ~/.kube/configchmod o-r ~/.kube/config

2021-09-18 18:25:38 2460

原创 Unable to update cni config: No networks found in /etc/cni/net.d

vi /etc/systemd/system/kubelet.service.d/10-kubeadm.conf添加Environment=“KUBELET_NETWORK_ARGS=–network-plugin=cni --cni-conf-dir=/etc/cni/net.d --cni-bin-dir=/opt/cni/bin”使用 kubeadm 启动 k8s 集群,kubectl get nodes 发现 NotReady,进一步 describe 发现,报错 No networks fo

2021-09-18 15:41:18 9853

转载 Mac中进入Docker虚拟机控制台(Docker Desktop 2.4及以上)

Mac中进入Docker Linux虚拟机(Docker Desktop 2.4及以上)stty -echo -icanon && nc -U ~/Library/Containers/com.docker.docker/Data/debug-shell.sock && stty sane # ls -al /var/lib/docker/overlay2/之前用这条会导致终端显示和快捷键异常(不要用下面这条)nc -U ~/Library/Containers/co

2021-09-13 10:22:13 1033

原创 Prometheus 学习之——基于 go 编写一个 exporter

Prometheus 学习之——基于 go 编写一个 exporter文章目录Prometheus 学习之——基于 go 编写一个 exporter前言一、exporter 简介二、基于 Go 客户端编写一个 exporter1. Guage 仪表盘类型2. Count 计数器类型3. Summary 类型4. Histogram 类型总结前言Prometheus 是 CNCF 收录的第二个项目,已经成为了云原生时代监控行业的标准。一、exporter 简介    在很多流行的监控系统中都已

2021-09-09 16:03:53 3991 5

原创 Prometheus 学习之——远端存储

Prometheus 学习之——远端存储文章目录Prometheus 学习之——远端存储前言一、总体架构二、远端接口规范三、相关参数四、存储汇聚前言Prometheus 是 CNCF 收录的第二个项目,已经成为了云原生时代监控的标准。一、总体架构    面对更多历史数据的持久化,Prometheus 单纯依靠本地存储远不足以应对,为此引入了远端存储。为了适应不同的远端存储,Prometheus 并没有选择对接各种存储,而是定义了一套读写存储接口,并引入了 Adapter 适配器,将 Prom

2021-09-08 18:28:15 1936

原创 Prometheus 学习之——本地存储 TSDB

Prometheus 学习之——本地存储 TSDB文章目录Prometheus 学习之——本地存储 TSDB前言一、TSDB 核心概念二、详细介绍1.block1)chunks2)index3)tombstone4)meta.json2.WAL总结前言Prometheus 是 CNCF 收录的第二个项目,已经成为了云原生时代监控的标准。本文介绍了 Prometheus 本地存储的 V3 版本。该版本主要由 Fabian 主导开发,将监控数据以时间段拆分成不同的 block,并且会压缩、合并历史数

2021-09-07 19:52:30 5039 1

转载 Mac 配置 oh-my-zsh 和命令行自动补全

一、把 oh-my-zsh 下载到本地git clone https://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh二、复制 .zshrccp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc三、更改你的默认 shellchsh -s /bin/zsh四、然后重启终端,你会发现你的命令行变了五、配置命令自动补全的插件①、下载该插件到 oh-my-zsh 的插件目录git c

2021-09-04 14:29:54 1464 3

转载 《深入剖析Kubernetes》-张磊——白话容器基础(三):深入理解容器镜像

《深入剖析Kubernetes》-张磊白话容器基础(三):深入理解容器镜像写在前面:张磊的极客时间课程《深入剖析Kubernetes》,是我见过讲docker和k8s最好的网络课程,学习之后,感觉对容器和k8s认识深了不少。好记性不如烂笔头,做个记录,加深印象。正文你好,我是张磊。我在今天这篇文章的最后,放置了一张 Kubernetes 的技能图谱,希望对你有帮助。在前两次的分享中,我讲解了 Linux 容器最基础的两种技术:Namespace 和 Cgroups。希望此时,你已经彻底理解了“容

2021-03-29 12:19:41 3532

转载 《深入剖析Kubernetes》-张磊——白话容器基础(二):隔离与限制

《深入剖析Kubernetes》-张磊白话容器基础(二):隔离与限制写在前面:张磊的极客时间课程《深入剖析Kubernetes》,是我见过讲docker和k8s最好的网络课程,学习之后,感觉对容器和k8s认识深了不少。好记性不如烂笔头,做个记录,加深印象。正文你好,我是张磊。我今天和你分享的主题是:白话容器基础之隔离与限制。在上一篇文章中,我详细介绍了 Linux 容器中用来实现“隔离”的技术手段:Namespace。而通过这些讲解,你应该能够明白,Namespace 技术实际上修改了应用进程看

2021-03-13 12:22:19 1063

原创 golang net包使用出错:net/http: invalid header field value

golang net包使用出错:net/http: invalid header field value背景代码背景写了个打卡程序玩:使用cookies.txt的文件保存网站的cookie,然后使用os.OpenFile打开该文件,然后使用ioutil.ReadAll将内容读出来赋值给cookieStr,然后将cookieStr作为header里的值,使用net包发送出去,再将cookie存回去。结果一上服务器跑就报错:net/http: invalid header field val

2021-01-28 10:21:44 2791

原创 leetcode376. 摆动序列-动态规划-go语言简单易懂

文章目录前言一、题目二、思考2.1 动态规划2.2 空间复杂度优化三.代码实现go3.1 动态规划3.2 空间复杂度优化总结前言又是可恶的动态规划题,花了我不少时间AC,记录一下一、题目如果连续数字之间的差严格地在正数和负数之间交替,则数字序列称为摆动序列。第一个差(如果存在的话)可能是正数或负数。少于两个元素的序列也是摆动序列。例如, [1,7,4,9,2,5] 是一个摆动序列,因为差值 (6,-3,5,-7,3) 是正负交替出现的。相反, [1,4,7,2,5] 和 [1,7,4,5,5]

2020-12-12 21:55:46 271

原创 【k8s学习系列】第2篇,规模和更新部署

k8s学习系列第零篇 k8s环境搭建第壹篇 部署第一个应用程序第贰篇 规模和更新部署文章目录k8s学习系列前言规模和更新部署1. 使用副本缩放应用程序2. 更新和回滚应用程序总结前言本人目前换工作即将从事云原生相关的工作,把k8s技能再重新拾起来。整个系列文章基于IBM Kubernetes 101 content提示:此系列文章所用操作系统及版本号:操作系统:mac OS Catalina(10.15.4)规模和更新部署在这个实验室中,您将学习如何更新部署中的应用数量,以

2020-12-10 11:11:09 278

原创 【k8s学习系列】第1篇,部署第一个应用程序

k8s学习系列第零篇 k8s环境搭建第壹篇 部署第一个应用程序文章目录k8s学习系列前言部署 guestbook 应用程序1 开始运行 guestbook:2 设置 deployment 端口3 查找服务 service4 查找public-ip5 web访问总结前言本人目前换工作即将从事云原生相关的工作,把k8s技能再重新拾起来。整个系列文章基于IBM Kubernetes 101 content提示:此系列文章所用操作系统及版本号:操作系统:mac OS Catalina(10.1

2020-12-09 17:36:31 324

原创 【k8s学习系列】第0篇,搭建k8s环境

k8s学习系列第零章 k8s环境搭建文章目录k8s学习系列前言一、kubernetes是什么?二、kubernetes的特点和优势三、安装总结前言本人目前换工作即将从事云原生相关的工作,把k8s技能再重新拾起来提示:此系列文章所用操作系统及版本号:操作系统:mac OS Catalina(10.15.4)一、kubernetes是什么?K8S,就是基于容器的集群管理平台,一个开源的容器集群管理平台【容器编排工具】,可提供容器集群的自动部署,扩缩容,维护等功能。一个K8S系统,通

2020-12-09 17:13:12 220

原创 某大厂二面编程题-用固定长度数组模拟队列实现

某大厂二面编程题-用固定长度数组模拟队列实现前言一、题目二、解决1.切片实现2.固定长度数组实现可能会有人说为什么结构体里的字段不大写。总结前言刚面完某大厂二面golang后端,面试官人很好,给我出的面试题没那么难,但刚拿到手还是很懵B的,第一反应是拿切片实现,面试官同意了。虽然有点波折,但还是用切片做出来了。过程中有了数组实现的思路,就给面试官说了,他就我的思路问了几个问题,我回答的7788。二面也让我通过了,感恩。等待HR面,期待Offer。一、题目要求用固定长度数组模拟队列,要求实现入队、

2020-11-29 22:36:44 214

原创 leetcode字符串生成二叉树、链表

leetcode字符串生成二叉树、链表前言一、leetcode字符串生成二叉树1.1、golang版本1.1.1 使用方式1.2、java版本(待更新)二、leetcode字符串生成链表2.1、golang版本2.1.1 使用方式2.2 java版本(待更新)总结前言大家在刷leetcode题时,总是会遇到需要将测试用例放到自己的IDE中debug的情况,但leetcode控制台里给出的都是字符串形式,还要手动改成自己需要的数组、二叉树、链表形式,特别不方便。于是我便写了一段代码,可以直接把其字符串

2020-11-24 00:02:04 379

原创 kubelet失败,原因是kubelet cgroup驱动程序“ cgroupfs”与docker cgroup驱动程序不同

kubelet失败,原因是kubelet cgroup驱动程序“ cgroupfs”与docker cgroup驱动程序不同前言一、查看docker cgroup驱动二、查看kubelet cgroup驱动三、解决办法3.1 修改docker的Cgroup Driver3.2 修改kubelet的Cgroup Driver前言公司的k8s服务好端端的不工作了,网上找了半天,发现是kubelet cgroup驱动程序“ cgroupfs”与docker cgroup驱动程序不同,所导致,原因不详cgr

2020-11-23 16:28:44 7052 1

原创 跑步最高分算法(动态规划)-“奋斗杯”编程大赛题目

跑步最高分算法(动态规划)-“奋斗杯”编程大赛题目0、题目1、思考1.1 数组定义1.2 状态转移2 代码实现周末去参加了个“奋斗杯”上海市青年计算机程序设计大赛,水了个二等奖。这是其中一道题,因为时间不够没做出来,思路都对,差了一点就完成了。动态规划一直是我的弱项,趁此机会,把它记录下来。0、题目A同学参加一个跑步比赛,路径分为n段,每段有不同的分值。如果该段走路不得分;该段慢跑则得相应的分数;该段快跑则得对应分数的两倍,但下一段必须走路。求A同学跑完全程可以获得的最高分。如总共有4段路, 对应的

2020-11-01 00:52:35 3006 16

原创 负二进制表示法——“奋斗杯”编程大赛题目

负二进制表示法-“奋斗杯”编程大赛题目0、题目1、思考1.1 先试一个简单的值 161.2 再试一下题干中的值31.3 试一下特殊值-132 代码实现0、题目计算机里的数都是二进制表示,其实还有一种负二进制表示法,都不需要符号位。如 3 的负二进制表示法为 111,因为 (-2)2 + (-2)1 + (-2)0 = 4-2+1 = 3 。再如 -3 的负二进制表示法为 1101,因为 (-2)3 + (-2)2 + (-2)0 = -8+4+1 = -3 。要求输入一个整数,输出其负二进制表

2020-11-01 00:06:29 1756 17

原创 MacOS版-通过搭建MySQL掌握k8s(Kubernetes)重要概念(上):网络与持久卷

前言本文参考自《通过搭建MySQL掌握k8s(Kubernetes)重要概念(上):网络与持久卷》由于原文博主是使用windows的虚拟机Vagrant的minikube,和mac OS有所不同。另外原博主的方法下载mysql:5.7的镜像下载不了,导致后面配置文件也不一样,所以有了这篇文章。docker mysql:5.7镜像拉取参考自《docker拉取mysql镜像遇到到问题及解决》侵删。准备工作mac OS 系统版本10.15.4,安装docker desktop和k8s,可参考阿里云

2020-08-19 16:09:43 791

转载 linux进程间的通信方式

本文内容来自公众号【小林coding】《凉了!张三同学没答好「进程间通信」,被面试官挂了…》整理一下,方便后续复习。进程间通信方式:管道、消息队列、共享内存、信号量、信号、Socket每个进程的用户地址空间都是独立的,一般而言是不能互相访问的,但内核空间是每个进程都共享的,所以进程之间要通信必须通过内核。1 管道$ ps auxf | grep mysqllinux命令行中的管道符 “|” 就是一个管道,它的功能是将前一个命令(ps auxf)的输出,作为后一个命令(grep mysql)

2020-08-03 10:38:53 231

转载 golang解析json.Unmarshal报错,invalid character ‘\x00’ after top-level value

在解析json时报错 invalid character ‘\x00’ after top-level value发现json字节里面有空字节,把里面删除就ok了a := []byte{115, 113, 114, 0, 0, 0}index := bytes.IndexByte(a, 0)b:= a[:index]然后再json解析真坑爹,转载自http://www.aiyuanx...

2019-12-13 16:02:05 9543

原创 搭建IPFS网络私网教程

前言项目中需要使用ipfs,所以自己搭建一个。1. 准备机器准备几台虚拟机,不分主从,我用的是centos7,下面的教程也是基于centos7.2. 下载与安装//各节点都要执行1.下载安装包 (直接使用已编译版本,也可以自己编译)https://ipfs.io/ipns/dist.ipfs.io/go-ipfs/v0.4.22/go-ipfs_v0.4.22_lin...

2019-12-11 16:28:31 3165

转载 使用xorm工具,根据数据库自动生成 go 代码

使用xorm工具,根据数据库自动生成 go 代码参考自 https://www.cnblogs.com/artong0416/p/7456674.html1、首先我们要下载该工具 :go get github.com/go-xorm/cmd/xorm2、同时需要安装对应的 driver :需要哪个就安装哪个,不需要全装go get github.com/go-sql-driver/m...

2019-12-03 15:47:56 384

原创 cannot load project1/service: cannot find module providing package project1/service 解决方案之一

build dir/project1: cannot load dir/project1/service: cannot find module providing package dir/project1/service 解决方案前言项目的包管理工具从 govendor 转为go module,不是很熟悉,踩了不少坑,最坑的就是这个了。浪费了我一下午时间。由于采用的是微服务的形式,题目中的...

2019-08-29 14:50:17 1584 1

原创 linux后台任务在退出终端时被杀死,nohup也不行,最后写了个脚本,crontab定时运行解决

linux后台任务在退出终端时被杀死,nohup也不行,最后写了个脚本,crontab定时运行解决起因在服务器上起了个后台任务,结果在退出终端的时候被杀死了,用nohup也不行,明明前几天还是好的,在网上搜了好久,尝试了各种办法,包括screen均不行,实在没辙,只能自己写了个脚本,定时执行,把程序拉起来。服务器版本: centos71、目标程序用golang起一个最简单的web服务,监...

2019-08-13 14:42:03 2361

原创 docker ubuntu MySQL数据库输入中文乱码 解决方案

docker ubuntu MySQL数据库输入中文乱码 解决方案起因:在服务器的docker中起了mysql服务,结果里面的中文显示乱码,在网上查了一大堆方法,都是解决ubuntu或centos的数据库设置,没有单独修改docker里的数据库设置。解决方法解决方法是在发送查询前执行一下下面这句(直接写在SQL文件的最前面):SET NAMES ‘utf8’;它相当于下面的三句指令:...

2019-08-07 11:23:21 266

空空如也

空空如也

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

TA关注的人

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