自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 深入理解C语言指针及占据内存空间

第一、了解内存空间本文章文字有点多,会有点枯燥,配合图文一起看可以缓解枯燥,耐心阅读哦!!!先了解内存地址,才更好的理解指针!我们可以把内存想象为成一列很长很长的货运火车,有很多大小相同的车厢,而每个车厢正好相当于在内存中表示一个字节。这些车厢装着不同的货物,就像我们的内存要存着各式各样的数据。多啰嗦一下我们平时在电脑上能够听音乐、看视频和文章,其实看到的这些东西就是内存中每个...

2020-02-09 21:34:00 141

原创 1. 认识容器和学习Docker(详细)

前言:这句话应该是开发人员经常挂在嘴边的吧!“在我的机器上是正常工作的啊,MD,怎么到你这就不行了?”开发人员就会联想到:1. 肯定是你环境有问题;2. 要么就是你个傻*不会用吧;带着这句话进入我们这次的主题,什么是容器?它能解决我们什么问题?一、什么是容器?容器这个词,当我们第一眼看它或许脑子里是这东西:瓶...

2019-04-29 10:19:00 151

原创 Rancher2.5.x 配置 Pod 时区实现时间同步

在rancher及k8s中pod默认时区为UTC,时间相差8个小时。需要调整时区为CST。前提条件:所有的node主机节点时间要同步。但是我按照网上的一些操作无法实现通过 Rancher 界面设置同步 Pod 时间。Timezone=Asia/Shanghai发现不生效,于是我把Asia/Shanghai改为CST-8就可以了。...

2022-04-22 10:58:00 138

原创 Rancher 安装 Longhorn 报错解决办法

一、Rancher 安装 Longhorn至于 Longhorn 的概念这里就不赘述了,主要记录安装 Longhorn 的时候longhorn-driver-deployer和longhorn-manager无法成功启动问题。在应用商店搜索Longhorn其他的保持默认,点击启动即可二、报错解决方法查看longhorn-manager其中一个 Pod 日志如下:2022/02/2...

2022-02-22 11:31:00 204

原创 Argo workflow 案例练习和配置详细解析

参数化 - parametershello-world-parameters.yaml文件解析apiVersion: argoproj.io/v1alpha1kind: Workflowmetadata: generateName: hello-world-parameters-spec: entrypoint: whalesay # 调用 whalesay 模板 ...

2022-02-20 14:45:00 155

原创 K8s Ingress-nginx 部署和实例演示

这里直接是安装和演示的过程,概念理论部分自行到官网学习,就不再赘述了。Ingress 介绍:https://kubernetes.io/zh/docs/concepts/services-networking/ingress/一、k8s 安装 ingress-nginx下载 Ingress-nginx yaml文件[root@k8s-master01 ingress-nginx]# wg...

2022-02-14 09:50:00 80

原创 Argo 安装和 workflow 实例配置文件解析

一、Argo 安装配置1.1 Argo 安装$ kubectl create ns argo$ kubectl apply -n argo -f https://raw.githubusercontent.com/argoproj/argo-workflows/master/manifests/quick-start-postgres.yaml$ kubectl get all -n a...

2022-02-09 22:02:00 134

原创 Nginx 根据不同的域名来代理转发内部主机-HTTP和HTTPS

一、需求由于公司只有一个公网,很多 web 项目都想通过 80 或 443 端口来访问,所以需要 Nginx 充当公司网关。把唯一的公网 IP 80 端口和 443 端口跟 Nginx 网关主机 IP 映射,进行 HTTP 和 HTTPS 代理转发到内部主机中。配置转发的域名时,需要提前将域名和公网 IP 进行解析绑定才可以。二、配置文件http://wiki.xxx.net/ 配置...

2022-02-09 16:12:00 66

原创 Nginx 全模块安装及匹配方式、反向代理和负载均衡配置

一、安装 OpenRestyOpenResty® 是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。官网:https://openresty.org/cn/[root@localhost ~]# wget https://ope...

2022-01-06 16:08:00 297

原创 .net 程序通过 crontab 无法启动,手动执行脚本可以启动

一、问题描述.net 网关程序需要设置定时重启,按照日常操作先把正在运行的 PID kill 掉后,再执行启动服务。把脚本放到 crontab 计划任务上,可以把服务 PID kill 掉,但无法启动服务,直接手动运行脚本是可以成功启动的。.net 服务重启脚本test1.sh 如下:[root@localhost ~]# cat test1.sh #!/bin/bashID=`...

2021-12-24 20:59:00 371

原创 两个路由器配置静态路由只能单边 ping 通

