自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(52)
  • 收藏
  • 关注

原创 Container Networking(From Docker to Kubernetes)中文版

Container Networking(From Docker to Kubernetes) 中文版  抽空翻译了Red Hat工程师Michael Hausenblas的电子书Container Networking(From Docker to Kubernetes), 本书详细介绍了容器网络生态圈,虽然本书没有深入具体的技术细节,但是想对容器网络生态圈有个全局的了解还是很值得一看的,同...

2018-05-22 17:10:12 1749 1

原创 libpcap原理及使用

2.9 libpcap 本文最初整理在我的github上SDN-Learning-noteslibpcap(Packet Capture Library)即数据包捕获函数库,是Unix/Linux平台下的网络数据包捕获函数库。它是一个独立于系统的用户层包捕获的API接口,为底层网络监测提供了一个可移植的框架。著名的软件TCPDUMP就是在libpcap的的基础上开发而成的libpcap可以实现

2017-12-07 16:43:30 28744 3

翻译 OVS和OVN 2.8新功能

OVS和OVN 2.8新功能 本文翻译自ovs官方文档本文档主要是关于2017年8月底发布的Open vSwitch 2.8中添加的内容,重点介绍OVN中的新功能。同时也涵盖了即将在2018年2月发布的Open vSwitch和OVN 2.9中的一些内容。OVN具有许多特性,本文档不包括每个新增或增强的功能。本文档假定您已熟悉Open vSwitch,OVN及其相关工具。有关更多信息,请参阅O

2017-12-07 16:29:35 3356 1

原创 OVN架构原理

ovn-architecture OVN架构OVN(即Open Virtual Network)是一款支持虚拟网络抽象的软件系统。OVN在OVS现有功能的基础上原生支持虚拟网络抽象,例如虚拟L2,L3覆盖网络以及完全组。诸如DHCP,DNS的服务也是其关注的内容。就像OVS一样,OVN的设计目标是可以大规模运行的高质量生产级实施方案。OVN部署由以下几个组件组成

2017-11-27 14:37:16 11038 2

转载 iptables不完全手册

iptables简称为包过滤型防火墙一般分为2种:    1,主机防火墙:主机防火墙是用来防止本主机内的应用服务被攻击所需要保护的防火墙    2,网络防火墙:做为想路由功能的防火墙凡是进过此服务器的数据包都要进行规则匹配iptables实现:   1、iptables,这个只是方便用户编写各类规则交由netfilter处理执行。    2、一部分是基于TCP/IP协议栈的netfilte

2017-06-15 19:55:18 651

转载 calico iptables详解

报文处理过程报文处理过程中使用的标记位:一共使用了3个标记位,0x7000000对应的标记位0x1000000: 报文的处理动作,置1表示放行,默认0表示拒绝。0x2000000: 是否已经经过了policy规则检测,置1表示已经过。0x4000000: 报文来源,置1,表示来自host-endpoint流入报文来源:1. 以cali+命名的网卡收

2017-06-15 19:45:06 8444 1

转载 Kubernetes的Pod网络设置

Kubernetes的Pod网络设置网络插件加载前网络插件加载读取cni配置文件,设置默认网络网络插件初始化网络插件的使用SetUpPod()将容器加入指定网络的实现libcni.CNIConfig网络插件加载前k8s.io/kubernetes/cmd/kubelet/kubelet.go:if err := app.Run(s, nil); err

2017-06-13 16:25:48 5019

原创 golang使用gopacket包进行数据包捕获,注入和分析

使用golang实现网络抓包是非常容易的,可以使用谷歌的包github.com/google/gopacket。由于gopacket构建在libpcap之上,我强烈建议您了解该库的工作原理。您可以在C中学习如何使用libpcap进行更深入的了解。1.libpcapgopacket是基于libpcap(数据包捕获函数库)的,该库提供的C函数接口用于捕捉经过指定网络接口的数据包,该接口应该是被...

2017-05-23 17:28:48 23575 2

转载 Golang程序配置方案小结

在Twitter上看到一篇关于Golang程序配置方案总结的系列文章(一个mini series,共6篇),原文链接:在这里。我觉得不错,这里粗略整理(非全文翻译)一下,供大家参考。一、背景无论使用任何编程语言开发应用,都离不开配置数据。配置数据提供的形式有多样,不外乎命令行选项(options)、参数(parameters),环境 变量(env vars)以及配置文件等。Gola

