自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 HTTP状态码集合

HTTP状态码(英语:HTTP Status Code)是用以表示网页服务器超文本传输协议响应状态的3位数字代码。作用:http状态码的核心作用是Web Server服务器用来告诉客户端,当前的网页请求发生了什么事,或者说当前Web服务器的响应状态。所以HTTP状态码常用来判断和分析当前Web服务器的运行状况。常见状态码:200 - 服务器成功返回网页404 - 请求的网页不存在503 - 服务不可用http状态码查看:1.浏览器的F12调试(或者右键检查),network查看Status,

2022-05-23 12:47:14 1049

原创 Kind &Kubectl 安装

工作中需要用到kind集群,以下介绍如何安装1.kind 安装curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.9.0/kind-linux-amd64chmod +x ./kindmv ./kind /$PATH/kind2.kubectl 安装curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd6

2022-03-07 11:40:11 608

原创 Linux 设置定时Crontab任务

定时任务命令 crontab1.查看定时任务crontab -l2.编辑定时任务crontab -e定时任务设置中,执行时间设置需要设置在定时任务前,类似于0 */1 * * * docker ps | grep 'buildx' | grep 'hours' | awk '{print $1}' | xargs docker rm -f0 */1 * * * docker volume ls | xargs -r docker volume rm时间格式:* * * * * 五个

2022-02-24 19:49:27 434

原创 Kubernetes相关常用命令

1.进入某个pod内部kubectl exec -it $podname -n $namespace bash

2022-02-24 14:23:44 370

原创 关于/var/run/docker.sock那些事儿

一旦涉及到docker,经常会发现有时会需要挂载文件 /var/run/docker.sockdocker是client+server架构,使用命令docker version就可看出docker由client和server组成,输入docker version命令实,际上是通过客户端将请求发送到docker的守护进程doceker daemon服务上,由docker daemon返回信息,客户端收到信息后展示在控制台上。相当于一个server,监听来自/var/run/docker.sock的请求,

2022-02-17 19:10:57 5284 1

原创 Git 相关操作记录

删除分支删除远程分支git push origin --delete [branch_name]删除本地分支区别git branch -d (在删除前会检查merge状态)git branch -D (git branch --delete --force的简写)

2022-02-15 16:14:31 125

原创 Linux常用命令

1.查看较大文件中某行的前后N行的内容cat bigfile.sh|grep -w -A50 -B50 "this is a example"2.打包某路径下的文件(包含路径下涉及到目录的文件一起打包)tar $name /var/www/html/config.sh执行过后,会将整个var、www、html目录下的所有文件一起打包...

2022-02-11 16:18:24 547

原创 Docker常用相关命令

1.如何删除本地docker 镜像如果要删除本地的镜像,首先查看当前所有镜像docker images可以使用 docker image rm 命令docker image rm ID/name

2022-02-11 15:22:26 951

原创 docker load -i 导入后 看不到image镜像

现象:docker load -i 导入后显示正常导出image , 但是docker images根本看不到image镜像docker images原因:这是因为导出镜像save的时候使用的是image id ,没有使用镜像名称,所以不会显示出来image解决方案:docker tag image-id image-name再次查看镜像,已经存在docker images...

2022-02-10 19:05:27 4550

原创 删除K8S集群中某个node节点

需要将集群中这个node节点上的pod进行迁移,再将节点进行删除。1.驱逐节点上的podkubectl cordon 10-23-xx-xx2.迁移node上的podkubectl drain 10-23-xx-xx --delete-local-data --ignore-daemonsets --force3.删除node节点kubectl delete nodes 10-23-xx-xx4.登录该节点执行resetkubeadm reset...

2022-01-24 12:20:25 1140

