curl

saltstack 实践

与世无争的帅哥 提交于 2020-08-10 10:12:05
salt 多master搭建及salt-api调用 环境: OS:CentOS6.7 Python3.6 + pip Saltstack 3001 Master: A c61 192.168.122.201 C c63 192.168.122.203 Slave: B c62 192.168.122.202 D c64 192.168.122.204 安装软件: pip install salt cherrypy 一、 salt多master实践 A/C: salt-master B/D: /etc/salt/minion master: - c61 - c63 id: 192.168.122.202 (B) id: 192.168.122.204 (D) 启动 salt-minion A/C: salt-key -A (接受B/D加入) 完成搭建 1.系统yum安装的saltstack 2015.5.11版本,搭建多master不成功 2.当前单master的minion节点,修改配置后,需要重启salt-minion服务,新master做好信任 二、 salt-api搭建 $ salt-call --local tls.create_self_signed_cert /etc/salt/master default_include: master.d/*.conf /etc

第十二章 Shell脚本编写及常见面试题(一)

半城伤御伤魂 提交于 2020-08-10 09:47:09
注意事项 1)开头加解释器:#!/bin/bash 2)语法缩进,使用四个空格;多加注释说明。 3)命名建议规则:变量名大写、局部变量小写,函数名小写,名字体现出实际作用。 4)默认变量是全局的,在函数中变量local指定为局部变量,避免污染其他作用域。 5)有两个命令能帮助我调试脚本:set -e 遇到执行非0时退出脚本,set-x 打印执行过程。 6)写脚本一定先测试再到生产上。 本章目录: 12.1 获取随机字符串或数字 获取随机8位字符串: 方法1: # echo $RANDOM |md5sum |cut -c 1-8 471b94f2 方法2: # openssl rand -base64 4 vg3BEg== 方法3: # cat /proc/sys/kernel/random/uuid |cut -c 1-8 ed9e032c 获取随机8位数字: 方法1: # echo $RANDOM |cksum |cut -c 1-8 23648321 方法2: # openssl rand -base64 4 |cksum |cut -c 1-8 38571131 方法3: # date +%N |cut -c 1-8 69024815 cksum:打印CRC效验和统计字节 12.2 定义一个颜色输出字符串函数 方法1: function echo_color() { if [

原生Ingress灰度发布能力不够?我们是这么干的

我的梦境 提交于 2020-08-10 09:31:02
灰度发布是一种常见的服务滚动升级或 A/B 测试策略。在新版本服务正式发布前,可以部署少量的新版本服务和上个版本共存,用部分生产流量测试新版本的功能和特性。如果新版本反馈良好,则可以渐进地提高新版本的比例或者全部替换成新版本,如果有问题也能够及时撤回,不至于造成太大范围的影响。 目前,原生容器发布基本都是使用 deployment,通过给 deployment 和 service 灵活配置 labels ,可以实现一种基于服务版本的灰度发布。 由于原生 Ingress 对象描述能力的限制,一些常见 Ingress controller 的灰度发布功能也大打折扣,很难满足用户灰度发布的实际需求。 博云基于原生Ingress,做了大量增强,基于请求特征的灰度发布是其中一个重要特性。 使用 deployment 实施灰度发布 通过配置 pod labels 和 service label selector,Kubernetes 原生支持灰度发布。假设我们部署了 echo-demo 服务的两个版本的 deployment: echo-demo-v1.yaml name: echo-demo-v1 replicas: 3 ... labels: app: echo-demo track: stable ... image: deploy.bocloud/ingress/echo-demo:1

从企业微信机器人到小爱同学,用 Serverless 实现生活智能化!

早过忘川 提交于 2020-08-10 09:05:10
通过定时触发器,可以简单快速地定制一个企业微信机器人。我们可以用它来实现喝水、吃饭提醒等小功能,还能实现定时推送新闻、天气,甚至是监控告警的小功能。 使用企业微信机器人 在企业微信中,选择添加机器人: 之后,我们可以根据文档进行企业微信机器人的基础功能定制: 以下是用 curl 工具往群组推送文本消息的示例(注意要将 url 替换成机器人的 webhook 地址,content 必须是 utf8 编码): curl '企业微信机器人地址' \ -H 'Content-Type: application/json' \ -d ' { "msgtype": "text", "text": { "content": "hello world" } }' 通过 Python 语言实现: url = "" data = { "msgtype": "markdown", "markdown": { "content": "hello world", } } data = json.dumps(data).encode("utf-8") req_attr = urllib.request.Request(url, data) resp_attr = urllib.request.urlopen(req_attr) return_msg = resp_attr.read().decode("utf

Linus通过了Linux中避免master/slave等术语的提案

蹲街弑〆低调 提交于 2020-08-10 07:31:15
Linux 内核维护者 Dan Williams 曾于 7 月初提交一份提案,建议逐步取消 master/slave 和 blacklist/whitelist 术语。近日,Linus Torvalds 则在 Linux 5.8 版本库的拉取请求中 批准 了该提议。 自此,Linux 开发人员则需要使用新的术语来替代 master/slave 和 blacklist/whitelist 的使用。 拟议的 master/slave 替代术语包括有: primary/secondary main/replica or subordinate initiator/target requester/responder controller/device host/worker or proxy leader/follower director/performer 拟议的 blacklist/whitelist 替代术语包括有: denylist/allowlist blocklist/passlist 目前,Linux 团队并没有推荐任何具体的术语,而是要求开发人员根据情况进行选择,新的术语将用于为 Linux 内核编写的新源代码及其相关文档。而旧的术语将只被允许用于维护旧的代码和文档,或 "在为现有的(截至 2020 年)强制使用这些术语的硬件或协议规范更新代码时"才可以进行使用。

es集群笔记

ぐ巨炮叔叔 提交于 2020-08-10 07:25:12
es 集群的默认配置是当集群中的某个节点磁盘达到使用率为 85% 的时候, 就不会在该节点进行创建副本, 当磁盘使用率达到 90% 的时候, 尝试将该节点的副本重分配到其他节点. 当磁盘使用率达到 95% 的时候, 当前节点的所有索引将被设置为只读索引. 检查ES集群状态: curl -XGET localhost:9200/_cluster/health?pretty curl -u root:changeme -XGET http://ip:9200/_cluster/health?pretty 查看索引状态,比如有没有red情况 curl -XGET localhost:9200/_cat/indices?v 查看分片的状态 [root @node1 bin]# curl -s -XGET localhost:9200/_cat/shards?v 节点是否正常运行 curl -XGET http://127.0.0.1:9200/_cat/nodes?v curl http://localhost:9200/_cat/indices?v health status index uuid pri rep docs.count docs.deleted store.size pri.store.size index:索引名 status:是否启用 rep:副本数

github 克隆 项目代码失败解决办法

ぐ巨炮叔叔 提交于 2020-08-10 06:31:19
克隆代码报以下错误 Early EOF the remote end hung up unexpectedly index-pack failed RPC failed; curl 56 OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 10054 执行命令 git config --global http.postBuffer 5242880000 修改hosts文件 # fix git clone github project failed 140 .82 .113 .3 github .com 199 .232 .5 .194 github .global .ssl .fastly .net 192 .30 .253 .120 codeload .github .com cmd命令刷新DNS解析 ipconfig /flushdns 来源: oschina 链接: https://my.oschina.net/u/2358780/blog/4478315

git push rejected

梦想与她 提交于 2020-08-10 03:38:19
在ideal里面突然无法提交代码了 于是使用命令行: git push; 报错: 写入对象中: 100 % ( 30 / 30 ), 3.62 KiB | 928.00 KiB/ s, 完成. 总共 30 (差异 13 ),复用 0 (差异 0 ) remote: ====================================================================== remote: git log 中发现 yinfuqing@ 163 .com 邮箱不符合要求,请务必使用公司邮箱。 remote: 请再项目下面设置正确 Git 提交信息: remote: remote: git config user.name ' fuqing.yfq ' remote: git config user.email ' fuqing.yfq@alibaba-inc.com ' remote: git - m remote: remote: 后面一个指令使用了 git -m 命令自动修改 log 信息,获得 git- m 方法: remote: remote: Redhat: remote: sudo yum install git -m -b test - y remote: Windows: remote: 在 msysgit 的命令行中运行: remote

Eureka设置服务上下线&Spring Cloud应用优雅上下线

让人想犯罪 __ 提交于 2020-08-10 00:40:18
Eureka设置服务上下线 被动下线(默认) 等待若干秒后,eureka server自动剔除失效的服务地址。(见Eureka配置优化) 直接执行http请求 shell命令执行(成功:200;失败:404,500) # 如果服务还存活着,那么在一定的时间内,服务会重新注册(非强制) curl -X DELETE "http://[ip]:[port]/eureka/apps/[your_app_name]/[your_instance_id]" -I # 强制上线/下线/移除服务(强制) curl -X PUT "http://192.168.1.248:8761/eureka/apps/CONFIG-SERVER/192.168.1.248:8088/status?value=UP" -I curl -X PUT "http://192.168.1.248:8761/eureka/apps/CONFIG-SERVER/192.168.1.248:8088/status?value=DOWN" -I curl -X PUT "http://192.168.1.248:8761/eureka/apps/CONFIG-SERVER/192.168.1.248:8088/status?value=OUT_OF_SERVICE" -I # 恢复以上强制操作为原始状态(解除强制覆盖

docker在centOS7下安装与使用

自闭症网瘾萝莉.ら 提交于 2020-08-09 21:29:51
docker启动停止 sudo systemctl start docker.service sudo systemctl stop docker.service sudo systemctl restart docker.service sudo systemctl status docker.service sudo systemctl enable docker sudo docker ps -a ## <-- 列出已有的images ## sudo docker stop 17dd4ab4cda2 ##<-- 17dd4ab4cda2为container id ## sudo docker rm 17dd4ab4cda2 ##<-- 删除container id ## sudo docker rmi image_name ##<-- 删除images ## sudo docker ps -a | grep Exit | awk '{print $1}' | xargs docker rm ##<-- 删除exit的images ## docker info ## <-- 确认Docker是否正确安装 ## # docker rm --force `docker ps -qa` 遇到问题 cenOS启动docker后,虚拟机ping不通? 原因是docker守护进程