自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(163)
  • 资源 (5)
  • 收藏
  • 关注

原创 深入浅出 Kubernetes 控制器的工作原理

Kubernetes 中运行了一系列控制器来确保集群的当前状态与期望状态保持一致,它们就是 Kubernetes 的大脑。例如,ReplicaSet 控制器负责维护集群中运行的 Pod 数量;Node 控制器负责监控节点的状态,并在节点出现故障时及时做出响应。总而言之,在 Kubernetes 中,每个控制器只负责某种类型的特定资源。对于集群管理员来说,了解每个控制器的角色分工至关重要,如有必要,你还需要深入了解控制器的工作原理。本文我将会带你深入了解 Kubernetes 控制器的内部结构、基本组件以及

2021-01-12 09:30:34 1298

原创 Uber Go 语言编程规范

相信很多人前两天都看到 Uber 在 github 上面开源的 Go 语言编程规范了,原文在这里:https://github.com/uber-go/guide/blob/master/style.md 。我们今天就来简单了解一下国外大厂都是如何来写代码的。行文仓促,错误之处,多多指正。另外如果觉得还不错,也欢迎分享给更多的人。[TOC]1. 介绍英文原文标题是 Uber Go Style Guide,这里的 Style 是指在管理我们代码的时候可以遵从的一些约定。这篇编程指南的初衷是更好

2020-12-30 18:05:12 408

转载 Go Modules 踩坑总结

微信公众号「后端进阶」,专注后端技术分享:Java、Golang、WEB框架、分布式中间件、服务治理等等。在 Java 的项目中,有 Maven 和 Gradle 这些很好用的依赖版本管理工具,简直不要太方便了,但是在 Golang 的项目中,之前的 Golang 官方并没有提供版本管理工具,我们以前用 go get 获取依赖其实是有潜在危险的,因为我们不确定最新版依赖是否会破坏掉我们项目对依赖包的使用方式,即当前项目可能会出现不兼容最新依赖包的问题。之后官方出了一个 vendor 机制,将项...

2020-08-11 14:22:08 909

原创 Linux scp 设置nohup后台运行

Linux scp 设置nohup后台运行1.正常执行scp命令 2.输入ctrl + z 暂停任务 3.bg将其放入后台 4.disown -h 将这个作业忽略HUP信号 5.测试会话中断,任务继续运行不受影响1.正常执行scp命令从oradb30机器拷贝一个文件夹到oradb31机器:scp -r /u01/media/Disk1/ 192.168.1.31:/u01/me...

2020-01-15 01:39:09 965 1

转载 Linux scp 设置nohup后台运行

Linux scp 设置nohup后台运行Linux scp 设置nohup后台运行1.正常执行scp命令 2.输入ctrl + z 暂停任务 3.bg将其放入后台 4.disown -h 将这个作业忽略HUP信号 5.测试会话中断,任务继续运行不受影响1.正常执行scp命令从oradb30机器拷贝一个文件夹到oradb31机器:scp -r /u01/media/D...

2020-01-14 23:26:52 294 1

转载 iptables防火墙工作原理

简介:iptables防火墙工作在网络层,针对TCP/IP数据包实施过滤和限制,iptables防火墙基于内核编码实现,具有非常稳定的性能和高效率;   iptables属于“用户态”的防火墙管理体系。规则表...

2019-03-27 09:47:14 1715

转载 iptables命令、规则、参数详解

表 (table)包含4个表:4个表的优先级由高到低:raw-->mangle-->nat-->filterraw---RAW表只使用在PREROUTING链和OUTPUT链上,因为优先级最高,从而可以对收到的数据包在连接跟踪前进行处理。一但用户使用了RAW表,在某个链上,RAW表处理完后,将跳过NAT表和ip_conntrack处理,即不再做地址转换和数据包的链接跟...

2019-03-27 09:46:34 2975

转载 Linux iptables 命令行操作常用指令

iptables是 Linux 中重要的访问控制手段,是俗称的Linux 防火墙系统的重要组成部分。这里记录了iptables 防火墙规则的一些常用的操作指令。下面的操作以 CentOS 为基础介绍,应该对不同的 Linux 发行版都差不多。在 CentOS 5.x 和 6.x 中,iptables 是默认安装的(如果没有安装,先安装 iptables即可)。如果对 iptables 的...

2019-03-27 09:45:24 1036

转载 ip netns命令操作network-namespace

(1)ip netns相关命令1.增加虚拟网络命名空间ip netns add ns该命令会在/var/run/netns目录下创建ns网络命名空间名2.显示所有的虚拟网络命名空间root@wade-ThinkCentre-E73:~# ip netns listns也可通过查看/var/run/netns目录下的文件来list,结果一样root@wade-...

