
cloud
文章平均质量分 70
liuliuzi_hz
这个作者很懒,什么都没留下…
展开
-
docker 1.12 体验
Docker 1.12 是docker 最近发布的版本,当前这个版本还没法自己用包管理工具直接下载安装,得下载源代码编译安装。因为需要proxy,注意得在源码的Dockerfile 文件上设置http_proxy 等环境变量。如果不是git下载而是zip下载还得在Makefile文件设置DOCKER_GITCOMMIT。编译后生成的二进制文件替换原系统的docker 文件。启动dock原创 2016-07-12 17:04:10 · 889 阅读 · 0 评论 -
Kuryr kubernetes nested by vlan
Kuryr kubernetes 除了支持bare-metal 部署,还支持nested 部署,也就是容器部署在VM内而不是在物理主机上。POD部署在VM内时就要考虑网络如何穿透VM。当前Kuryr支持vlan 和macvlan两种方法。vlan 方法主要依靠neutral 提供的vlan trunk port 功能,即VM接入的port是trunk 而不是常见的具体某个tag的vlan por...原创 2018-06-11 09:59:12 · 709 阅读 · 0 评论 -
Kuryr kubernetes 源码简介
Kuryr kubernetes 分为3类独立可执行程序,分别为Kuryr Controller,Kuryr CNI,Kuryr CNI daemon(可选,抽离CNI的watach 功能以减少多pod同时启动时候的资源浪费俄)。Kuryr Controller 独立运行,功能是 watch k8s API 和从neutron 申请资源port等,通过k8s API修改 pod 的annotate...原创 2018-02-14 10:53:45 · 1054 阅读 · 0 评论 -
OpenStack容器网络项目Kuryr(libnetwork)
转自 https://zhuanlan.zhihu.com/p/24554386容器近几年非常流行,有很多项目都考虑将容器与SDN结合。Kuryr就是其中一个项目。Kuryr项目在OpenStack big tent下,目的是将容器网络与OpenStack Neutron对接。Kuryr给人的第一印象是: 这又是一个在Neutron框架下的项目,能够通过Neutron统一的北向接口来控制容器网络的...转载 2018-02-12 16:30:04 · 909 阅读 · 0 评论 -
k8s 与 grpc
gRPC是一个高性能、通用的开源RPC框架,其由Google主要面向移动应用开发并基于HTTP/2协议标准而设计,基于ProtoBuf(Protocol Buffers)序列化协议开发,且支持众多开发语言。https://github.com/grpc/grpc-go/tree/master/examples/helloworld 里面是个简单的教程指导GO语言如何使用gRPC其中原创 2017-12-15 11:05:59 · 4684 阅读 · 2 评论 -
runC 中 network 实现
runC 的网络实现开始于 libcontainer/process_linux.go 中func (p *initProcess) start() 调用createNetworkInterfaces()函数该函数实现如下:func (p *initProcess) createNetworkInterfaces() error { for _, config := range p.co原创 2017-12-12 14:18:49 · 707 阅读 · 0 评论 -
k8s volume plugin FlexVolume 开发
Kubernetes的卷插件分两种,一种是要随同kubelet一起编译的插件,比如azure,cephfs这些,一种是独立的可执行程序插件(如果网络插件exec或者cni),这种插件只要满足kubelet的FlexVolume框架接口规则就可以被kublet调用。FlexVolume框架把kublet对他的调用转化为对可执行程序命令行的调用,FlexVolume框架接口规则要求插件是一个可执行原创 2017-07-11 10:46:58 · 4229 阅读 · 0 评论 -
Docker Engine 插件模型和 k8s 插件模型区别
Docker Engine 插件是一个web服务,插件类型有 authorization, volume and network driver plugins 3种。 因为插件是web服务,所以插件要早于docker 服务之前启动,至少在调用该插件前启动。当docker daemon通过命令行要激活插件,比如 docker network create net1 -d ABC,dock原创 2017-02-23 15:46:14 · 814 阅读 · 0 评论 -
k8s网络插件cni
CNI(Container Network Interface)1容器网络接口,是Linux容器网络配置的一组标准和库,用户需要根据这些标准和库来开发自己的容器网络插件。在github里已经提供了一些常用的插件。CNI只专注解决容器网络连接和容器销毁时的资源释放,提供一套框架,所以CNI可以支持大量不同的网络模式,并且容易实现。相对于k8s exec直接执行可执行程序,cni 插件是对执行程序原创 2017-01-16 15:46:26 · 11694 阅读 · 0 评论 -
cni 添加网络 流程分析
From http://www.cnblogs.com/YaoDD/p/6024535.html?utm_source=itdadao&utm_medium=referral1234cnitool: Add or remove network interfaces from a network namespace转载 2017-01-16 15:25:30 · 2619 阅读 · 0 评论 -
K8s 网络插件exec
K8s 网络插件支持exec , CNI,kubenet 3种类型。要求插件满足K8s网络插件接口即可。type NetworkPlugininterface{ Init(host Host, hairpinModecomponentconfig.HairpinMode)error Event(name string,detailsmap[str原创 2017-01-11 16:32:25 · 1429 阅读 · 0 评论 -
kubernetes/dashboard源码分析
from https://www.gitbook.com/book/fanux/k8s-source-code/detailsdashbodard采用前后端分离设计,前端是使用angular的单页应用,用ES6编写,后端使用go语言的go-restful框架当作http服务器。本文以介绍后端为主。架构图 客户端通过浏览器发送请求给Backend,Backend使用k转载 2016-12-27 10:52:53 · 3934 阅读 · 0 评论 -
docker 1.12 网络和负载均衡初探
环境:主机A euca- 10-153-177-58主机B euca-10-153-177-76root@euca-10-153-177-58:~# dockernode listID HOSTNAME STATUS AVAILABILITY MANAGER STATUS3ddwxfmfmpvkndj0l4原创 2016-11-01 16:03:34 · 2186 阅读 · 0 评论 -
nova-compute 镜像缓存时间管理
基于当前部门业务对openstack 的要求和背景如下1,要求能够快速启动虚拟机2,虚拟机的镜像种类不多3,虚拟机的镜像大小比较大4,要求虚拟机的磁盘读写速率快因为在当前网络条件下,从控制节点传输镜像到计算节点会花费大量时间,同时条件4要求,使得分布式存储(ceph之类)不可行。老的解决方案:使用虚拟机挂起来取代销毁,这样需要创建某种类型虚拟机时,恢复相应类型虚原创 2016-09-22 16:03:21 · 918 阅读 · 0 评论 -
docker最初版本源码分析
docker经过3年发展,从代码量看,已经发展成为一个相对较大的项目。这里分析下docker 最初版本0.1.0时的代码,感受下一个高大上开源项目最初的样子,同时相对看后期版本代码,看最初版本代码更能明白一个项目的核心功能。docker v0.1.0 一共才一二十个go文件。程序入口在docker/docker.go文件的main函数。该版本的docker程序集成了客户端和服务端原创 2016-07-18 14:50:33 · 795 阅读 · 0 评论 -
早期版本docker 全屏显示不全
早期版本的docker 在terminal 出现显示不全的问题可以通过在主机执行以下命令解决 ps -ef | grep 'docker exec -it' | grep -v grep | awk '{ print $2}' | xargs kill -SIGWINCH具体见https://github.com/moby/moby/issues/35407...原创 2019-01-24 13:17:59 · 1272 阅读 · 0 评论