一、问题描述两个路由器上都配置了静态路由,互相都能 ping 通下一跳地址;但 3 网段主机无法 ping 通 101 网段,101 网段可以 ping 通 3 网段主机。二、问题解决先检查路由器防火墙问题,发现都没有开启,路由器也都允许 ping;经排查判断应该是在华三路由器出了问题,通过配置发现华三下一跳接口配置了 nat 功能。interface GigabitEtherne......

2021-12-10 14:34:00 5141

原创 Nginx 一键安装脚本(几分钟搞定)

适应操作系统:CentOS 7[root@localhost ~]# cat /etc/redhat-release CentOS Linux release 7.6.1810 (Core)nginx_install.sh脚本内容#!/bin/bash# nginx安装包链接nginx_url="http://nginx.org/download/nginx-1.18.0.tar....

2021-09-02 16:21:00 1699 2

原创 Kubernetes部署Prometheus+Grafana以及HPA实验测试

前言我们现在想要达到的效果是以可视化数据来展示 Kubernetes 集群的资源,并且能够实现 HPA(Pod 水平自动扩缩)功能,至于什么是 HPA 可以看我之前的文章, 《K8s-Pod 水平自动扩缩实践(简称HPA)》其实这篇文章已经很好的实现 HPA 功能,但是没有可视化监控数据。由于 Prometheus 已经集成了 Metrics-Server,所以需要把之前单独部署的 Metr...

2021-07-23 15:49:00 240 1

原创 Kubernetes 1.13.3 部署 Prometheus+Grafana-7.5.2(最新版本踩坑)

本教程直接在 Kubernetes 1.13.3 版本上安装 Prometheus 和 Grafana-7.5.2,至于它们的原理和概念就不再赘述,这里就直接开始操作。Git 下载相关 YAML 文件[root@k8s-master01 ~]# git clone [email protected]:MagicBinary/kubernetes-prometheus.git部署 Prometheus 组件官方文档:https://prometheus.io/docs/introduction/overvi

2021-07-19 17:06:32 174

原创 Shell 脚本之 MySQL 一键安装及基本配置(几分钟搞定)

准备工作MySQL 该版本下载地址:https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.30-linux-glibc2.12-x86_64.tar.gzmysql_install-v1.0.sh脚本如下:#!/bin/bash# MySQL 安装日志信息log=/var/log/mysql_install.lo...

2021-07-16 11:31:00 779

原创 安装 Flannel 报错:network plugin is not ready: cni config uninitialized

本次部署 Kubernetes 1.13.3 版本,使用 kubeadm 方式进行部署,当部署 Flannel 网络时出现如下报错:[root@k8s-master01 ~]# journalctl -fu kubelet7月 09 10:19:56 k8s-master01 kubelet[41802]: W0709 10:19:56.859190 41802 cni.go:203] ...

2021-07-09 11:30:00 1908

原创 Oracle 端口被占用无法启动问题解决思路

问题说明系统为CentOS Linux release 7.9.2009 (Core),安装 Oracle-19c 版本,netca命令启动 Oracle 数据库时报错说 1521 端口被占用,但是使用 netstat 命令查看并没有占用,无论改什么端口都说端口被占用。具体报报错如下:请使用另一个端口号:为此监听程序提供的端口1521当前正在使用。可以按现状继续配置,但只有在解决冲突之后才...

2021-06-18 11:55:00 3151

原创 【九】Kubernetes 之 Service 概念图文讲解及功能演示

Service 概念Kubernetes Service 定义了这样一种抽象:逻辑上的一组 Pod,一种可以访问它们的策略 —— 通常称为微服务。Service 通常是通过 Label Selector,也就是 Service 通过标签选择的方式匹配一组 Pod 对外提供访问的机制。解释上图具体实现过程:首先、定义一个 Nginx Deployment由它创建三个Pod,每个 Pod ...

2021-06-16 14:16:00 86

原创 【八】Kubernetes 五种资源控制器详细介绍以及功能演示

