云溪的 blog
  • Archive
  • Media
  • Search
  • Tags
  • About
Home

Posts

etcd入门系列二:etcd开启https

etcd入门系列 一. etcd在docker中的安装与使用 二. etcd 开启 https 三. 身份验证访问控制 四. 开启客户端证书访问 上节(etcd在docker中使用)etcd已经可以正常使用,这节讲讲如何开启htpps 1 生成签名 1.1 下载 cfssl mkdir ~/bin curl -s -L -o ~/bin/cfssl https://pkg.cfssl.org/R1.2/cfssl_linux-amd64 curl -s -L -o ~/bin/cfssljson https://pkg.cfssl.org/R1.2/cfssljson_linux-amd64 chmod +x ~/bin/{cfssl,cfssljson} export PATH=$PATH:~/bin 需要注意的是,这里是以linux的64位为例,如果你是其他系统,请修改成对应系统的cfssl包 1.2 初始化证书 使用cfssl模板生成ca-config.json,ca-csr.json mkdir ~/cfssl cd ~/cfssl cfssl print-defaults config > ca-config.json cfssl print-defaults csr > ca-csr.json 1.3 证书介绍 客户端证书(client certificate):用于服务器对客户端进行身份验证.例如 etcdctl, etcd proxy, docker 等客户端. 服务器证书(server certificate):服务器端使用,用于客户端验证服务器身份.例如 docker 服务器, kube-apiserver 对等证书(peer certificate):用于etcd集群间的双向通讯 1....

November 21, 2018 · 3 min · 云溪

etcd入门系列一:etcd 在 docker 中使用

etcd入门系列 一. etcd在docker中的安装与使用 二. etcd 开启 https 三. 身份验证访问控制 四. 开启客户端证书访问 简介 etcd是CoreOS团队于2013年6月发起的开源项目,它的目标是构建一个高可用的分布式键值(key-value)数据库。etcd内部采用raft协议作为一致性算法,etcd基于Go语言实现。 etcd作为服务发现系统,有以下的特点 简单:安装配置简单,而且提供了HTTP API进行交互,使用也很简单 安全:支持SSL证书验证 快速:根据官方提供的benchmark数据,单实例支持每秒2k+读操作 可靠:采用raft算法,实现分布式系统数据的可用性和一致性 etcd项目地址:https://github.com/coreos/etcd/ 构建镜像 1.创建dockersfile$ sudo touch Dockerfile 2.$ sudo vim Dockerfile编辑Dockerfile文件,写入内容如下: FROM alpine:latest ADD etcd /usr/local/bin/ ADD etcdctl /usr/local/bin/ RUN mkdir -p /var/etcd/ RUN mkdir -p /var/lib/etcd/ # Alpine Linux doesn't use pam, which means that there is no /etc/nsswitch.conf, # but Golang relies on /etc/nsswitch.conf to check the order of DNS resolving # (see https://github....

November 19, 2018 · 2 min · 云溪

Windows修改命令行标题

修改命令行标题 cmd title new title Console2 title new title PowerShell [System.Console]::Title = "new title"

November 15, 2018 · 1 min · 云溪

swoft openWhere使用指南

open/close where 理解 openWhere 为where条件的左边括号即( closeWhere 为where条件的右边括号即) 实例 //默认连接符为AND Query::table("order")->openWhere()->where('id','1')->where('state', 3)->closeWhere()->openWhere()->where('id', 3)->where('state', 2)->closeWhere()->one()->getResult(); //执行结果为: SELECT * FROM `order_1` WHERE ( `id` = '1' AND `state` = '3') AND ( `id` = '3' AND `state` = '2') LIMIT 0,1 //设置连接符为or Query::table("order")->openWhere()->where('id','1')->where('state', 3)->closeWhere()->openWhere(QueryBuilder::LOGICAL_OR)->where('id', 3)->where('state', 2)->closeWhere()->one()->getResult(); //执行结果 SELECT * FROM `order_1` WHERE ( `id` = '1' AND `state` = '3') OR ( `id` = '3' AND `state` = '2') LIMIT 0,1

November 15, 2018 · 1 min · 云溪

Sqlite3 stdlib.h: No such file or directory

sqlite3/backup.go:14:20: fatal error: stdlib.h: No such file or directory 错误提示 # github.com/mattn/go-sqlite3 ../../../.go/src/github.com/mattn/go-sqlite3/backup.go:14:20: fatal error: stdlib.h: No such file or directory compilation terminated. 解决方法 sudo apt-get install g++ 参考链接 mattn/go-sqlite3/issues

September 23, 2018 · 1 min · 云溪
« Prev  Next  »
© 2026 云溪的 blog 备案号: 苏ICP备2026029040号-1