自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 资源 (5)
  • 论坛 (1)
  • 问答 (2)
  • 收藏
  • 关注

原创 operator-sdk命令详解

文章目录1. operator-sdk build2. operator-sdk completion3. operator-sdk print-deps4. operator-sdk generate5. operator-sdk olm-catalog gen-csv6. operator-sdk new7. operator-sdk add7.1 Example add api output7.2 Example add controller output7.3 Example add crd out

2020-12-31 16:40:49 645

原创 go Context【1】控制goroutine详解

为什么需要 Context背景对于 Golang 开发者来说context(上下文)包一定不会陌生。但很多时候,我们懒惰的只是见过它,或能起到什么作用,并不会去深究它。应用场景:在 Go http 包的 Server 中,每一个请求在都有一个对应的goroutine去处理。请求处理函数通常会启动额外的goroutine用来访问后端服务,比如数据库和 RPC 服务。用来处理一个请求的goroutine通常需要访问一些与请求特定的数据,比如终端用户的身份认证信息、验证相关的 token、请求的截止时间。当

2020-12-31 15:52:48 190

原创 合约交易分析

抄底,但开单时无法确认走向,甚至从走势分析来看还会迭一波,然后事实在行情下调800到1000一般都会回调。所谓抄底,都是回头看叫抄底,在当下我们对接下来的走势无法做出准确判断,一切皆有可能,看图走势为要么渐升,要么猛降,因此小单进仓,行情波动大,要低风险操作。...

2020-12-29 16:47:58 113

原创 Orchestrator (2) 配置参数详解

1. 背景在MySQL高可用架构中,目前使用比较多的是Percona的PXC,Galera以及MySQL 5.7之后的MGR等,其他的还有的MHA,今天介绍另一个比较好用的MySQL高可用复制管理工具:Orchestrator(orch)。Orchestrator(orch):go编写的MySQL高可用性和复制拓扑管理工具,支持复制拓扑结构的调整,自动故障转移和手动主从切换等。后端数据库用MySQL或SQLite存储元数据,并提供Web界面展示MySQL复制的拓扑关系及状态,通过Web可更改MySQL实

2020-12-29 14:18:30 309

原创 Orchestrator (3) orchestrator-client命令详解

七 命令行、API的使用Orchestrator不仅有Web界面来进行查看和管理,还可以通过命令行(orchestrator-client)和API(curl)来执行更多的管理命令,现在来说明几个比较常用方法。通过help来看下有哪些可以执行的命令:./orchestrator-client --help,命令的说明可以看手册说明。orchestrator-client不需要和Orchestrator服务放一起,不需要访问后端数据库,在任意一台上都可以。注意:因为配置了Raft,有多个Orche

2020-12-29 10:12:50 432

转载 Redis Sentinel(1)机制与用法说明

文章目录1. 概述2. Sentinel支持集群3. Sentinel版本4. 运行Sentinel5. Sentinel的配置6. Sentinel的“仲裁会”7. 配置版本号8. 配置传播9. SDOWN和ODOWN的更多细节10. Sentinel之间和Slaves之间的自动发现机制11. 网络隔离时的一致性12. Sentinel状态持久化13. Slave选举与优先级14. Sentinel和Redis身份验证15. Sentinel API16. Sentinel命令17. 动态修改Senti.

2020-12-28 17:23:42 41

原创 centos本地部署mysql主从同步之gtid方法

安装(全部节点)运行以下命令更新YUM源。rpm -Uvh http://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm运行以下命令安装MySQL。yum -y install mysql-community-server运行以下命令查看MySQL版本号。mysql -V返回结果如下,表示MySQL安装成功。mysql Ver 14.14 Distrib 5.7.31, for Linux (x86_64)

2020-12-28 00:42:39 54

原创 rpm命令详解

1. 简介rpm命令是RPM软件包的管理工具。rpm原本是Red Hat Linux发行版专门用来管理Linux各项套件的程序,由于它遵循GPL规则且功能强大方便,因而广受欢迎。逐渐受到其他发行版的采用。RPM套件管理方式的出现,让Linux易于安装,升级,间接提升了Linux的适用度2. 参数-a:查询所有套件;-b<完成阶段><套件档>+或-t <完成阶段><套件档>+:设置包装套件的完成阶段,并指定套件档的文件名称;-c:只列出组态配置文件,本

2020-12-27 19:00:17 54

原创 docker容器部署mysql主从同步之gtid方法

环境centos192.168.1.10 (master)192.168.1.11 (slave)主( master)划分存储卷lvcreate -L 200G -name lvdata vgdatamkfs.xfs /dev/mapper/vgdata-lvmysqlmkdir /mysqlvim /etc/fstab/dev/mapper/vgdata-lvmysql /mysql xfs defaults 0 0mount -a初始化mysql主节点配置$ do