一、控制器说明Pod 的分类:自主式 Pod:该类型的 Pod 无论是异常退出还是正常退出都不会被创建,也就是说没有对应的管理者。控制器管理的 Pod:该类型 Pod 在控制器的生命周期里,控制器始终要维持 Pod 的副本数,日常中基本都是使用该类型 Pod ,因为自主式 Pod 不能保证稳定性等之类的问题。graph TD A(五种控制器类型) A -->B[...

2021-06-10 08:47:00 186

原创 【七】Kubernetes 探针介绍 - 存活、就绪探针案例测试

一、探针概述探针是有 kubelet 对容器执行的定期诊断,并不是由 Master 节点发起的探测,而是由每一个 Node 所在的 kubelet 进行探测,这样可以减轻 Master 节点系统负载压力。kubelet 要执行诊断,kubelet 调用由容器实现的 Handler (处理程序)。一共有三种类型的处理程序:ExecAction: 在容器内执行指定命令。如果命令退出时返回码...

2021-06-04 09:41:00 447

原创 【六】K8s-Pod 水平自动扩缩实践(简称HPA)

一、概述Pod 水平自动扩缩(Horizontal Pod Autoscaler)简称 HPA,HPA 可以根据 CPU 利用率进行自动伸缩 Pod 副本数量,除了 CPU 利用率,也可以基于其他应程序提供的自定义度量指标来执行自动扩缩。通过 HPA 可以达到某个时刻业务请求量很大的时候,不需要我们人工去干涉,它会根据我们设定的指标来进行自动伸缩 Pod 数量来应付访问量。这是官方的图...

2021-06-02 11:20:00 453

原创 【五】K8s-Dashboard 安装(K8s Web管理界面)

一、在 master 节点操作由于 K8s 版本不同,具体去这里查看对应的版本https://github.com/kubernetes/dashboard/releases如果使用 wget 命令无法下载,可以使用迅雷下载好上传到 K8s-Master 节点上[root@k8s-master01 ~]# wget https://raw.githubusercontent.com/k...

2021-05-31 20:34:00 4298

原创 【三】Kubernetes学习笔记-Pod 生命周期与 Init C 介绍

一、容器生命周期Init C(初始化容器)只是用于 Pod 初始化的,不会一直随着 Pod 生命周期存在,Init C 在初始化完成之后就会死亡。一个 Pod 可以有多个 Init C,也可以不需要 Init C。Init C 是依次执行的,第一个执行成功后才可以执行下一个 Init C,不能同时执行。Main C 退出后 Pod 生命周期就会结束,Init C 正常退出后 Po...

2021-05-28 12:00:00 211

原创 【四】K8s集群—HarBor 私有仓库部署

一、概述前面我们把 K8s 集群部署好了,但是每次拉取镜像时都通过公有镜像仓库拉取非常慢,效率不高,于是我们需要在本地搭建一个私有镜像仓库来提供 K8s 集群使用,这样我们提交镜像和拉取镜像时就非常方便,速度也快。Kubernetes 集群部署-kubeadm方式 这是前一篇 K8s 集群部署笔记。二、准备工作设置主机名[root@localhost ~]# hostnamectl ...

2021-05-27 10:55:00 451

原创 【二】Kubernetes 集群部署-kubeadm方式(亲测)

一、概述本次部署 Kubernetes 集群是通过 kubeadm 工具来进行部署, kubeadm 是 Kubernetes 官⽅提供的⽤于快速部署 Kubernetes 集群的⼯具,利⽤其来部署 Kubernetes 集群操作起来非常简便。废话多说了,反正也是摘自网上,开始操作吧。二、环境说明本次部署的环境一共使用四台机器,一台作为 HarBor 容器镜像仓库,另外三台作为 Kube...

2021-05-26 17:09:00 334

原创 【一】kubernetes学习笔记-Pod概念

一、Pod 控制器类型Pod概念当一个 Pod 创建后,Pause 容器就会随着 Pod 启动,只要是有 Pod,Pause 容器就要被启动。在同一个 Pod 里面的容器不能出现端口冲突,否则这个 Pod 可能会出现无法启动、无限重启。一个 Pod 里面的容器数量是大于等于1。Pod 里面的容器都是共享 Pause 的网络栈,在同一个 Pod 里即共享网络又共享存储卷。RC和RS概...

2021-05-13 08:59:00 121

原创 注册Keil软件时出现TOOLS.INI_TOOLCHAIN NOT INSTALLED的解决办法

问题描述:Keil软件注册好后,打开项目出现报错:*** Error: Project '1' requires 'C51' Toolchain which is not installed.注册步骤:当我们在注册keil软件时选择ARM注册成功后,打开项目,发现无法编译,按钮是灰色的,如下图:打开注册软件选择C51生成密钥复制到Keil上提示如下:解决办法:问题应该是出现在...

2020-09-26 15:14:00 16226 8

原创 Centos7 一键脚本离线安装 Docker-18.03.1-ce

网盘下载需要的docker包和配置文件:链接:https://pan.baidu.com/s/1mUeTtMmIyz8huttPKHep1Q 提取码:60j2上传如下三个包到同级目录:docker-18.03.1-ce.tgzdocker-install.shdocker.service执行一键安装脚本:[root@localhost ~]# chmod +x docker-in...

2020-08-24 22:00:00 186

原创 RedHat 6.8 离线安装Docker (rpm包安装)

我的环境:[root@localhost ~]# uname -r2.6.32-642.el6.x86_64[root@localhost ~]# cat /etc/redhat-release Red Hat Enterprise Linux Server release 6.8 (Santiago)rpm所有包:链接:https://pan.baidu.com/s/10WH8qw...

2020-08-24 16:24:00 318 1

原创 安装nvidia-docker2报错E: Unable to locate package nvidia-docker2

一、Ubuntu18.04安装nvidia-docker2安装时参考的博客如下:https://blog.csdn.net/BigData_Mining/article/details/99681168二、报错信息执行安装nvidia-docker2步骤时:root@docker:~# sudo apt-get install nvidia-docker2Reading package...

2020-08-07 11:21:00 3240 1

原创 5. Docker Compose讲解+网站部署实战

Docker Compose 是什么docker compose 通过docker-compose.yml是将多个服务(即容器)构建成一个项目,来完成某个需求。Compose 的默认管理对象是项目,通过子命令对项目中的一组容器进行便捷地生命周期管理。Docker Compose 安装安装epl 软件源yum install -y epel-release安装python-pi...

2020-03-25 17:14:00 120

原创 4. Docker数据管理

Docker 数据管理数据卷创建数据卷docker volume create my-vol查看所有的数据卷docker volume ls[root@localhost ~]# docker volume lsDRIVER VOLUME NAMElocal my-vol查看数据卷的详细信息docker volume in...

2020-03-25 17:10:00 49

原创 【三】Zabbix监控并且实现各种报警(详细)

每个被监控节点安装zabbix客户端1)下载并安装zabbix源:[root@nginx-master ~]# rpm -ivh https://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm2)安装zabbix-agent代理软件:[root@nginx-master ~]# yu...

