- 博客(58)
- 资源 (1)
- 收藏
- 关注
原创 Kubernetes 入门篇之网络插件 calico 部署与安装
在运行 和 命令部署好和节点后, 看到节点都是状态,这是因为没有安装网络插件。1. 安装通过命令 安装:1) 直接通过官方yaml文件安装,国内一般都下载不了,需要翻墙2) 先下载下来,然后执行, 本文采用的这种方式2. 下载镜像到本地因为中的 默认使用的是官方源,国内下载不下来,需要先把镜像拉取到本地,从本地镜像启动。下载地址:calico国内镜像下载地址本文这里把 写成了脚本 , 具体下载版本可以根据需要自行修改。3. 修改calico.yaml由于上面 给镜像 就是打的, 所以保证后
2025-04-09 19:39:34
250
原创 Kubernetes 入门篇之 Node 安装与部署
Token默认有效期为24小时,可通过–ttl参数调整,如kubeadm token create --ttl 0设置永不过期(不推荐生产环境使用)。如果安装好后没有记住可以在。成功加入集群后,可以在。
2025-04-02 22:09:29
244
原创 Kubernetes 入门篇之Master节点部署与安装
不安装这个部署时会报错 3.12中的错误 ,先安装依赖包。yum makecache 更新源缓存。), 官方文档推荐的有4种,这里选择。查看 kubelet 服务状态。),导致其尝试连接无效的路径。未显式配置容器运行时端点(,不安装这个后面会报错。默认尝试连接已弃用的。,是还没有安装网络插件。
2025-04-01 22:49:42
425
原创 从源码制作rpm包
发现Makefile文件中的前缀是大写的PREFIX,因为Makefile文件对大小写文件敏感,所以make install 中的prefix参数没生效,改成PREFIX后,并覆盖Makefile文件中LIBRARY_PATH值。编写 RPM 包的元数据文件~/rpmbuild/SPECS/myapp.spec。将源码包放入 ~/rpmbuild/SOURCES/这时会在root下生成一个rpmbuild目录。下面以构建cjson包为例。
2025-03-21 11:21:11
306
原创 linux systemd 服务连续启动失败,不会再重启分析
由于restart使用的选项是alwayls,所以按常理服务应该会一直尝试重启,但是实际是服务重启了5次失败后就没有再重启。
2025-01-17 11:01:58
641
原创 制作容器基本镜像
由于项目使用麒麟操作系统,需要在麒麟桌面操作系统和服务器操作系统里编译代码,如果每次都在物理机和虚拟机里编译太不方便,也无法使用常用的。V10服务器系统默认docker是启动的,执行systemctl status docker 看是否docker正常运行。组成的 CI/CD 编译环境,如果基于整个ISO太大了,现基于ISO 构建出一个小点的基础镜像。ky10-server.tar 就是docker基础镜像了。1.7 查看 /ky10-docker-server。1.9 将tar包导入docker。
2024-12-14 21:38:09
528
原创 podman 源码 5.3.1编译
参考资料: (https://podman.io/docs/installation#building-missing-dependencies)由于只是编译 podman 源码,没必要安装一个这样的操作系统,故采用在虚拟机里验证。
2024-11-26 09:49:19
487
转载 write-back与Write-through
Cache写机制:Write-through与Write-back通常有三种方法:write through:CPU向cache写入数据时,同时向memory(后端存储)也写一份,使cache和memory的数据保持一致。优点是简单,缺点是每次都要访问memory,速度比较慢。post write:CPU更新cache数据时,把更新的数据写入到一个更新缓冲器,在合适的时候才对memory(后端存储)进行更新。这样可以提高cache访问速度,但是,在数据连续被更新两次以上的时候,缓冲区将不
2021-12-29 16:42:38
2297
原创 2021-01-03
ssh免密登录检查/etc/ssh/sshd_config配置文件PermitRootLogin yes root用户PubkeyAuthentication yes 公钥认证PasswordAuthentication yes 密码认证免密设置在A服务器生成密钥cd ~/.ssh/ssh-keygen -t rsa到B服务上清空 authorized_keys,后面方便检查A服务器的公钥是否复制成功echo > authorized_keys
2021-01-03 16:12:11
265
原创 Openstack部署 queens版本问题总结
Openstack部署 queens版本问题总结参考官网:https://docs.openstack.org/install-guide/openstack-services.htmlhttps://blog.youkuaiyun.com/networken/article/details/80682437安装openstack yum源yum install centos-release-openstack-queens为了能使用yum方式快速安装openstack 各组件也可以自己配置repo利
2020-09-09 10:08:28
902
转载 Redhat7在线编译安装gcc7.5
参考:https://www.cnblogs.com/music-liang/p/12900457.htmlhttps://blog.youkuaiyun.com/analogous_love/article/details/97823301https://my.oschina.net/panquanxing/blog/3070964安装步骤:gcc 下载地址http://mirror.hust.edu.cn/gnu/gcc/ 国内镜像源wget https://ftp.gnu.org/gn
2020-07-05 10:19:26
1844
原创 http协议详解
HTTP协议简介:HTTP协议(HyperText Transfer Protocol,超文本传输协议)是因特网上应用最为广泛的一种网络传输协,是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。HTTP 工作原理:HTTP协议工作于客户端-服务端架构上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。HTTP协议定义Web客户端如何从Web服务器请求Web页面,以及服务器如何把Web页面传送给客户端。HTTP协议采用了请求/响应模型。
2020-05-10 21:24:53
557
转载 cookie
Cookie是由服务器端生成,发送给User-Agent(一般是浏览器),浏览器会将Cookie的key/value保存到某个目录下的文本文件内(C:\Users\xxx\AppData\Local\Google\Chrome\User Data\Default),下次请求同一网站时就发送该Cookie给服务器。1. 1 Cookie机制在程序中,会话跟踪是很重要的事情。理论上,一个用户的所有请求操作都应该属于同一个会话,而另一个用户的所有请求操作则应该属于另一个会话,二者不能混淆。例如,用户A在超市购
2020-05-10 15:46:55
170
原创 c++回调函数
在项目中看到回调函数,总结一下:回调函数的几个条件:定义一个指向函数的指针声明被回调函数调用回调函数的宿主函数本例子将回调函数注册到一个map中,在消息类触发的服务器应用中常见,比如游戏服务器话不多说:直接上代码版本1:定义一个指向函数的指针CallBack.h#ifndef __CALLBACK_H__#define __CALLBACK_H__#include <iostream>#include <map>#include <string&
2020-05-08 21:00:03
831
原创 C++不定参数打印调试日志或写入文件
主要用到c语言的_va_args__宏参考:http://www.cplusplus.com/reference/cstdarg/va_list/#ifndef __LOGGER_H#define __LOGGER_H#include <stdio.h>#include <stdarg.h>#include <stdlib.h>#include ...
2020-04-03 17:22:38
697
转载 C++多态调用实现原理(虚函数表详解)
转载 https://blog.youkuaiyun.com/shanghx_123/article/details/82973791
2020-04-03 09:50:13
176
原创 python set不能添加list,dict, set的原因
set不能添加list,dict, set的原因## 标题python 的集合set中的元素是唯一的,即哈希表(hashable)类型,因此集合中的元素必须是不可变类型而list,dict, set是可变类型, number,string,tuple是不可变类型arr_set = set()arr_set.add([1,2])print(arr_set)编译提示:arr_set.a...
2019-11-14 11:38:52
2562
原创 python is与==的区别
is与==的区别is 用于判断两个变量引用对象是否为同一个, == 用于判断引用变量的值是否相等。>>>a = [1, 2, 3]>>> b = a>>> b is a True>>> b == aTrue>>> b = a[:]>>> b is aFalse>&...
2019-11-14 11:24:49
184
原创 Linux线程同步之条件变量
1.条件变量:与互斥锁不同,条件变量是用来等待而不是用来上锁的。条件变量用来自动阻塞一个线程,直到某特殊情况发生为止。通常条件变量和互斥锁同时使用。条件变量之所以要和互斥锁一起使用,主要是因为互斥锁的一个明显的特点就是它只有两种状态:锁定和非锁定,而条件变量可以通过允许线程阻塞和等待另一个线程发送信号来弥补互斥锁的不足,所以互斥锁和条件变量通常一起使用。条件变量使线程可以睡眠等待某种条件出现...
2019-06-22 12:02:30
258
原创 Linux线程同步之互斥锁
1.互斥锁作用:互斥锁mutex是用来保护线程间共享的全局变量安全的一种机制,保证多线程中在某一时刻只允许某一个线程对临界区的访问。2.初始化方式:互斥锁对象的数据类型是 pthread_mutex_t ;互斥锁的初始方式分为静态方式和动态方式://动态初始化互斥锁方式int pthread_mutex_init(pthread_mutex_t *restrict mutex, con...
2019-06-20 18:34:07
927
原创 epoll总结
Epollepoll操作由三个函数构成:头文件为 #include <sys/epoll.h>#include <sys/epoll.h>int epoll_create(int size);int epoll_ctl(int epfd, int op, int fd, struct epoll_event *event);int epoll_wait(in...
2019-05-24 19:50:05
458
转载 常量指针与指针常量
理解常量指针与指针常量constant*前面的是对被指向对象的修饰,*后面的是对指针本身的修饰常量指针(被指向的对象是常量)定义:又叫常指针,可以理解为常量的指针,指向的是个常量关键点:常量指针指向的对象不能通过这个指针来修改,可是仍然可以通过原来的声明修改常量指针可以被赋值为变量的地址,之所以叫常量指针,是限制了通过这个指针修改变量的值;指针还可以指向别处,因为指针...
2019-05-23 10:09:55
194
原创 c++98到c++11成员变量初始化的变化
c++98允许在类中使用“=”对静态常成员变量初始化c++11支持在类中对非静态成员变量进行初始化,但只支持“=”,不支持"()"两者都不支持对静态非常成员变量的初始化 9 #include <iostream> 10 #include <string> 11 12 class Init 13 { 14 public: 15 void...
2019-04-28 17:54:47
862
转载 C++中利用迭代器删除元素
转自:https://blog.youkuaiyun.com/yf_li123/article/details/75003425#comments(1)对于关联容器(如map,set,multimap,multiset),删除当前的iterator,仅仅会使当前的iterator失效,只要在erase时,递增当前的iterator即可。这是因为map之类的容器,使用了红黑树来实现,插入,删除一个结点不会对其...
2019-04-22 18:09:14
4895
2
原创 C++ 模板函数与类模板
1.函数模板函数模板提供了一种函数行为,该函数行为可以用多种不同的类型进行调用,也即是说,函数模板代表一个函数家族。#include&amp;lt;iostream&amp;gt;template&amp;lt;typename T&amp;gt;T max(T const&amp;amp; a, T const&amp;amp; b){ return a&amp;lt
2019-04-17 16:58:26
335
原创 拷贝构造函数与移动构造函数
左值与右值的区别左值持久,右值短暂(右值要么是字面值常量,要么是表达式求值过程中创建的临时变量)左值是变量,右值不能被赋值左值引用与右值引用右值引用是为了支持移动操作,通过&&来获得右值引用左值引用是相对于右值引用的,通过&来获得int i = 42;int &r = i; //正确,r引用iint &&rr = ...
2019-04-11 21:09:33
9118
原创 makefile编译静态库与动态库
在大型的项目中,一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中。为了方便调用其他文件夹中的文件,最通用的方法就是将一些文件编译成静态的库或动态库,这样在包含其他文件夹的头文件时可以更加简便。1.编译静态库bin :存放可执行文件build:存放编译生产的二进制文件(xx.o)include:存放程序编译时需要调用的头文件(xx.h)lib:存放程序链接时(生成可执行...
2019-03-17 23:40:13
9882
1
转载 Makefile中wildcard的介绍
在Makefile规则中,通配符会被自动展开。但在变量的定义和函数引用时,通配符将失效。这种情况下如果需要通配符有效,就需要使用函数“wildcard”,它的用法是:$(wildcard PATTERN…) 。在Makefile中,它被展开为已经存在的、使用空格分开的、匹配此模式的所有文件列表。如果不存在任何符合此模式的文件,函数会忽略模式字符并返回空。需要注意的是:这种情况下规则中通配符的展开和...
2019-02-25 18:54:33
603
原创 ctags的安装,设置与使用
1. 安装ctags两种方法:在redhat系统中,可以直接通过yum -y install ctags安装(在yum源配置好的情况下),然后通过ctags --help 查看是否安装成功,如果显示一大堆命令信息表明安装成功下载ctags-5.8.tar.gzi)在终端解压:tar -zxvf ctags-5.8.tar.gzii)进入到ctags-5.8目录,执行: ./confi...
2019-02-23 11:18:14
7253
原创 shell $@,$#,$0,$?参数的含义
1.$#, $0, $1,$@,$*,$$, $?的含义变量 含义$# 传递给脚本或函数的参数个数。$0 当前脚本的文件名$n 传递给脚本或函数的参数。n 是一个数字,表示第几个参数。例如,第一个参数是$1,第二个参数是$2。$* 传递给脚本或函数的所有参数,以一个字符串的形式显示所有输入的参数$@ 传递给脚本或函数的所有参数。被双引号(" ")包含时,与 $* 稍有不同,下面...
2019-02-21 20:36:58
701
原创 C++ 静态成员的使用
C++中的静态成员(静态成员函数和静态数据成员)属于类所有,不属于类的对象,与普通的成员相比,静态成员无this指针。1.静态数据成员class A{ public: static void print() { cout << "x="<<x << endl; //通过公有成员函数访问私有静态数据成员 } stat...
2019-02-14 17:07:45
5133
4
转载 epoll机制详解:
大家都明白epoll是一种IO多路复用技术,可以非常高效的处理数以百万计的socket句柄,比起以前的select和poll效率高大发了。在Linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询...
2019-02-01 17:44:56
7846
2
原创 根据网卡名称编号获取指定网卡IP地址
有时我们需要动态的根据网卡编号来获取IP地址,如果在配置文件里配置ip的话就不能动态的实现了,而linux下的ioctl()函数则提供了实现的途径。 ioctl是设备驱动程序中对设备的I/O通道进行管理的函数。所谓对I/O通道进行管理,就是对设备的一些特性进行控制,例如串口的传输波特率、马达的转速等等。它的调用个数如下:int ioctl(int fd, ind cmd, …);其中fd是用...
2019-01-31 13:31:28
2326
2
原创 Effective C++ 随笔 1
最近在看Effective C++,结合自己的工作实践做点笔记,一来方便自己日后查看,二来鞭策自己不断学习。1.为需要动态分配内存的类声明一个拷贝构造函数和一个赋值操作符class String{ public: String(const String&amp;amp;); //拷贝构造函数 String&amp;amp; operator=(const Strin...
2019-01-26 16:34:12
212
原创 auto使用
C++11引入了类型说明符auto,它给我们带来了方便,但有时也会因为使用不当而造成错误。说明:auto只能用于识别类型。如int,string,类类型等auto不能代替引用&amp;amp;总结:所以函数的返回值带引用时,用auto时也必须带上&amp;amp;,不然会出错...
2019-01-24 12:35:32
400
1
原创 define中的特殊符号\,#,##的作用
1. 符号"\"用于多行定义,每行的最后加上"\"#define MAX(a,b) \ if(a>b)\ return a;\ else\ return b;2.符号"#“和”##"#是把参数字符串化, ##是连接两个参数#include <iostream>using namesapce std;#define A(x) x#def...
2019-01-20 16:55:12
4467
1
转载 C++ explict关键字
首先, C++中的explicit关键字只能用于修饰只有一个参数的类构造函数, 它的作用是表明该构造函数是显示的, 而非隐式的, 跟它相对应的另一个关键字是implicit, 意思是隐藏的,类构造函数默认情况下即声明为implicit(隐式).那么显示声明的构造函数和隐式声明的有什么区别呢? 我们来看下面的例子:class CxString // 没有使用explicit关键字的类声明, 即...
2019-01-09 15:17:02
386
原创 Effective STL随笔
本节主要讲讲自己工程项目中常用到的一些与Effiective STL有关的内容:1.尽量使容器对象的拷贝轻量在涉及到容器对象的拷贝时,常建立指针的容器,因为在对象含有大量数据时,拷贝指向对象的指针比拷贝整个对象明显更加高效和安全。struct Aptitude{ int a; double b; float c; char d; ........
2019-01-06 22:29:13
133
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人