2017-05-17 20:37:25 2229

转载 Docker镜像存储相关数据结构

转自 http://licyhust.com/%E5%AE%B9%E5%99%A8%E6%8A%80%E6%9C%AF/2016/09/27/docker-image-data-structure/1、layerStoredocker daemon在初始化过程中,会初始化一个layerStore,那么layerStore是什么呢?从名字可以看出,是用来存储layer的,do

2017-05-07 21:11:10 1818

原创 kubernetes 1.6.2安装

环境centos 7.0docker-engine-1.12.6k8s 1.6.210.10.101.166 master10.10.101.167 node110.10.101.168 node2安装Docker 1.12Kubernetes 1.6还没有针对docker 1.13和最新的docker 17.03上做测试和验

2017-05-07 11:43:15 1536

转载 命令行 JSON 处理工具 jq 的使用介绍

jq 简介JSON 是一种轻量级的数据交换格式。其采用完全独立于语言的文本格式,具有方便人阅读和编写,同时也易于机器的解析和生成。这些特性决定了 JSON 格式越来越广泛的应用于现代的各种系统中。作为系统管理员,在日常的工作中无论是编辑配置文件或者通过 http 请求查询信息,我们都不可避免的要处理 JSON 格式的数据。jq 是一款命令行下处理 JSON 数据的工具。其可以接受标

2017-05-06 16:43:30 3042

转载 网络负载均衡详解

摘要: 一、四层和七层负载均衡简介 1. 常见的负载均衡类型 ① 二层负载均衡 基于MAC地址,它会通过一个虚拟MAC地址接收请求,然后再分配到真实的MAC地址。 ② 三层负载均衡 基于IP地址,它会通过一个虚拟IP地址接收请求,然后再分配到真实的IP地址。一、四层和七层负载均衡简介1. 常见的负载均衡类型① 二层负载均衡基于MAC地址,它会通过一个虚拟MAC地

2017-05-04 17:26:35 8927

原创 kubernetes DaemonSet的滚动更新

DaemonSet的滚动更新DaemonSet 更新策略DaemonSet 有两种更新策略 :OnDelete: 默认的向后兼容更新策略. 只有当你手动删除老的DaemonSet pods时,新的DaemonSet pods 才会被自动创建。跟k8s 1.5版本及以前的行为类似。RollingUpdate: 老的DaemonSet pods会被自动杀死,新的Daemon

2017-05-02 21:30:09 6941

原创 kubernetes DaemonSet资源对象

What is a DaemonSet?DaemonSet能够让所有(或者一些特定)的Node节点运行同一个pod。当节点加入到kubernetes集群中,pod会被(DaemonSet)调度到该节点上运行,当节点从kubernetes集群中被移除,被(DaemonSet)调度的pod会被移除,如果删除DaemonSet,所有跟这个DaemonSet相关的pods都会被删除。在使用

2017-05-02 20:31:52 9569

原创 calico配置 BIRD 作为 BGP Route Reflector

calico配置 BIRD 作为 BGP Route ReflectorStep 1: 安装 BIRDUbuntu 14.04添加官方的BIRD PPA. sudo add-apt-repository ppa:cz.nic-labs/birdsudo apt-get updatesudo apt-get install birdRHEL

2017-05-02 19:48:53 8689

原创 calico配置 BGP Peers

calico配置 BGP Peers本文档主要描述使用calicoctl 来管理 BGP. 主要针对在私有云上部署calico的用户,使calico跟底层基础架构进行peer。包含以下四个方面的配置:全局默认 AS 号node-to-node 全互联全局 BGP Peers指定节点BGP Peers概念全局默认 AS 号就是当cali

2017-05-02 19:47:14 13532

原创 calico网络原理

2017-04-13 17:11:10 7930

原创 kubernetes neutron网络架构方案实践

1.kubernetes使用neutron网络逻辑架构2.kubernetes neutron网络物理架构3.neutron cni

2017-04-13 17:08:08 2866

原创 k8s calico网络原理以及多租户实现设计

