/opt/soft/etcd/etcd-v3.4.4-linux-amd64.tar.gz 下载地址:https://github.com/etcd-io/etcd/releases
2018年,当 IBM 以340亿美元的价格收购红帽时,我们看到了自由和开源软件(FOSS)商业模式的重要性。伴随着“开放源码促进会”(Open Source Initiative,OSI)庆祝开源运动20周年,自由和开源软件生态系统也在去年展示了其持久性。
错误现象:无法上传图片,后台log是http v2 not supported yet。
工具 etcdctl - A command line client for etcd etcd-backup - A powerful command line utility for dumping/restoring etcd - Supports v2 etcd-dump - Command line utility for dumping/restoring etcd. etcd-fs - FUSE filesystem for etcd etcddir - Realtime sync etcd
参考 http://blog.ken.io/note/hyper-v-course-setup-centos 安装CentOS虚拟机
Etcd应用背景说明: 在实际生产环境中,有很多应用在同一时刻只能启动一个实例,例如更新数据库的操作,多个实例同时更新不仅会降低系统性能,还可能导致数据的不一致。但是单点部署也使得系统的容灾性减弱,比如进程异常退出 目前进程保活,也有很多方案如supervisor和systemd。但是如果宿主机down掉呢? 所有的进程保活方法都会无济于事,于是我们可以采用基于etcd自带的leader选举机制,轻松的使服务具备了高可用性。
本文使用「署名 4.0 国际 (CC BY 4.0)」许可协议,欢迎转载、或重新修改使用,但需要注明来源。 署名 4.0 国际 (CC BY 4.0)
tc(Traffic Control) 是linux系统中常用的来控制传输速率、模拟网络延时丢包等场景的工具,tc命令有三个主要的概念,是qdisc、class和filter,qdisc又分为classless qdisc和classful qdisc,在控制传输速度的方面大致有两种用法
环境: 手机: 中兴 u887 系统 android2.3.5 调试器: IDA pro 6.5
通过neutron-lbaas实现对https的代理,引用官方的解释https://docs.openstack.org/mitaka/networking-guide/config-lbaas.html,neutron-lbaas是OpenStack负载均衡服务的实现,有lbaas v1和lbaas v2两种实现,其中v1是在Juno版本引入,在Liberty版本被弃用;v2是在Kilo版本引入;v1和v2无法兼容,两种实现都使用agent。agent处理HAProxy配置并管理HAProxy守护进程。另
Coraza是一款功能强大的企业级OWASP Web应用程序防火墙框架,该工具基于Golang开发,不仅支持Modsecurity的Seclang语言,而且能够100%兼容OWASP核心规则集。
一、安装 Zlib 1、下载最新版本 Zlib Zlib 官方网站:http://www.zlib.net/ # cd /usr/local/src # wget -c http://www.zlib.net/zlib-1.2.3.tar.gz 2、编译安装 Zlib # tar xzvf zlib-1.2.3.tar.gz # cd zlib-1.2.3 # ./configure --prefix=/usr/local/zlib # make # make install 这样,就把 zlib 编译安装在 /usr/local/zilib 中了。 二、安装 OpenSSL 1、下载最新版本 OpenSSL OpenSSL 的官方网站:http://www.openssl.org # cd /usr/local/src # wget -c http://www.openssl.org/source/openssl-0.9.8d.tar.gz 2、编译安装 OpenSSL # tar xzvf openssl-0.9.8d.tar.gz # cd openssl-0.9.8d # ./Configure --prefix=/usr/local/openssl # make # make test(这一步很重要哦!是进行 SSL加密协议的完整测试,如果出现错误就要一定先找出哪里的原因,否则一味继续可能导致最终 SSH 不能使用,后果很严重哦!) # make install 三、安装 OpenSSH 1、下载最新版本 OpenSSH OpenSSH 的官方网站:http://www.openssh.com # cd /usr/local/src # wget -c ftp://ftp.it.net.au/mirrors/OpenBSD/OpenSSH/portable/openssh-4.5p1.tar.gz 2、编译安装 OpenSSH # tar xzvf openssh-4.5p1.tar.gz # cd openssh-4.5p1 # ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam --with-zlib=/usr/local/zlib --with-ssl-dir=/usr/local/openssl --with-md5-passwords (注意,如果 configure 时提示 PAM 有错误,那一般是因为系统中没有安装 pam-devel RPM 包,找到安装光盘,安装 pam-devel 就可以解决啦) # make # make install 这样就完成了整个安装 SSH 的工作,在安装完成后,我们还需要修改一下 OpenSSH 的配置文件进一步提升安全性。通过以上步骤完成的安装工作,OpenSSH 的配置文件在 /etc/ssh 下,其中 SSH Server 的配置文件是 sshd_config。 # vi /etc/ssh/sshd_config 找到: CODE: #Protocol 2,1修改为: Protocol 2这样就禁用了 ssh v1 协议,只使用更安全的 ssh v2 协议。 X11Forwarding yes修改为: X11Forwarding no禁用 X11 转发。 修改后保存退出。 ● 生成ssh服务管理脚本 进入ssh解压目录 #cd /contrib/redhat #cp sshd.init /etc/init.d/sshd #chmod +x /etc/init.d/sshd #chkconfig --add sshd 最后,启动 SSH 服务使修改生效: # /etc/init.d/sshd restart 重启后确认一下当前的 OpenSSH 和 OpenSSL是否正确: # ssh -v 如果看到了新的版本号就没问题啦!
编译程序用下列命令: gcc -Wall ssl-client.c -o client gcc -Wall ssl-server.c -o server 运行程序用如下命令: ./server 7838 1 127.0.0.1 cacert.pem privkey.pem ./client 127.0.0.1 7838 用下面这两个命令产生上述cacert.pem和privkey.pem文件: openssl genrsa -out privkey.pem 2048 openssl req -new -x509 -key privkey.pem -out cacert.pem -days 1095 具体请参考 “OpenSSL体系下使用密钥数字证书等” 如果想对SSL有更深入的了解,请学习计算机安全相关的内容,尤其是非对称加密技术。 如果想对SSL库的源代码有深入学习,请去 www.openssl.org 下载源码来阅读。
tcpdump是在Linux下抓包非常好用的命令,但是最近遇到了一个奇怪的抓包结果,就是使用any抓所有interface的时候会显示IP Invalid:
docker run -idt -v /data/docker/registry/:/var/lib/registry -p 5000:5000 --name registry --restart=always registry
部署 HTTPS 网站的时候需要证书,证书由 CA 机构签发,大部分传统 CA 机构签发证书是需要收费的,这不利于推动 HTTPS 协议的使用。
其中coreos.com是启动flannel时-etcd-prefix参数的默认值(/coreos.com/network)
前提条件 已经在qcloud上注册了域名,并随意定义了域名解析地址; 拥有云API秘钥,SecretId、SecretKey; 拥有可外网访问的IP地址; Linux可以访问外网。 获取解析记录 #!/bin/bash domain='你的域名,例如qq.com' subDomain='你希望解析的子域名,例如wx.qq.com,则只输入wx' sId='你的云API秘钥SecretId' sKey='你的云API秘钥SecretKey' signatureMethod='HmacSHA1' timest
这里使用nginx提供一个简单的页面,然后打包成一个镜像,标记tag为v1,修改页面,再次打包镜像,标记tag为v2,以此镜像做此次的示例
因为部署了很多静态网站,且有几十个域名都需要SSL(HTTPS)证书,所以就把Caddy这个大佬上线了(当然你也可以使用acme脚本来自动签发、续签证书),至于Caddy 是个啥,官方首页给出了解释:
instantbox是一款非常实用的项目,它能够让你在几秒内启动一个主流的 Linux 系统,随起随用,支持 Ubuntu, CentOS, Arch Linux, Debian, Fedora 和 Alpine,通过 WebShell 访问,简单快捷,适合于演示、测试、体验等场合。
答案是:使用 docker 本地仓库,将 docker image push 到本地仓库,然后修改 k8s 为从本地仓库拉取 image。
-Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
Etcd是Kubernetes集群中的一个十分重要的组件,用于保存集群所有的网络配置和对象的状态信息。在后面具体的安装环境中,我们安装的etcd的版本是v3.1.5,整个kubernetes系统中一共有两个服务需要用到etcd用来协同和存储配置,分别是:
安装编译环境 dnf install gcc gcc-c++ pcre-devel openssl-devel zlib-devel cmake make go 克隆nginx http3依赖库 $ git clone https://gitee.com/fenghuolingyun/boringssl.git 配置编译依赖 cd boringssl mkdir build cd build cmake -DCMAKE_BUILD_TYPE=Release .. 配置发布稳定版本 默认使用`cmake .
使用私有仓库有许多优点:节省网络带宽,针对于每个镜像不用每个人都去中央仓库上面去下载,只需要从私有仓库中下载即可;提供镜像资源利用,针对于公司内部使用的镜像,推送到本地的私有仓库中,以供公司内部相关人
云审计服务支持删除已创建的追踪器。删除追踪器对已有的操作记录没有影响,当您重新开通云审计服务后,依旧可以查看已有的操作记录。DELETE /v1.0/{project_id}/tracker无无无请参见错误码。
docker 提供了官方的 registry 仓库镜像,可以通过docker hub进行拉取:
在《在tinycorelinux上安装lxc,lxd(1)》中我们讲到源码适配gcc443,由c11退回c99的一些处理,这里依然要处理大量gnu11的事。
存储地理位置的数据结构 应用场景 朋友的定位,附近的人,打车距离计算 Geospatial底层使用的是Zset
很多同学这里就会卡住,所以还是要仔细看看报错的日志,这里说 libuv 找不到,那换个思路,先 brew install libuv,发现成功了。
Harbor(港口,港湾)是一个用于存储和分发Docker镜像的企业级Registry服务器
创建数据挂载目录并赋予权限:以 UID 200 的形式运行 mkdir ./data && chown -R 200 ./data
我住的小区使用了一个叫守望领域的智能门禁系统,可以通过手机App开小区门禁和单元门,但是用App开门需要经过四五步:打开App→进入开门界面→找到需要开的门→点击开门。
本文介绍最新版本的 Docker CE 安装。 本文内容来自我参与维护的 《Docker 从入门到实践》 项目。 CentOS 7 配置 REPO Install yum-utils, which provides the yum-config-manager utility: $ sudo yum install -y yum-utils \ device-mapper-persistent-data \ lvm2 # 官方源 # $ sudo yum-config-manager \
使用 podman 运行单 pod 集成以上所有容器方式的部署脚本请 参考此处[9](未集成 Clair)。
示例集群有三个主节点,以及一个虚拟 IP 地址。本示例中的虚拟 IP 地址也可称为“浮动 IP 地址”。这意味着在节点故障的情况下,该 IP 地址可在节点之间漂移,从而实现高可用。
Docker 私有库 为什么需要: 严格控制图像的存储位置 完全拥有您的图像分发管道 将图像存储和分发紧密集成到您的内部开发工作流程中 基本命令 # 1. 启动 docker run -d -p 5000:5000 --restart=always --name registry registry:2 # 关闭并删除容器 # docker stop registry # docker rm registry # 2. 查看registry当前仓库的镜像 curl http://10.10.1.45:500
注意数据将不定期清理,生产使用请自行部署 包含敏感信息,务必自己本地部署进行生产使
官网描述: Podman是一个无守护进程的容器引擎,用于在Linux系统上开发、管理和运行OCI容器(开源的容器管理工具)。容器可以作为根运行,也可以以无根模式运行。简单地说:alias docker=podman简单的说它是下一代容器。
[TOC] 0x00 基础介绍 Q:什么是Podman? 官网描述: Podman是一个无守护进程的容器引擎,用于在Linux系统上开发、管理和运行OCI容器(开源的容器管理工具)。容器可以作为根运行
So, RFC means Request For Comments and they are a bunch of text files that describe different protocols. If you want to understand how SSL, TLS (the new SSL) and x509 certificates (the certificates used for SSL and TLS) all work, for example you want to code your own OpenSSL, then you will have to read the corresponding RFC for TLS: rfc5280 for x509 certificates and rfc5246 for the last version of TLS (1.2).
部署Redis集群 # 创建网卡 docker network create redis --subnet 172.38.0.0/16 # 通过脚本创建六个redis配置 for port in $(
领取专属 10元无门槛券
手把手带您无忧上云