自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

fzzjoy的专栏

Stay Foolish

  • 博客(315)
  • 资源 (7)
  • 问答 (1)
  • 收藏
  • 关注

原创 k8s operator从0到1实践

新建名为easyservice-sample的自定义资源实例,创建副本数量和对应的nodeport端口。对象结构(api)、控制器(controller)修改完毕后,需要更新crd的定义。使用脚手架工具,能生成项目模板,开发人员只需要关注核心逻辑和方法即可。当CR新建出来后,controller就会收到相应的事件变更。推荐使用docker-desktop,本地单机集群。1、制作推送controller镜像。2、把controller部署到集群。登录到在集群master上操作。1、将CRD安装到集群。

2024-01-14 22:13:53 637

原创 Mysql-索引

如果需要排序的列的总大小加上order by列的大小超过了 max_length_for_sort_data定义的字节,mysql就会使用双路排序,当任何需要的列(甚至不是用来order by的列)是text.blob的时候,也会使用双路排序,(可以使用substtring() 把这些列转化为可以单路排序的列)。索引下推 (Using index condition)索引覆盖 (Using index)

2023-08-27 15:18:18 403

原创 Beyond Compare和git merge、git rebase

【代码】Beyond Compare和git merge、git rebase。

2023-07-30 23:24:45 420

原创 golang/goland memo

它允许开发者在不同的项目中使用不同版本的依赖包,并且可以自动解决依赖关系,避免了传统的手动管理依赖包的麻烦。启用此选项后,Goland 将会自动检测项目中是否存在 go.mod 文件,并自动加载其中的依赖包信息。同时,Goland 还会自动更新 go.mod 文件,以保证项目中所使用的依赖包版本与 go.mod 文件中指定的版本一致。启用 Go Modules 集成支持后,还可以在 Goland 中使用一些特定的命令来管理依赖包,例如 “go mod tidy”、“go mod vendor” 等。

2023-04-28 14:57:34 1071 3

原创 Qt 编译安装qthttpserver

【代码】Qt 编译安装qthttpserver。

2023-02-06 23:00:59 870 1

原创 Mac 外接键盘Command键( Windows 徽标键)失效

同时按下 Win + Fn 组合键会导致 Win 键失灵,即锁定 Win 键!

2023-01-29 14:53:09 5838

原创 git memo

git branch -a: 可以查看本地分支和远程分支情况git remote show origin: 查看本地分支和追踪情况git remote prune origin: 同步远程分支情况到本地,如果远程删除了分支,本地就会同步过来。git branch -D [branch name]: 删除本地分支git push origin --delete Chapater6:可以删除远程分支Chapater6git cherry-pickgit cherry-pick 教程......

2022-12-24 12:11:10 1117

原创 curl memo

【代码】curl memo。

2022-12-24 11:58:34 118

原创 CNAME记录和A记录

假如用户拥有如下几个子域:用户希望这些子域指向主域名http://test.com,这时候就可以为这些子域创建相应的CNAME记录,如下表所示:如果服务器的IP地址发生更改,则只需更新一个A记录,并且所有子域都会自动更新,因为所有CNAME记录都指向带有A记录的主域A记录和CNAME记录两种记录方式,给了用户更大的自由度,便于大规模域名系统的管理维护。

2022-12-06 21:44:56 1448

原创 docker-desktop windows支持挂载hostpath

docker-desktop在windows系统中支持容器方案主要采用两种方式。

2022-10-31 23:16:01 1431

原创 rabbitmq k8s部署

k8s 部署rabbitmq

2022-09-28 23:23:45 705

原创 Job和CronJob

Job 会创建一个或者多个 Pods,并将继续重试 Pods 的执行,直到指定数量的 Pods 成功终止。 随着 Pods 成功结束,Job 跟踪记录成功完成的 Pods 个数。 当数量达到指定的成功个数阈值时,任务(即 Job)结束。并行jobCronJob定时任务:CronJob 创建基于时间可重复调度的 Jobs。简称cj下面的 CronJob 示例清单会在每分钟打印出当前时间和问候消息:...