2019-03-09 19:10:20 1422

原创 python 如何保证yaml格式的文件有序??

from collections import OrderedDictimport yamldef ordered_yaml_load(yaml_path, Loader=yaml.Loader, object_pairs_hook=OrderedDict): class OrderedLoader(Loader): pass...

2019-01-16 10:19:38 4059

转载 Goland快捷键

一、Goland快捷键设置GoLand支持各种编辑器的快捷键映射:File->Settings->Keymap二、GoLand常用快捷键1、查询快捷键CTRL+N 查找类CTRL+SHIFT+N 查找文件CTRL+SHIFT+ALT+N 查找类中的方法或变量CTRL+B 快速打开光标处的类或方法CTRL+ALT+B 找所有的子类CTRL+SHIF...

2018-11-13 17:32:04 12381

转载 Deployment

Kubernetes Deployment:Deployment为Pod和Replica Set(升级版的 Replication Controller)提供声明式更新。只需要在 Deployment 中描述您想要的目标状态是什么,Deployment controller 就会帮您将 Pod 和ReplicaSet 的实际状态改变到您的目标状态。可以定义一个全新的 Deployment 来...

2018-10-30 16:59:08 634

原创 docker 各种参数配置

Docker 后台进程参数-------更改Docker运行根目录的方法参数 介绍 --api-enable-cors=false 远程API调用。 -b, --bridge="" 桥接一个系统上的网桥设备到 Docker 容器里,当使用 none 可以停用容器里的网络 --bip="" 使用 CIDR 地址来设定网络桥的 IP。此参数和 -b 不能一起使用...

2018-10-15 10:49:19 11041 1

原创 k8s 超详细总结,面试必问

一个目标:容器操作;两地三中心;四层服务发现;五种Pod共享资源;六个CNI常用插件;七层负载均衡;八种隔离维度;九个网络模型原则;十类IP地址;百级产品线;千级物理机;万级容器;相如无亿,K8s有亿:亿级日服务人次。一个目标:容器操作Kubernetes(k8s)是自动化容器操作的开源平台。这些容器操作包括:部署,调度和节点集群间扩展。具体功能:自动化容器部署和复制。实时弹性收缩容器...

2018-09-04 10:00:09 95571 14

转载 使用ovs对多主机docker互联方案

ovs简介Open vSwitch是一个高质量的,多层虚拟交换机,使用开源Apache2.0许可协议,主要实现代码为可移植的C代码。它的目的是让大规模网络自动化可以通过变成扩展,同事仍然支持标准的管理接口和协议(例如NetFlow,sFlow,SPAN.RSPAN,CLI,LACP,802.1ag)原理什么是GRE隧道CRE:通用路由协议封装隧道技术是一种通过使用互联网...

2018-08-31 10:46:43 1131

原创 linux网卡的vlan配置

如果服务器上连的交换机端口已经预先设置了TRUNK,并允许特定的VLAN可以通过,那么服务器的网卡在配置时就必须指定所属的VLAN,否则就不通了,这种情形在虚拟化部署时较常见。   例如在一个办公环境中,办公所在VLAN为1020,虚拟化的物理主机上有两块万兆网卡,分属与3111和3112VLAN,这三个VLAN间可以互通,那么该如何配置呢?   一.首先要确认Linux系统内核是...

2018-08-31 10:20:48 22260

原创 linux查找文件包含的字符串

如果你想在当前目录下 查找"hello,world!"字符串,可以这样: grep -rn "hello,world!" * * : 表示当前目录所有文件,也可以是某个文件名-r 是递归查找-n 是显示行号-R 查找所有文件包含子目录-i 忽略大小写下面是一些有意思的命令行参数: grep -i pattern files :不区分大小写地搜索。默认情况...

2018-08-27 16:38:01 1205

转载 k8s Rc rollong update 机制

##0.命令行和依赖的基础知识SynopsisPerform a rolling update of the given ReplicationController.Replaces the specified controller with new controller, updating one pod at a time to use thenew PodTemplate. ...

2018-08-24 17:22:23 682

原创 通过openssl验证ssl证书匹配性

背景:SSL证书是private key + public key一起工作才能完成加密过程的。大致来说就是client在handshake过程中先拿public key加密发送随机session encryption key set以及其它关键信息,通过public key密码的报文只能通过server端安装的SSL certificate key pair中的private key才能进行解...

2018-08-18 19:47:02 17565