原创 Error from server: Get “https:IP:10250/*“:dial tcp IP:10250: connect: no route to host

Error from server: Get “https://10.23.XX:10250/containerLogs/kpanda-system/kpanda-controller-manager-6c77785f75-htwbd/kpanda-controller-manager”: dial tcp 10.23.XX:10250: connect: no route to host问题发现:在集群中部署应用,查看状态,发现某个pod一直起不来。kubectl get pod -A问题追踪及

2022-01-20 14:34:05 6677 1

原创 Error: kubernetes cluster unreachable: Invalid x509 certificate

Error: kubernetes cluster unreachable: x509: certificate is valid for 10.96.0.1, 10.23.214.68, 10.23.151.13, not 113.31.167.24从我的本地环境访问在公有云上搭建的k8s集群,出现以上报错,告诉我,我的apiserver ip 113.31.167.24认证不通过,所以无法访问。解决方案:方案一(长期不推荐,暂时测试可用):告诉kubectl 跳过证书认证,此动作会存在安全隐患

2022-01-19 15:01:46 1898

原创 Error: Kubernetes cluster unreachable: unable to load root certificates: unable to parse bytes as PE

Error: Kubernetes cluster unreachable: unable to load root certificates: unable to parse bytes as PEM block将输出复制kubectl config view到远程 VM时出现上列报错。将输出kubectl config view复制到远程 VM替换为提供config通常存在于$HOME/.kube/config文件内容,解决该问题耶!!!...

2022-01-18 19:52:26 3901 1

原创 Python记录

is 与 == 区别:is 用于判断两个变量引用对象是否为同一个(同一块内存空间), == 用于判断引用变量的值是否相等。

2022-01-14 18:27:12 285

原创 Python @retry装饰器

安装:pip install retrying在@retry()装饰器中,比较重要的几个参数如下:stop_max_attempt_number:在停止之前尝试的最大次数,最后一次如果还是有异常则会抛出异常,停止运行,默认为5次wait_random_min:在两次调用方法停留时长,停留最短时间,默认为0,单位毫秒wait_random_max:在两次调用方法停留时长,停留最长时间,默认为1000毫秒retry_on_result:指定一个函数,如果指定的函数返回True,则重试,否则抛

2022-01-14 16:57:21 1145

原创 GitLab-CI之GitLab Runner

gitlab-ci工作流程图:调度机制:A:打上tag标签,就会调度到指定节点B:未打上标签,会有公平调度算法ExecutorDocker将Executor连接到Docker Daemon,并在一个单独容器中跑每一次的构建过程,并使用在.gitlab-ci.yml文件中定义的镜像,Docker Executor具体是通过config.toml文件来配置的。Kuberentes让Runner连接到连Kubernetes API Server,为每一个Job动态创建一个Pod来执行GitLab

2022-01-14 11:50:02 865

原创 Docker安装Gitlab-Runner

1、拉取Runner镜像并启动docker run -d --name gitlab-runner --restart always -v /srv/gitlab-runner/config:/etc/gitlab-runner -v /var/run/docker.sock:/var/run/docker.sock gitlab/gitlab-runner:latest2、进入Runner容器内docker exec -it gitlab-runner bash3、注册运行以下命令gitla

2022-01-14 11:44:25 1658

原创 【ImportError】: attempted relative import with no known parent package

ImportError: attempted relative import with no known parent package`【尝试相对导入,但不知道父包】运行python的main.py脚本。使用相对引用方式 (类似import …module) 引用包时,抛出这个异常查看当前的代码中已经有新的空 init.py 文件来将项目目录转换为一个包。怀疑为python2、python3差异导致查看virtualenv(virtualenv通过创建一个虚拟化的python运行环境,将我们所需的依

2022-01-10 18:04:58 826

原创 RESTful API

什么是 RESTful API?RESTful API 也称为 REST API,是遵循 REST 架构规范的应用编程接口(API 或 Web API),支持与 RESTful Web 服务进行交互。REST 是表述性状态传递的英文缩写。什么是 API?API 由一组定义和协议组合而成,可用于构建和集成应用软件。有时我们可以把它们当做信息提供者和信息用户之间的合同——建立消费者(呼叫)所需的内容和制作者(响应)要求的内容。例如,天气服务的 API 可指定用户提供邮编,制作者回复的答案由两部分组成,第一

2022-01-09 16:40:14 540

原创 Golang常用的静态检查工具

Golang常用的静态检查工具1.gofmt主要修复代码格式,比如代码块的tab。参数:-l: 仅打印需要替换的文件名字,不替换文件内容-r: 指定替换规则,格式:-s “pattern -> replacement”-s:显式指定需要替换的文件-w:直接修改目标文件,且命令行不打印任何数据idea 自带,也可以使用下面的语句强行执行一般是对工程中变量名字的对齐,比如行开头统一使用tab注意:gofmt ≠ 代码规范,比如它不会管单行是否超过了120个字符2.go fmtgo

2021-12-20 14:18:11 457

原创 Go学习笔记

命令介绍:1.go build 编译2.go name.go向执行脚本文件一样执行代码3.go install 先编译得到一个可执行文件,再将可执行文件拷贝到GOPATH/bin下面交叉编译go可支持跨平台编译例如:在win里面编译出linux下可执行文件变量go语言中的变量需要先申明再使用,申明时需要指明变量类型var s1 stringgo 语言中变量申明必须使用,不然编译不过去。推荐使用驼峰式命名 strStudent申明变量同时赋值: var s1 string = “xia

2021-11-12 19:03:27 100

原创 K8s taints去除

删除污点:kubectl taint node dce-172-30-40-237 key1:NoExecute-kubectl taint node dce-172-30-40-237 key-

2021-11-05 16:35:31 1374

原创 K8S之HPA 水平自动扩缩

总结:HPA作用于工作负载上, 可以实现Pod副本的动态缩扩容HPA的缩扩容阈值最初只有CPU和内存的使用率, 现在多出了CPU和内存使用量, 以及入带宽和出带宽。可结合业务场景定制阈值容器启动时可能会使用过量资源, 因此HPA具有一定的冷却时间, 以等待容器启动完毕, 该时间可在kubelet启动参数中更改一、介绍:HPA(Horizontal Pod Autoscaler, 水平扩展)是Kubernetes的一种机制, 它可以根据Pod的CPU或内存负载自动的扩容以及缩容, 从而解决Pod负载

2021-11-04 18:52:13 1507

原创 解决 Error from server (NotFound): deployments.apps “deployment-nginx“ not found

[root@dce-10-23-152-33 ~]# kubectl autoscale deployment my-nginx --cpu-percent=50 --min=1 --max=10Error from server (NotFound): deployments.apps "my-nginx" not found出现原因是由于没有为my-nginx的deployment,创建你的deployment即可解决:[root@dce-172-30-40-237 tmp]# kubectl

2021-11-04 18:13:53 13027

原创 k8s之liveness and readness

作用:首先是应用的健康状态上面,可以实时地进行观测;第二个是可以获取应用的资源使用情况;第三个是可以拿到应用的实时日志,进行问题的诊断与分析。当出现了问题之后,首先要做的事情是要降低影响的范围,进行问题的调试与诊断。最后当出现问题的时候,理想的状况是:可以通过和 K8s 集成的自愈机制进行完整的恢复。两种probeLiveness(存活探针)Readness(就绪探针)介绍用于判断容器是否存活,既 Pod 状态是否为 running,如果 Liveness 探针判断容器不健康,则会触发

2021-11-01 10:27:10 1804

原创 Linux unzip: 未找到命令

解压zip文件,出现:[root@dce-10-6-117-20 ~]# unzip -r kube-prometheus-main.zip -bash: unzip: 未找到命令解决方案:yum install -y unzip zip (cent os)或者sudo apt-get install zip (ubuntu)

2021-10-27 15:58:58 745

原创 解决 Error: cannot re-use a name that is still in use

执行helm install kuberhealthy kuberhealthy/kuberhealthy --set prometheus.enabled=true --set prometheus.prometheusRule.enabled=true安装kuberhealthy时出现如下报错:Error: cannot re-use a name that is still in use解决方案如下:helm ls --all-namespaceskubectl delete namespac

2021-10-27 15:30:24 13333 1

原创 Docker images存储路径修改

近日发现docker images的存储过大,现有存储位置已经不足以支撑。需要修改镜像存储的位置。默认情况下docker pull images存储在/var/lib/docker/ 目录下。如需修改存储位置在需要手动创建/etc/docker/daemon.json 文件,可以指定images存储的位置.查看docker images默认存储位置信息[root@peter-jenkins-15 ~]# docker infoDocker Root Dir: /var/lib/docker 创建

2021-10-27 11:11:26 4453

原创 Linux下安装Go

Linux安装GO环境步骤1.官网下载GO地址:https://golang.org/dl/2.解压tar -C /usr/local -zxvf go1.16.6.linux-amd64.tar.gz3.修改环境变量vi /etc/profile在/etc/profile文件最后一行添加export GOROOT=/usr/local/goexport PATH=$PATH:$GOROOT/bin保存后source一下(使得修改生效)source /etc/profile4.验证

2021-10-26 17:31:20 211

原创 解决Golang编译报错

Golang编译报错:dial tcp 172.217.160.113:443: connect: connection timed out在编译go时出现这样报错[root@dce-10-6-116-10 tmp]# go get k8s.io/node-problem-detectorgo get: module k8s.io/node-problem-detector: Get “https://proxy.golang.org/k8s.io/node-problem-detector/@v/l

2021-10-26 17:22:18 1012

原创 K8S集群管理之资源配额

K8S集群管理之资源配额为什么设置默认内存限制和请求?通过为集群中运行的容器配置内存请求和限制,可以有效利用集群节点上可用的内存资源。 通过将 Pod 的内存请求保持在较低水平,可以更好地安排 Pod 调度。 通过让内存限制大于内存请求,可以完成两件事:Pod 可以进行一些突发活动,从而更好的利用可用内存。Pod 在突发活动期间,可使用的内存被限制为合理的数量。如果命名空间下有设置资源配额,内存限制极为有益。资源配额可为命名空间下的容器设定内存限制;命名空间下所有运行容器的内存总量不能超过申明

2021-10-12 11:14:32 897

原创 k8s的Garbage Collection回收机制

  Gc主要由kubelet执行,kubelet进程启动时会自动创建两个GC,一个负责回收image 另一个负责回收container。Images回收会5分钟执行一次,container会1分钟执行一次。 Kubelet里有关于回收机制的参数,可以自定义配置,也可使用其默认配置。 image回收参数主要分三个参数:A:--minimum-image-ttl-duration...

2018-10-26 17:43:57 767

原创 基于prometheus的k8s集群监控指标测试

测试目标:pod crash如何模拟:因为pod crash状态表明容器已启动,但又遭遇异常退出。所以,我们只需要启动的容器中,没有守护进程或是守护进程执行后退出即可。测试过程:首先,选择一个没有守护进程的镜像,比如centos基础镜像。创建deployment,让k8s,根据deployment,启动pod,pod中的容器,使用不带守护进程的镜像。具体的deployment如...

2018-10-26 17:40:49 5547

原创 k8s简要分析

首先,我们先了解一下kubernetes由哪些东西所构成,kubernetes有两种节点,一个是主节点既管理节点-master,另一个是工作节点既运行节点-node。Master节点上有三个组件,api server(他核心功能是提供 rest api服务) 我们通过使用kubectl 命令行工具来与api server进行交互。 scheduler调度器 及控制器controller-man...

2018-10-26 17:37:27 151

原创 基于Prometheus+ grafana方案的k8s集群监控

目前,监控K8S集群较为流行的方案如下:方案一:Heapster + influxDB + GrafanaHeapster 是 Kubernetes 原生的集群监控方案。Heapster 以 Pod 的形式运行,在其配置文件内传入kubernetes master的地址,Heapster就会自动发现集群节点、从节点上的 Kubelet 获取监控数据。Kubelet 则是从节点上的 cAdv...

2018-10-26 17:32:39 1452

原创 Go语言学习

 1、时间和日期Time.Time(作为值使用)以及显示和测量时间和日期的功能函数。当前时间可以用time.Now()获取,或者使用t.Day()、t.Minute()等等来获取时间的一部分;也可自定义时间如:fmt.Printf("%02d.%02d.%4d\n", t.Day(), t.Month(), t.Year()) 将会输出 21.07.20112、包①:os:...

2018-10-26 17:24:37 91

原创 Docker学习笔记

Docker是由dotCloud公司所发起的一个公司内部项目,它是基于dotCloud公司多年与服务技术的一次革新。Docker 使用 Google 公司推出的 Go 语言 进行开发实现,基于 Linux 内核的 cgroup,namespace,以及 AUFS 类的 Union FS 等技术,对进程进行封装隔离,属于 操作系统层面的虚拟化技术。Docker优势 1.更高效地利用系统资源 ...

2018-08-21 12:04:50 126

原创 kubernetes学习笔记

kubernetes学习笔记Kubernetes是多年前由谷歌创造的,基于他们在大规模云计算领域的容器编排经验。kubernetes在古希腊语中意为”舵手“,被简称为”k8s“或者”kube“。 K8s是容器编排引擎,用于在一个集群中控制大量容器生命周期的工具。并非意味着它只用于启动和停止容器进程。还负责管理包括容器持久化卷和网络连接等在内的多种资源并协调这些资源的相互关系以帮助应用容...

2018-08-20 10:45:43 206

空空如也

空空如也

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

TA关注的人

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