2022-07-06 21:55:30 198

原创 StatefulSets

StatefulSets(sts)StatefulSet 是用来管理有状态应用的工作负载 API 对象。StatefulSet 用来管理某 Pod 集合的部署和扩缩, 并为这些 Pod 提供持久存储和持久标识符。StatefulSets 对于需要满足以下一个或多个需求的应用程序很有价值:稳定的、唯一的网络标识符 - pod name不会改变。稳定的、持久的存储。有序的、优雅的部署和缩放。有序的、自动的滚动更新 - 可以做部分pod更新,灰度发布。查看本机的storageclass,利用

2022-05-22 15:43:51 761

原创 k8s各种port

在编排kubernetes时,Deployment的Pod项有containerPort,Service文件里的port,targetPort, nodePort,这些pod概念有些时候可能会让人感到非常困惑,这里通过示例来简单介绍各种port的含义deploy yamlapiVersion: apps/v1kind: Deploymentmetadata: name: test-deploy labels: app: test-deployspec: replicas:

2022-04-25 00:20:23 770

原创 k8s-configmap和secret

ConfigMapConfigMap 并不提供保密或者加密功能。 如果你想存储的数据是机密的,请使用 Secret, 或者使用其他第三方工具来保证你的数据的私密性,而不是用 ConfigMap。如何在容器中监听configMap的变化viper参考ConfigMap...

2022-04-24 22:23:08 368

原创 k8s-RBAC与SA

文章目录RBACRole和RoleBindingRoleRoleBinding验证ClusterRole和ClusterRoleBindingClusterRoleClusterRoleBinding验证定义ServiceAccount参考RBAC基于角色的访问控制(Role-Based Access Control, 即”RBAC”)使用”rbac.authorization.k8s.io” API Group实现授权决策,允许管理员通过Kubernetes API动态配置策略。基于RBAC配置U

2022-04-24 22:10:47 464

原创 k8s client-go修改node label