2020-12-27 18:22:42 66

原创 k8s ansible operator SDK入门1

初始化项目$ operator-sdk new memcached-operator --api-version=cache.example.com/v1alpha1 --kind=Memcached --type=ansibleINFO[0000] Creating new Ansible operator 'memcached-operator'. INFO[0000] Created deploy/service_account.yaml INFO[0000] Created

2020-12-25 17:38:06 98

原创 go k8s operator logf日志格式化处理详解

文章目录1. 简介2. 默认的Zap记录器3. 示例4. 自定义zap记录器5. 部署到集群时设置标志6. 创建结构化的日志语句7. 非默认日志记录1. 简介操作员SDK生成的操作员使用该logr界面进行记录。此日志界面具有多个后端,例如zap,SDK默认在生成的代码中使用这些后端。logr.Logger公开结构化的日志记录方法,这些方法可帮助创建机器可读的日志并向日志记录添加大量信息。2. 默认的Zap记录器在搭建新项目时,Operator SDK使用zap基于logr后端的后端。为了帮助配置..

2020-12-24 11:49:06 165

原创 dial tcp: lookup xxx.com on 8.8.8.8:53: no such host

reading https://sum.golang.org/lookup/xxx.com就是这里了,原来是这里在向8.8.8.8发起请求,然后8.8.8.8无法识别。问题原因:Go 1.13设置了默认的GOSUMDB=sum.golang.org,它当然是无法识别私有域名xxx.com .解决办法: go env -w GOPRIVATE=xxx.como或者: go env -w GOSUMDB=off...

2020-12-23 10:20:10 1423

转载 kubernetes dev client-go增删改查crd

文章目录1. 示例 CRD2. list 资源3. get 资源4. create 资源5. update 资源6. patch 资源7. delete 资源8. 总结1. 示例 CRDcrd.yamlapiVersion: apiextensions.k8s.io/v1kind: CustomResourceDefinitionmetadata: # name must match the spec fields below, and be in the form: <plural..

2020-12-22 18:44:05 408

原创 使用swagger自动生成Api文档

https://razeencheng.com/post/go-swaggerhttps://blog.csdn.net/zhanggonglalala/article/details/98070986

2020-12-18 17:00:33 35

原创 golang web开发之resty模块

文章目录1. Resty简介2. GET方法3. POST方法4. PUT方法5. 高级应用5.1 代理5.2 重试6. 中间件1. Resty简介微服务开发中服务间调用的主流方式有两种HTTP、RPC,HTTP相对来说比较简单。本文将使用 Resty 包来实现基于HTTP的微服务调用。Resty 是一个简单的HTTP和REST客户端工具包,简单是指使用上非常简单。Resty在使用简单的基础上提供了非常强大的功能,涉及到HTTP客户端的方方面面,可以满足我们日常开发使用的大部分需求。go get安.

2020-12-18 16:41:16 902 1

原创 kubernetes dev client-go 进入pod执行命令