软件定义网络SDN基础概念介绍租户(Tenant):在网络资源上完全隔离的一个用户,在业务上可以代表一个对于网络有隔离和管理需求的部门。一个租户可以对应多个网络。网络(Network):在业务上可以代表一个部门下的一个项目组。一个网络只能挂在一个租户下面,同时可以有多个子网。子网(Subnet):在业务上可以代表一个部门下项目组的一个开发或测试环境。同一个net

2017-04-07 20:24:02 17760

原创 kubernetes calico网络qos设计

整体需求实现pod网络流量的QoS,包括出口流量跟入口流量。技术方案底层技术方案使用linux内核iproute2包中tc(trafficcontrol)命令。Linux中的QoS分为入口(Ingress)部分和出口(Egress)部分,入口部分主要用于进行入口流量限速(policing),出口部分主要用于队列调度(queuingscheduling)。大多数排队规则(qdisc)都是

2017-04-07 20:21:32 3782

原创 kubernetes flannel neutron calico ovs-vxlan网络方案性能测试分析

kubernetes flannel neutron calico 网络性能测试分析环境准备OS: Ubuntu 14.04kubernetes 版本:1.3.5flannel 版本: 0.5.5calico 版本: 1.6.0neutron 版本:6.0.0iperf 版本:2.0.5物理机配置:4 Intel(R) Core(TM) i5-4460S CPU @ 2

2017-01-20 14:36:44 7062

原创 kubernetes集群calico网络部署

kubernetes集群calico网络部署一. 部署环境及架构操作系统:ubuntu14.04Kubernetes:1.3.5Etcd版本:2.2.1Docker版本:1.10.1calicoctl版本:v0.23.0calico版本:v1.4.3calico-ipam版本:v1.4.3loopback版本:v0.3

2016-12-21 14:45:57 10308

原创 calico跨主机node访问pod问题

实验环境:calico版本:v0.23,kubernetes版本:1.35kubernetes网络使用calico,当namespace使用以下命令配置隔离policy的后:kubectl annotate ns "net.beta.kubernetes.io/network-policy={\"ingress\": {\"isolation\": \"DefaultDeny\"}}"

2016-12-19 16:01:00 4894

转载 恢复 git reset -hard 的误操作

转帖:http://hi.baidu.com/configuration/item/97fddeea252818d0eb34c964有时候使用Git工作得小心翼翼,特别是涉及到一些高级操作,例如 reset, rebase 和 merge。甚至一些很小的操作,例如删除一个分支,我都担心数据丢失。不久之前,我在做一些大动作(rebasing)之前,我总是备份整个版本库,以防万

2016-12-03 17:02:24 869

原创 解决openstack的neutron服务不能访问 CRITICAL keystonemiddleware.auth_token

问题提出:前段时间不小心删除了service项目(租户),neutron服务一切正常,就是网络服务不能访问。查看日志/var/log/neutron/service.log,发现错误原因:CRITICAL keystonemiddleware.auth_token [-] Unable to validate token: Identity server rejected authorizat

2016-11-24 14:42:56 4771

转载 ubuntu查看网关

Linux下查看网关gateway方法:1、route -n2、ip route show3、traceroute www.baidu.com -s 100 【第一行就是自己的网关】4、netstat -r5、more /etc/network/interfaces 【Debian/Ubuntu Linux】6、more /etc/sysconfig/network-scr

2016-11-24 14:23:53 17012

原创 解决sublime package control 出现There are no packages available for installation

今天安装使用package control一直出现There are no packages available for installation,尝试网上好几种方法,始终不行,(主要是VPN的原因)因为http://packagecontrol.io/channel_v3.json 获取失败,这个东西是个package的列表,找了台能翻墙的电脑,把channel_v3.json文件复制下来。

2016-11-23 12:44:56 623

原创 ubuntu的init.d管理service

1、在/etc/init.d/ 下以管理员权限新建kubestack启动文件脚本#!/bin/bash ### BEGIN INIT INFO # # Provides: kubestack # Required-Start: $openvswitch-switch $neutron-openvswitch-agent# Required-Stop: # Defau

2016-11-13 15:36:50 2806

原创 k8s应用内部日志收集

源码改动:1.k8s/pkg/kubelet/dockertools/docker_manager.gofunc (dm *DockerManager) runContainerInPod() 方法添加//软链接/var/lib/kubelet/pods 获取容器的pod名,用于Elasticsearch日志搜集服务// /var/lib/kubel