package mainimport ( "context" "encoding/json" "fmt" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/types" "k8s.io/client-go/tools/clientcmd" "os" "os/user" "strings" "k8s.io/client-go/kubernetes")func main() { // o

2022-04-24 21:40:17 1666

原创 sidecar模式

sidecar简单的说,一个pod内有多个容器应用在同时工作,相互协同,完成特定需求。sidecar的思想核心就是:不侵入主容器的前提下,可以进行服务功能扩展。一般都是一些共性的能力,比如说:日志代理/转发,例如 fluentd;Service Mesh,比如 Istio,Linkerd;代理,比如 Docker Ambassador;探活:检查某些组件是不是正常工作;其他辅助性的工作,比如拷贝文件,下载文件等;k8s不会明显区分主容器与sidecar容器,如果主容器与sidecar容

2022-04-09 16:46:04 1342

原创 map、切片和string之间的转换

package mainimport ( "encoding/json" "fmt")func main() { var mp map[string]string mp = make(map[string]string) mp["hello"] = "world" mp["test"] = "json" // map to string mpStr, _ := json.Marshal(mp) fmt.Println(string(mpStr)) // string to m

2022-03-22 22:54:55 788 1

原创 golang http/https demo

golang http https demo

2022-03-07 23:40:47 500

原创 k8s运行mysql服务

k8s mysql

2022-03-05 14:02:23 2852

原创 golang cmd执行外部程序

Kill进程及其子进程,以及处在sleep或者阻塞状态中的程序,如果使用cmd.Process.Kill()是没发达到这些效果。cmd := exec.Command("/bin/sh", "-c", "...........")// Go会将PGID设置成与PID相同的值cmd.SysProcAttr = &syscall.SysProcAttr{Setpgid: true}syscall.Kill(-cmd.Process.Pid, syscall.SIGKILL)egpackag

2022-02-12 14:47:59 2010

原创 集群内外访问pod的方式

文章目录集群内访问service直接访问集群pod的clusterIP直接访问服务名通过环境变量访问集群外访问servicehostNetworkhostPortNodePortloadbalancerIngress在 Minikube 环境中使用 NGINX Ingress 控制器配置 Ingress参考集群内访问service直接访问集群pod的clusterIPservice的clusterIP即:service的虚拟IP直接访问服务名通过环境变量访问示例:server.yamlki

2022-01-31 16:51:55 5154 1

原创 k8s安装使用metrics-server

kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/download/v0.6.0/components.yaml如果这时候查看deployment提示出错:$ kubectl describe pod metrics-server-65b979d49c-bm4vz -n kube-system······Events: Type Reason Age .

2022-01-30 21:43:37 2949

原创 在kubernetes部署发布go应用程序

dockerfile文件放在golang程序根目录下:FROM golang:1.17.3WORKDIR /appCOPY . /appRUN go build -o go-web .ENTRYPOINT ["/app/go-web"]执行以下指令:docker build -t test/go-app:v1.0.0 .docker push test/go-app:v1.0.0 // push到镜像中心...

2022-01-30 11:06:36 911

原创 网络诊疗工具

常用的网络诊断工具

2022-01-16 16:26:44 1618

原创 k8s挂载存储

nfs pvc

2021-12-18 23:53:51 1037

原创 vim memo

vim基础操作

2021-12-12 23:28:52 541

原创 k8s基操

文章目录环境配置Linux安装Docker安装kubectl安装minikubemacOS常用操作环境配置Linux安装DockerDocker学习笔记安装kubectlcurl -LO “https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl”sudo install -o root -g root -m 0755 kubectl /usr

2021-12-01 23:51:51 720

原创 go语言-Channel(信道)

Channel(信道) * 线程安全管道* 写入一个已经close的channel为导致Panic

2021-11-21 20:22:43 15085

原创 VNC How To

测试环境:Distributor ID: UbuntuDescription: Ubuntu 16.04.6 LTSRelease: 16.04Codename: xenial安装服务端sudo apt-get install vnc4serversudo apt-get install gnome-panel gnome-settings-daemon metacity nautilus gnome-terminalsudo apt-get install xfonts-100

2021-10-21 10:36:56 68

原创 C/C++逻辑操作

按位操作按位与运算符(&):例如:3&5 即 0000 0011 & 0000 0101 = 0000 0001 因此,3&5的值得1。按位或运算符(|):例如:3|5 即 0000 0011 | 0000 0101 = 0000 0111 因此,3|5的值得7。按位异或运算符(^):参加运算的两个数据,按二进制位进行“异或”运算。运算规则:0^0=0; 0^1=1; 1^0=1; 1^1=0;即:参加运算的两个对象,如果两个相应位为“异

2021-10-19 23:44:25 417

原创 数据结构-散列表

基本概念散列是一种用于以常数平均时间执行插入、删除、和查找的技术,通过关键字key,经由哈希函数,映射到值val的存储地址。装载因子:散列表中元素个数 除以 散列表的大小。是表示 Hsah 表中元素的填满的程度,若加载因子越大,则填满的元素越多,这样的好处是:空间利用率高了,但冲突的机会加大了。反之,加载因子越小,填满的元素越少,好处是冲突的机会减小了,但空间浪费多了。散列冲突:两个不同的key映射到了同一个值的时候。素数:只能被1和自身整除的数(如 2n−12^{n}-12n−1或者2n+12^

2021-10-10 22:13:02 260

原创 广度优先搜索BFS

广度优先搜索是对图中的边进行系统性的探索来发现可以从源节点s到达的所有节点。该算法能够计算从源节点s到每个可达到的节点的距离(最少的边数),同时生成一棵"广度优先搜索树",该树以源节点s为根节点,包含所有可以从s到达的节点,对于每个从源节点s可以到达的节点v,在广度优先搜索树里从节点s到节点v的简单路径所对应的的就是图中从节点s到节点v的最短路径,即包含最少边数的路径。其核心思想就是用一个FIFO的队列维护遍历的节点,然后从队列中去取出节点依次往深层次中遍历。

2021-10-05 23:13:48 58

原创 docker数据持久化

bind mount: 可以存储在宿主机器任何一个地方,但是会依赖宿主机器的目录结构,不能通过docker CLI 去直接管理,并且非docker进程和docker进程都可以修改该路径下的文件volume: 在宿主的文件系统上的docker工作路径下创建一个文件夹(/var/lib/docker/volumes)来存储数据,其他非docker进程是不能修改该路径下的文件,完全由docker来管理tmpfs : 无论是在Docker主机上还是在容器内,tmpfs挂载都不会持久保存在磁盘上,它会将信息存储在

2021-10-05 14:32:46 195

原创 C++11_4种类型转换

* 去掉const/volatile属性用const_cast* 多态中的向下转换用dynamic_cast* 除去上两种的转换,其他转换都可以用static_cast* 针对static_cast无法转换(编译报错的)则可以使用reinterpret_cast强制底层二进制位的转换。

2021-10-04 22:26:16 294

原创 虚函数和虚继承

虚函数表指针:vfptr -> 指向一个虚函数表。虚基类指针:vbptr -> 指向一个虚基类表。带虚函数的多重继承的内存布局#include <iostream>using namespace std;class Base1{public: //三个虚函数 virtual void f() { cout << "Base1::f" << endl; } virtual void g() { cout << .

2021-10-03 12:34:29 185

原创 docker搭建QtCreator开发环境

当我们在开发一个新项目或者有新员工入职时,往往会为折腾开发环境而折腾好久。但docker则可以为我们提供这样一个标准化的镜像方案,大家只需拉取开发镜像即可,而无需去从头配置开发环境。本文以配置ubuntu16.04的Qt开发环境为例加以说明,如何制作一个开发镜像。

2021-10-02 19:47:43 8813 2

原创 dockerfile-新增用户并赋予sudo权限以及指定密码

Dockerfile:# 基础镜像FROM ubuntu:16.04# build参数ARG user=test# 元数据LABEL maintainer="fzzjoy" email="[email protected]"# 安装依赖RUN apt-get update && apt-get install sudo # 添加用户:赋予sudo权限,指定密码RUN useradd --create-home --no-log-init --shell /bin/ba

2021-10-02 18:04:53 12478

原创 Linux查看进程内存空间分布 - pmap

The pmap command reports the memory map of a process or processes.pmap 提供了进程的内存映射,用于显示一个或多个进程的内存状态,报告进程的地址空间和内存状态信息。

2021-09-30 23:43:30 3175

qt-solutions.rar

qt扩展库源码:属性树等

2021-09-01

如何制作DLL接口及使用

具体教程详见:http://blog.csdn.net/u010275850/article/details/53742683

2016-12-19

基于STM32高精度频率计的设计

这是我自己采用STM32的定时器外部计数模式,考虑到了计数溢出中断。开设1s的时钟窗口。数据均通过MATLAB二次拟合处理过,以纠正误差。理论上可以测到1hz-无穷的频率范围(但在本实验中只是测到了1Mhz.对1Mhz以上数据并没进行数据拟合,故认为不在指标内),分辨率为1Hz(因为是开了1s的时间窗口,时间窗口越大,分辨率越高)高精度频率计。避免了输入捕获受输入时钟的大小限制。自己设计的方案。当然数据拟合部分还能分段拟合,精度就更高了。

2014-08-10

18B20串口显示

测试通过,能用。又不懂的可以给我留言,提供技术支持。

2014-05-29

NRF24L01双向通信

基于单片机的NRF24L01通信程序。测试通过,保证能用。

2014-05-29

uCGUI最新固件库

最新的固件库哦,亲测能用哦。是基于KEIL mdk开发使用,一般8、16、32位单片机开发都OK。

2014-04-20

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

TA关注的人

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