go.modmodule clientgo 1.13require ( github.com/evanphx/json-patch v4.9.0+incompatible // indirect github.com/fsnotify/fsnotify v1.4.9 // indirect github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7 // indirect github.com/golang/protobu

2020-12-16 15:05:23 621

原创 k8s部署prometheus operator监控

如何用原生Prometheus监控大规模Kubernetes集群

2020-12-16 10:14:36 53

原创 go type 定义详解

1. type定义新类型声明格式:(是类型的组合)package mainimport ( "fmt" "reflect")type bigint int64func main() { var x bigint = 100 fmt.Printf("x 的值是:%v\n", x) fmt.Printf("x 的类型是:%v\n", reflect.TypeOf(x)) type smallint int8 var y smallint = 1

2020-12-15 17:01:33 136

原创 kustomize(九) 使用终章

文章目录1. kustomization API说明2. bases3. commonAnnotations4. commonLabels5. images6. namePrefix7. namespace8. nameSuffix9. 扩展1. kustomization API说明字段类型描述bases[]string此列表中的每个条目都应该解析为包含kustomization.yaml文件的目录commonAnnotationsmap[string]strin..

2020-12-15 16:50:06 374

原创 kustomize (八)生成secret

文章目录1. Secret 是什么?2. 来自本地文件的 Secret1. Secret 是什么?Kubernetes 的 ConfigMaps 和 Secrets 都是key:value map,但 Secrets 的内容更为敏感,比如:密码或者 ssh 秘钥。Kubernetes 开发者以各种方式工作,Secrets 保存的信息相比 ConfigMaps,Deployments 等的配置信息需要更谨慎的隐藏。2. 来自本地文件的 Secretkustomize 可以通过三种不同的方式生成来自.

2020-12-15 15:03:20 141

原创 kustomize (七) patches、patchesJson6902、patchesStrategicMerge详解

文章目录patches方法Target 选择patches方法kustomization.yaml 支持通过 Strategic Merge Patch 和 JSON patch来自定义资源。自 3.1.0 起,一个 patch 可以修改多个资源。这可以通过指定 patch 和它所修改的 target 来完成,如下所示:patches:- path: <PatchFile> target: group: <Group> version: <Ve..

2020-12-14 23:57:45 624

原创 The connection to the server ip:6443 was refused - did you specify the right host or port

解决方法1:#!/bin/bashswapoff -asystemctl start kubeletdocker start (docker ps -a -q)docker start (docker ps -a -q)解决方法2:master: 192.168.211.40node1: 192.168.211.41node2: 192.168.211.42master$ kubeadm reset$ kubeadm init --pod-network-cidr=192.1

2020-12-14 21:46:27 1889

原创 Shell中while循环的陷阱, 变量实效, 无法赋值变量

/Shell中while循环的陷阱, 变量实效, 无法赋值变量

2020-12-14 11:18:53 289

原创 kustomize (六)命令行常用管理

文章目录1. 构建空间2. 修改镜像3. 添加secret4. 远程target1. 构建空间首先构建一个工作空间:export DEMO_HOME=$(mktemp -d)创建包含pod资源的 kustomizationcat <<EOF >$DEMO_HOME/kustomization.yamlresources:- pod.yamlEOF创建 pod 资源pod.yamlcat <<EOF >$DEMO_HOME/pod.yamlap..

2020-12-11 17:32:55 403

原创 kustomize (五) 使用vars将 k8s runtime 数据注入容器

文章目录1 构建工作空间:2. 下载 resources3. 创建 kustomization.yaml4. 下载 WordPress 的 patchs本教程将会介绍如何声明变量以及如何在容器中的命令使用变量。要注意的是,变量的查找和替换并不适用于任意字段,默认仅适用于容器的env,args和command。运行WordPress,以下是必须的:WordPress 连接 MySQL 数据库MySQL 服务可以被 WordPress 容器访问1 构建工作空间:#!/bin/bashexp..

2020-12-11 16:38:03 235

原创 raw.githubusercontent.com:443连接的OpenSSL SSL_ERROR_SYSCALL

方法:关闭VPN换个wifi

2020-12-11 11:09:01 3977 1

转载 使用 Git 同步时出现gnutls_handshake() failed: Error in the pull function

https://www.cnblogs.com/crixec/p/7339659.html

2020-12-11 11:01:27 2989

原创 kustomize (四) generatorOptions详解

文章目录1. generatorOptions功能2. generatorOptions实例1. generatorOptions功能Kustomize 提供了修改 ConfigMapGenerator 和 SecretGenerator 行为的选项,这些选项包括:不再将基于内容生成的哈希后缀添加到资源名称后为生成的资源添加 labels为生成的资源添加 annotations2. generatorOptions实例这个示例将展示如何运用这些选项,首先创建一个工作空间:DEMO_HO.

2020-12-10 21:06:52 169

原创 kustomize (三) devops和开发配合管理配置数据behavior: merge、namePrefix、nameSuffix

文章目录1. 场景1.1 Property sharding1.2 Plumbing properties1.3 Secret properties2. 混合管理方法2.1 创建 base2.2 创建并使用 overlay 用于 开发(development)2.3 检查 ConfigMap 名称2.4 创建并且使用 overlay 用于 生产(procduction)1. 场景在生产环境中有一个基于 Java 由多个内部团队(注册、结账和搜索等)共同开发的商店服务。这个服务在不同的环境中运行:d..

2020-12-10 20:46:11 170

原创 kustomize (二) ConfigMap 的生成和滚动更新

文章目录1.ConfigMap声明方法2.修改base添加 ConfigMapGenerator2. staging创建3. configmap变动分析4. 如何使用 kustomize支持ConfigMap 的生成和滚动更新1.ConfigMap声明方法kustomize 提供了两种添加 ConfigMap 的方法:将 ConfigMap 声明为 resource通过 ConfigMapGenerator 声明 ConfigMap在 kustomization.yaml 中,这两种方法的格式

2020-12-10 20:09:23 336

原创 ubuntu apt-get镜像源

vim /etc/apt/sources.listdeb http://mirrors.ustc.edu.cn/ubuntu/ xenial main restricted universe multiversedeb http://mirrors.ustc.edu.cn/ubuntu/ xenial-security main restricted universe multiversedeb http://mirrors.ustc.edu.cn/ubuntu/ xenial-updates m

2020-12-09 17:38:38 109

原创 go io.Pipe()使用详解

文章目录io.Pipe()定义io.Pipe使用io.Pipe在进程通讯中使用io.Pipe()定义func Pipe() (*PipeReader, *PipeWriter)io.Pipe使用io.Pipe会返回一个reader和writer,对reader读取(或写入writer)后,进程会被锁住,直到writer有新数据流进入或关闭(或reader把数据读走)。如下面程序会出现死锁。package mainimport ( "io")func main() { read..

2020-12-07 17:00:22 337

原创 kubernetes RBAC【1】相遇--介绍、常规用法、集群默认

文章目录1. 简介2. API 对象2.1 角色(Role)2.2 集群角色(ClusterRole)2.3 角色绑定(RoleBinding)和集群角色绑定(ClusterRoleBinding)3. 对资源的引用4. 聚合的 ClusterRole5. Role 示例6. 对主体的引用7. RoleBinding 示例8. 默认 Roles 和 Role Bindings9. 面向用户的角色10. 核心组件角色11. 其他组件角色12. 内置控制器的角色13. 对角色绑定创建或更新的限制14. 命令行工

2020-12-07 00:13:15 158

原创 k8s crd 自定义资源详解

文章目录1. 创建 CustomResourceDefinition2. 创建定制对象3. 删除 CustomResourceDefinition4. crd参数4.1 自定义资源-validations4.2 自定义资源-additionalPrinterColumns4.3 自定义资源-subresources1. 创建 CustomResourceDefinition创建自定义资源,即自定义 restful api当你创建新的 CustomResourceDefinition(CRD)时,Kub

2020-12-04 16:59:17 888

原创 k8s中的harbor与registry搭建与管理

https://kubernetes.io/zh/docs/tasks/configure-pod-container/pull-image-private-registry/

2020-12-02 11:38:21 102

转载 Shell之while getopts用法详解

文章目录1. 简介1.1 命令格式:1.2 命令描述1.3 示例说明1.3.1 常规带参数的脚本1.3.2 getopts的用法1.3.3 getopts与shift的结合1.3.4 getopts与shift的结合21.3.51.3.6 getopts忽略错误1.3.7 getopts参数捆绑1. 简介getpots是Shell命令行参数解析工具,旨在从Shell Script的命令行当中解析参数。getopts被Shell程序用来分析位置参数,option包含需要被识别的选项字符,如果这里的字符

2020-12-01 17:09:16 582

原创 shell IFS用法

1. 介绍IFS的默认值为:空白(包括:空格,tab, 和新行),将其ASSII码用十六进制打印出来就是:20 09 0a (见下面的shell脚本)。IFS对空格的空白的处理和其他字符不一样,左右两边的纯空白会被忽略,多个连续的空白被当成一个IFS处理。S*中使用IFS中的第一个字符。awk中的FS(域分隔符)也和IFS有类似的用法和作用。我写了一个shell脚本来演示IFS的用法和作用,如下:[hjq@localhost test]$ IFS=''[hjq@localhost tes

2020-12-01 15:42:20 260

红帽CSA与CE考试易错点总结

该文章总结了考试过程中容易错的地方,是前辈辛苦总结的经验,这是每个考生必备必看的。

2018-05-24

redhat CSA初级工程师考题

考题原型,附有解说,改动的地方与未改动的地方分明开来,只要把命令记住,即使理论不懂得地方也并不影响。但上了考试环境还是要学会一定的变通,比如,ip地址的设置与使用。

2018-05-24

网络专业知识基础

该文档浓缩了 TCP/IP协议及配置、 计算机网络 、 数制 、 网络通信参考模型 、 物理层解析 、 交换机命令行、 数据链路层解析 、 交换机基本配置、 包格式及IP地址 、 网络层协议及设备、 传输层 、 应用层等全面网络基础的必要常识。

2017-10-18

redhat CE 中级工程师考题

考题原型,附有解说,改动的地方与未改动的地方分明开来,只要把命令记住,即使理论不懂得地方也并不影响。但上了考试环境还是要学会一定的变通,比如,ip地址的设置与使用

2018-05-24

shell基础脚本

一键部署软件脚本、显示进度脚本、安全监测脚本、分布式存储脚本。

2017-10-24

mysql服务启动不了?

发表于 2017-10-25 最后回复 2017-10-25

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

TA关注的人 TA的粉丝

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