2020-03-20 12:23:00 327

原创 【二】keepalived配置,实现zabbix主备的切换(详细)

部署阶段及问题笔记:https://www.cnblogs.com/l-hh/category/1400262.html两台机器都安装keepalived[root@zabbix-master ~]# yum install keepalived.x86_64 -ykeepalived配置Zabbix-master配置文件:! Configuration File for keepal...

2020-03-20 12:20:00 284 1

原创 红帽RedHat 8.0新特性(网络、yum源、Web界面管理等)

1、Red Hat8 配置静态IP注意:Red Hat8网络管理默认使用NetworkManager,而不是之前版本的network。按照之前版本我们一般通过配置文件设置静态IP地址信息,如下:[root@localhost ~]# cd /etc/sysconfig/network-scripts[root@localhost network-scripts]# cp ifcfg-e...

2020-02-12 22:14:00 122

原创 从0到1体验Jenkins+Docker+Git+Registry实现CI自动化发布

一、前言Jenkins是一款开源 CI&CD 软件,用于自动化各种任务,包括构建、测试和部署软件。Jenkins 支持各种运行方式,可通过系统包、Docker 或者通过一个独立的 Java 程序。Jenkins是一个广泛用于持续构建的可视化Web工具,持续构建就是将项目自动化编译、打包、部署。通过规范化来完成,简单,繁琐,浪费时间的重复工作。...

2019-09-03 23:35:00 186

原创 【超级详细】使用 PXE+Kickstart 实现无人值守批量部署系统

一、废话两句在云数据中心,一次几十台甚至几百台服务器上线,系统安装将变得非常繁琐,系统安装好了后还会涉及很多配置,如果一台台来安装的话工作量非常大。(虽然有加班费,开个玩笑)为了解决这个问题,我们需要实现无人值守批量部署系统。简单看一下拓扑图:1. 什么是PXE?简单来说:PXE主要是引导作用,具体的详细信息这里就不多说了,详情百度即可。...

2019-08-17 16:45:00 252

原创 Linux杀不死的进程之CPU使用率700%

1. 问题发现[root@zwlbs3 ~]# topi. 发现有个进程CPU使用率居然700%,COMMAND 是一些随机的字符串组成,完了~ 中标了;第一想到就是“沙雕”它,kill 命令给我上。[root@zwlbs3 ~]# kill -9 "PID"ii. 但是发现 kill 该进程平静一会后又启动了。注:老图复用,PID、COMMAND 都有变化。2. 查看进...

2019-08-15 15:38:00 58

原创 Hadoop 从节点的 NodeManager 无法启动

一、问题描述日志文件信息如下:2019-07-18 11:20:28,104 INFO nodemanager.NodeManager (LogAdapter.java:info(45)) - registered UNIX signal handlers for [TERM, HUP, INT]2019-07-18 11:20:29,069 INFO recovery.NMLev...

2019-08-08 11:41:00 304

原创 Phoenix 无法启动报错: java.net.BindException: Address already in use

一、问题描述i. 登录Ambari发现有一个节点的 Phoenix 无法启动ii. 在Ambari上点击“Start”,监控 Phoenix 日志文件iii. Phoenix 日志如下:[root@zwlbs3 ~]# tail -f /var/log/hbase/phoenix-hbase-server.log------------------------ 日志信息如下 -...

2019-07-23 22:31:00 148

空空如也

空空如也

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

TA关注的人

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