下载外网容器镜像
摘要:下载外网容器镜像 背景 由于不可描述原因,下载外网镜像时,总会不可下载、或者超时下载。本文将提供以下几种方法来下载外网镜像(以下载k8s.gcr.io/kube-apiserver-amd64:v1.10.0为例): 方法一:挂载梯子,设置docker daemon代理 将梯子的代理地址设置到doc
阅读全文
下载外网容器镜像
摘要:# 下载外网容器镜像 ## 背景 由于不可描述原因,下载外网镜像时,总会不可下载、或者超时下载。本文将提供以下几种方法来下载外网镜像(以下载k8s.gcr.io/kube-apiserver-amd64\:v1.10.0为例): ## 方法一:挂载梯子,设置docker daemon代理 将梯子的代
阅读全文
创建calico网络报错client response is invalid json
摘要:使用docker创建calico网络失败。 查看docker日志: 首先想到的错误原因可能是:calico网络后台的分布式存储是etcd,而环境中使用的V3版本的etcd,而该版本在API方面既支持V2又支持V3。docker中未正确配置需要的版本,即docker要求使用的etcd API版本和et
阅读全文
calico在docker上的部署及验证
摘要:1. 背景 以下的部署以五台服务器环境为例: 其中,etcdnode1,etcdnode2和etcdnode3将部署etcd,作为calico网络的后端分布式存储;hostnode1和hostnode2将部署calico网络。 软件背景: 2. 部署 2.1. etcd部署 etcdnode1,et
阅读全文
dcos下rexray服务的配置
摘要:在dcos环境下,rexray服务的默认配置文件为/opt/mesosphere/etc/rexray.conf,而其服务文件则是 /etc/systemd/system/dcos rexray.service。 根据该服务文件可看出,其基本功能就是拷贝/opt/mesosphere/etc/rex
阅读全文
calicoctl命令简介
摘要:背景 在calico中,有多种网络资源。以v1.6.1为例,网络资源包含:node,bgpPeer,hostEndpoint,workloadEndpoint,ipPool,policy,profile等。 下面我将讲解如何使用calicoctl命令行工具来控制这些网络资源。 用法 create 创
阅读全文
使用Rest api管理Ceph网关
摘要:背景 开发基于Ceph RadosGW的微服务,需要实现调用方可以通过rest api就能创建用户,获取用户信息等功能。 实现 Ceph的RadosGW自身就有该功能,这些创建用户、获取用户信息、获取使用情况等的功能被称为Admin Operation(管理操作)。我们直接通过RadosGW的URL
阅读全文
CentOS7.0安装Ceph(jewel)及以上版本
摘要:背景 由于docker的Ceph插件rexray对Ceph版本有一定的要求,当Ceph版本为hammer (0.94.10)时,rexray无法成功创建rbd设备。CentOS 7及以上版本,默认安装的就是hammer版本,因此,我们需要安装更高的jewel版本。Ceph的版本可[参见][1]。 安
阅读全文
rexray在CentOS上不能创建ceph rbd的docker volume问题定位
摘要:背景 我们通过docker的rexray插件来创建ceph rbd设备的docker volume,但总提示创建失败。 OS版本: Ceph版本: rexray版本: 分析 之前我们在ubuntu 16.04的环境中,也搭建过docker+ceph+rexray的环境,使用docker命令创建vol
阅读全文
容器中使用iptables报错can't initialize iptables table Permission denied (you must be root)
摘要:背景 在docker容器中部署了一微服务,该服务需要docker push镜像到docker registry。因此,docker容器中需要安装docker服务。但在启动容器的时候,却报错: can't initialize iptables table `filter': Permission d
阅读全文
docker创建ceph集群
摘要:背景 Ceph官方现在提供两类镜像来创建集群,一种是常规的,每一种Ceph组件是单独的一个镜像,如ceph/daemon、ceph/radosgw、ceph/mon、ceph/osd等;另外一种是最新的方式,所有的Ceph组件都集成在一个镜像ceph/daemon中,如果要创建对应的Ceph组件容器
阅读全文
Kubernetes服务之“运行单实例的有状态服务”
摘要:目标 在你的环境中创建一个PV 创建一个MySQl的Deployment 在集群中以DNS名称的方式,将MySQL暴露给其他的pod 开始之前 你需要一个Kubernetes集群,一个可以连接到集群的kubectl命令行工具。如果你没有集群,你可以使用 "Minikube" 来创建。 我们会创建一个
阅读全文
Kubernetes服务之StatefulSets简介
摘要:StatefulSets在v1.5时还是个beta特性,它取代了v1.4的PetSets特性。PetSets的用户可以参考v1.5的 "升级指导" ,将正在运行的PeetSets升级到StatefulSets。 StatefulSet是一个给Pod提供唯一标志的控制器,它可以保证部署和扩展的顺序。
阅读全文
Kubernetes存储之Persistent Volumes简介
摘要:简介 管理存储和管理计算有着明显的不同。 子系统给用户和管理员提供了一套API,从而抽象出存储是如何提供和消耗的细节。在这里,我们介绍两种新的API资源: (简称PV)和 (简称PVC)。 (持久卷,简称PV)是集群内,由管理员提供的网络存储的一部分。就像集群中的节点一样,PV也是集群中的一种资源。
阅读全文
Kubernetes v1.6开始支持RBAC
摘要:Kubernetes v1.6的一个亮点就是RBAC认证特性成为了beta版本。RBAC,基于角色的访问控制(Role Based Access Control),是用于管理Kubernetes资源访问权限的认证机制。RBAC支持灵活的认证策略配置,使得集群在不重启的情况下就可以升级权限。 本文重点
阅读全文
Docker aufs存储驱动layer、diff、mnt目录的区别
摘要:Docker基础信息 首先,先查询Docker使用的后端存储。使用命令 ,主要关注 相关的部分。 由上可见,Docker的版本是1.12.6。使用的后端存储是aufs文件系统,并且其根目录是 。 Docker镜像信息 列出所有Docker镜像 可以看出,现在的环境中,只有一个镜像,其 为`0ef2e
阅读全文
Kubernetes DNS 简介
摘要:环境 介绍 从Kubernetes 1.3开始,DNS通过使用插件管理系统 ,成为了一个内建的自启动服务。 Kubernetes DNS在Kubernetes集群上调度了一个DNS Pod和Service,并配置kubelet,使其告诉每个容器使用DNS Service的Ip来解析DNS名称。 什么
阅读全文
Kubernetes volumes简介
摘要:容器中的磁盘文件生命周期比较短暂,在一些比较复杂的容器应用中会产生一些问题。一、容器crash后,kubelet会重启该容器,但这些文件会丢失掉。二、pod中的多个容器经常需要共享文件。因此,Kubernetes的Volume应然而生,用于解决这些问题。 背景 在Docker中,也有 "volume
阅读全文
Ubuntu上手动安装Kubernetes
摘要:[TOC] 背景 两台Ubuntu16.04服务器:ip分别为192.168.56.160和192.168.56.161。。 Kubernetes版本:1.5.5 Docker版本:1.12.6 etcd版本:2.2.1 flannel版本:0.5.6 其中160服务器既做Kubernetes的ma
阅读全文
使用Docker容器来源码编译etcd
摘要:背景 etcd是CoreOS公司开发的分布式键值对存储库。在Kubernetes中,我们需要使用etcd作为所有REST API对象的持久化存储。 不幸的是,在github的 "release" 中,CoreOS将etcd的二进制可执行文件都放在了亚马逊的S3存储上,在国内访问非常慢。因此,我们只能
阅读全文