原创 ansible 获取系统信息的一些范例

 主机名:echo `ansible 193.168.120.101 -m setup -a "filter=ansible_hostname" | grep hostname` | awk -F '[:]' '{print $2}' | sed -e '/"/s/"//g' 内存:echo `ansible 193.168.120.101 -m setup -a "filter=ansi...

2018-08-17 14:44:34 3520

转载 简化Kubernetes应用部署工具-Helm之Hook

简化Kubernetes应用部署工具-Helm之Hook【编者的话】微服务和容器化给复杂应用部署与管理带来了极大的挑战。Helm是目前Kubernetes服务编排领域的唯一开源子项目,做为Kubernetes应用的一个包管理工具,可理解为Kubernetes的apt-get / yum,由Deis 公司发起,该公司已经被微软收购。Helm通过软件打包的形式,支持发布的版本管理和控制,很大程度上...

2018-08-02 15:00:41 605

转载 ansible基础

ansible 系统架构原文:https://www.jianshu.com/p/575ced3a08faansible简介 ansible是新出现的自动化运维工具,ansible是一个配置管理和应用部署工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric.SaltStack )的优点,实现了批量系统配置、批量程序部署、批量运行...

2018-07-29 14:52:14 276

转载 交换机层次

我在看阿里云专有云的文档,里面有:ASW (接入层交换机)数据交换模块接入交换机,接入云服务器,上行互联核心交换机DSW。DSW (分布层交换机):核心交换机,用于连接各个ASW接入交换机。CSW (内网接入交换机):接入用户内网骨干,实现云网络内外部的路由分发交互,包括VPC专线接入。CSW可以实现专线侧到XGW的VxLAN封装。LSW (综合接入交换机)综合接入模块,云产品服务接入交换...

2018-07-26 09:33:47 5613

原创 kubernetes创建pod的yaml文件实例

apiVersion: v1 #指定api版本,此值必须在kubectl apiversion中 kind: Pod #指定创建资源的角色/类型 metadata: #资源的元数据/属性 name: web04-pod #资源的名字,在同一个namespace中必须唯一 labels: #设定资源的标签,详情请见http://blog.csdn.net/liyingke11...

2018-07-13 13:17:06 2957

原创 k8s使用deployment升级

概念Deployment(中文意思为部署、调度)提供了一种更加简单的更新RC和Pod的机制,K8S版本1.2实现的。通过在Deployment中描述所期望的集群状态,Deployment Controller会将现在的集群状态在一个可控的速度下逐步更新成所期望的集群状态。Deployment主要职责同样是为了保证pod的数量和健康,90%的功能与RC完全一样,可以看做新一代的RC。功能Deploy...

2018-07-13 11:54:07 11197

转载 k8s网络数据包流程

https://zhuanlan.zhihu.com/p/28289080关于路由很多像我这样的网络小白,对于整个路由过程比较模糊。下面以一个简单的PING示例解释一下路由的整个过程。有两个原则需要记住:二层网络是通过MAC地址进行交换三层路由通过IP选路。一个ICMP的以太网格式报文:|目的MAC|源MAC|目的IP|源IP|ICMP包|主机A发送一个ICMP包到主机B, 此时目的IP为10.1...

2018-07-13 11:09:45 2278

转载 Linux 上的基础网络设备详解

Linux 抽象网络设备简介和磁盘设备类似,Linux 用户想要使用网络功能,不能通过直接操作硬件完成,而需要直接或间接的操作一个 Linux 为我们抽象出来的设备,既通用的 Linux 网络设备来完成。一个常见的情况是,系统里装有一个硬件网卡,Linux 会在系统里为其生成一个网络设备实例,如 eth0,用户需要对 eth0 发出命令以配置或使用它了。更多的硬件会带来更多的设备实例,虚拟的硬件也...

2018-07-13 10:08:36 620

原创 Linux网卡bond的七种模式详解

像Samba、Nfs这种共享文件系统,网络的吞吐量非常大,就造成网卡的压力很大,网卡bond是通过把多个物理网卡绑定为一个逻辑网卡,实现本地网卡的冗余,带宽扩容和负载均衡,具体的功能取决于采用的哪种模式。  一、bond的七种模式介绍:1、mode=0(balance-rr)(平衡抡循环策略)链路负载均衡,增加带宽,支持容错,一条链路故障会自动切换正常链路。交换机需要配置聚合口,思科叫port c...

2018-07-13 09:57:10 2515

转载 Open vswitch

Open vSwitch概述Open vSwitch(下面简称OVS)是一个高质量的、多层虚拟交换机。OVS遵循开源Apache2.0许可,通过可编程扩展,OVS可以实现大规模网络的自动化(配置、管理、维护),OVS也提供了对 OpenFlow协议的支持,用户可以使用任何支持 OpenFlow协议的控制器对 OVS进行远程管理控制,同时支持现有标准管理接口和协议比如NetFlow、sFlow、SP...

2018-07-12 10:03:18 800

转载 python调用lua

一、引言上一周应该某个特殊需求。需要在服务器端搭建一个lua执行环境。lua本身又是嵌入语言。在语言本身上又一定的局限性。所以我打算把lua嵌入到python/java中。做调研的时候,java的嵌入较为麻烦,出现了各种问题。后来确定用python来作这个环境。这样能用上python 的协程、多线程。这里说说python中嵌入lua的问题。二、环境建立python中又一个扩展叫lupa。这个扩展用...

2018-07-05 11:22:27 11756

转载 Nginx的配置文件nginx.conf配置详解

Nginx的配置文件nginx.conf配置详解如下: user nginx nginx ;Nginx用户及组:用户 组。window下不指定 worker_processes 8;工作进程:数目。根据硬件调整,通常等于CPU数量或者2倍于CPU。 error_log  logs/error.log;  error_log  logs/error.log  notice;  error_log  ...

2018-07-04 11:07:53 319

原创 Nginx配置清单与解析

概述Nginx是轻量级的高性能Web服务器,提供了诸如HTTP代理和反向代理、负载均衡、缓存等一系列重要特性,因而在实践之中使用广泛,笔者也在学习和实践之中。在本文中,我们继续延续前文,从前文给出的一份示例配置清单开始,详解一下Nginx服务器的各种配置指令的作用和用法。Nginx配置文件的整体结构从图中可以看出主要包含以下几大部分内容:1. 全局块该部分配置主要影响Nginx全局,通常包括下面几...

2018-07-03 17:50:31 178

转载 通过CURL请求示例详解HTTPS协议

通过CURL请求示例详解HTTPS协议基于HTTPS通信是当前互联网最通用便捷的通信方式,简单理解来看可以视为HTTP协议 + SSL/TLS协议,通过一个curl的示例阐述一下HTTPS协议。特性:信息加密传输,防止窃听风险具有校验机制,防止篡改风险配备身份证书,防止冒充风险版本变更SSL1.0 1994年,未发布SSL2.0 1995年,有严重漏洞SSL3.0 1996年,大规模应用,有风险现...

2018-07-03 14:29:44 24881

原创 KB、kb和MB、mb有什么区别

我 有 时 常 被KB、 kb 或 MB、 mb 弄 糊 涂。  它 们 之 间 有 什 么 区 别 吗 ? 什 么 时 候 该 用 大 写, 什 么 时 候 该 用 小 写 呢 ?  ---- 字 符“b” 通 常 指 的 是“ 比 特”(bit), 而 字 符“B” 通 常 代 表“ 字 节”(byte)。 例 如,Modem 和 访 问 Internet 的 其 他 设 备 的 传 输 速 ...

2018-06-13 20:40:27 85740 3

转载 linux 文件大小单位显示

在linux中显示文件大小的时候,通常的做法是使用“ls -l”,显示的大小是文件的字节大小。但是,如果文件比较大的话,显示起来不是特别易读,这个时候,可以使用“ls -lh”,就可以使用比较接近文件大小的单位显示文件的大小,如下:[plain] view plain copy[billing_dx@bmcs1 bin]$ ls -lh  total 565M  -rwxr-xr-x 1 bill...

2018-06-08 11:36:43 29220 1

原创 docker cp失败

背景:从vm 复制一个文件到容器内:docker cp /tmp/id_rsa 9f9997271130:/tmp/id_rsa不提示任何错误,发现但是容器内就是没有id_rsa这个文件。9f9997271130中的tmp目录如下:[root@docker9f9997271130 /tmp]#df -hlFilesystem            Size  Used Avail Use% Mou...

2018-05-21 15:18:04 8743 3

转载 Python 频繁请求问题: [Errno 104] Connection reset by peer

今天工作上有个需求,数据库有个表有将近3万条url记录,每条记录都是一个图片,我需要请求他们拿到每个图片存到本地。一开始我是这么写的(伪代码):import requestsfor url in urls: try: r = requests.get(url).content save_image(r) except Exception, e:...

2018-05-15 21:59:57 3937 1

转载 压测工具http_load与Ab

http_load简介http_load以并行复用的方式运行,用以测试Web服务器的吞吐量与负载。但是它不同于大多数压力测试工具,其可以以一个单一的进程运行,这样就不会把客户机搞死,还可以测试HTTPS类的网站请求。关于http_load的详细信息参见这里,点击这里下载。安装# tar xzvf http_load-09Mar2016.tar.gz# cd http_load-09Mar2016...

2018-05-13 20:10:14 345

转载 Flask+uwsgi+Nginx部署应用

Flask+uwsgi+Nginx部署应用之前用Flask写了个网站,然后就想部署到云主机上。搜索了一番,决定采用的部署方案是:Web 服务器采用uWSGI用Supervisor引用uwsgi 作为常规启动服务基于Nginx作反向代理安装Python环境,Flask在Vultr上申请了个云主机,系统采用Ubuntu 15.10。上来先安装python环境,安装pip、virtualenv。新建一个...

2018-04-23 11:07:26 702

转载 Flask是什么?

1. 初识FlaskFlask 是一个微框架(Micro framework),其官方文档的前言部分对Flask做了很清楚的定性介绍:“微”(Micro)是什么意思?“微”(micro) 并不意味着你要把整个web应用放到一个python文件里(虽然确实可以),也不意味着Flask 在功能上有所欠缺。微框架中的“微”意味着 Flask 旨在保持核心功能的简单而易于扩展。Flask 不会替你做出太多...

2018-04-23 10:35:43 21886 1

《StackOverFlow-Python翻译》-深入理解python,超级推荐

《StackOverFlow-Python翻译》-深入理解python,超级推荐,共88个知识点,深入理解python,适合于有python基础的人,想要提高代码质量的人阅读

2018-03-25

Paxos到Zookeeper:分布式一致性原理与实践

从分布式一致性的理论出发,向读者简要介绍几种典型的分布式一致性协议,以及解决分布式一致性问题的思路,其中重点讲解了Paxos和ZAB协议。同时,本书深入介绍了分布式一致性问题的工业解决方案——ZooKeeper,并着重向读者展示这一分布式协调框架的使用方法、内部实现及运维技巧,旨在帮助读者全面了解ZooKeeper,并更好地使用和运维ZooKeeper。全书共8章,分为五部分:第一部分(第1章)主要介绍了计算机系统从集中式向分布式系统演变过程中面临的挑战,并简要介绍了ACID、CAP和BASE等经典分布式理论;第二部分(第2~4章)介绍了2PC、3PC和Paxos三种分布式一致性协议,并着重讲解了ZooKeeper中使用的一致性协议——ZAB协议;第三部分(第5~6章)介绍了ZooKeeper的使用方法,包括客户端API的使用以及对ZooKeeper服务的部署与运行,并结合真实的分布式应用场景,总结了ZooKeeper使用的最佳实践;第四部分(第7章)对ZooKeeper的架构设计和实现原理进行了深入分析,包含系统模型、Leader选举、客户端与服务端的工作原 理、请求处理,以及服务器角色的工作流程和数据存储等;第五部分(第8章)介绍了ZooKeeper的运维实践,包括配置详解和监控管理等,重点讲解了如何构建一个高可用的ZooKeeper服务。

2018-02-28

smartgit-32位

SmartGit是收费的,可以30天的试用期,30天试用期过后,smartgit 需要输入序列号解决办法,可以通过下面的小方法来获取永久的使用,但是这个仅供个人的试用,公司的嘛还是应该花钱买正版的。 smartgit 需要输入序列号解决办法 ,找到路径: %APPDATA%\syntevo\SmartGit\<main-smartgit-version> 然后删除: settings.xml 再重新打开smartgit

2018-01-25

Redis设计与实现完整版-kindle-黄健宏

本书主要分为四大部分。第一部分“数据结构与对象”介绍了Redis中的各种对象及其数据结构,并说明这些数据结构如何影响对象的功能和性能。第二部分“单机数据库的实现”对Redis实现单机数据库的方法进行了介绍,包括数据库、RDB持久化、AOF持久化、事件等。第三部分“多机数据库的实现”对Redis的Sentinel、复制、集群三个多机功能进行了介绍。第四部分“独立功能的实现”对Redis中各个相对独立的功能模块进行了介绍,涉及发布与订阅、事务、Lua脚本、排序、二进制位数组、慢查询日志、监视器等。

2018-01-25

Elasticsearch服务器开发-完整版-带书签-高清

如果你是一个全文检索和Elasticsearch的初学者,那么本书就是为你准备的。你将学到Elasticsearch的基础知识,以及如何使用一些高级功能。如果你已经知道并使用了Elasticsearch,仍然会发现本书很有趣,因为它通过例子和描述,很好地概述了Elasticsearch的所有功能。如果你知道Apache Solr搜索引擎,那么这本书也可以用来比较Apache Solr和Elasticsearch的某些功能。了解一些Elasticsearch的知识后,你可能会发现它更适合你。

2018-01-25

空空如也

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

TA关注的人

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