2016-11-11 20:45:52 8172

原创 golang安装

wget https://storage.googleapis.com/golang/go1.7.linux-amd64.tar.gzsudo tar -xzf go1.7.linux-amd64.tar.gz -C /usr/local配置环境变量,使用 sudo vim /etc/profile 并添加下面的内容:GOPATH="/YOUR/USER/HOME/go"GO

2016-10-29 15:17:12 459

原创 docker 安装

第一种方案:sudo apt-get purge docker.io curl -s https://get.docker.io/ubuntu/ | sudo shsudo apt-get updatesudo apt-get install lxc-docker第二种方案:通过Docker源安装最新版本。要安装最新的 Docker 版本,首先需要安装 apt-transport-h

2016-10-27 17:05:14 223

原创 Fluentd从tag字段分割提取新字段

"_index": "logstash-2016.10.19","_type": "fluentd","_id": "AVfcB42cEKo1rP0QdbCf","_version": 1,"_score": 1,"_source": {"message": "test31","pod_name": "test","namespace_name": "default","container

2016-10-26 11:39:34 5852 1

转载 google protobuf数据类型

要通信,必须有协议,否则双方无法理解对方的码流。在protobuf中,协议是由一系列的消息组成的。因此最重要的就是定义通信时使用到的消息格式。 Protobuf消息定义消息由至少一个字段组合而成,类似于C语言中的结构。每个字段都有一定的格式。字段格式:限定修饰符① | 数据类型② | 字段名称③ | = | 字段编码值④ | [字段默认值⑤]①.限定修饰符包

2016-10-26 10:50:33 302

原创 OpenShift-sdn网络

在openshift中,如果使用docker 命令启动一个docker容器,容器中的网络没有任何不同;唯一的不同就是docker网络拍的网桥名是ibr0而不是docker0那运行在kubernetes/openshift中的pods呢? 一个pod是由一组相关的容器组成,pod中的容器共享网络接口/hostname;两个容器(两个进程)可以使用“localhost”交流。O

2016-09-30 17:01:06 3803

原创 hadoop集群常见问题集锦

hadoop集群常见问题集锦hadoop集群搭建、使用过程中遇到了很多,特记录下1、       ERRORorg.apache.hadoop.hdfs.server.datanode.DataNode: java.io.IOException:Incompatible namespaceIDs 导致datanode启动不了。 no datanode to stop 原

2016-09-29 21:06:26 1100

原创 hadoop源码编译

hadoop源码编译 第一次编译要求能够访问互联网,Hadoop的编译依赖非常多的东西,一定要保证机器可访问互联网,否则难逐一解决所有的编译问题,但第一次之后的编译则不用再下载了。 1. 安装依赖1) JDK 2) Maven 3.0或更新版本3) ProtocolBuffer 2.5.04) CMake 2.6或更新版本5) Findbugs 1.3.9,

2016-09-29 21:01:23 487

原创 hadoop迁移namenode

hadoop迁移namenode1、问题问题:由于之前安装namenode的机器系统不太稳定,把其中一台datanode1机器与namenode节点交换身份。Datanode1做namenode,namenode做datanode1. 原理:Hadoop集群中,无论是那台机器做Namenode,只要配置指向该节点,且该节点文件路径与原Namenode一致,则其他Datanode节点

2016-09-29 20:57:52 1242

原创 hadoop添加节点

hadoop添加节点(添加datanode4)1、配置主机名2、修改各服务器hosts,添加新机器的主机名3、配置新机器ssh无密钥登录。4、从其他机器拷贝hadoop安装文件5、修改namenode的配置文件slaves ,添加新增节点的host6、在新节点的机器上,启动服务[hadoop@datanode4~]#hadoop-daemon.sh st

2016-09-29 20:52:19 465

原创 hadoop上eclipse开发环境搭建

hadoop上eclipse开发环境搭建1、下载安装eclipse并创建桌面快捷方式2、ant环境配置 apache-ant-1.9.4-bin.zip解压到/usr/local/目录下,配置环境变量ANT_HOME,并将bin目录配置到path下载地址:http://mirror.bit.edu.cn/apache//ant/binaries/apache-ant

2016-09-29 20:48:18 423

空空如也

空空如也

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

TA关注的人

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