kubernetes实践之七:安全机制API Server认证之Service Account Token
一:前言Kubernetes有User Account和Service Account两套独立的账号系统。1.User Account是给人用的,Service Account 是给Pod 里的进程使用的,面向的对象不同。2.User Account是全局性的,Service Account 是属于某个具体的Namespace3.User Account是与后端的用户数据库同步的。二:Kubernetes API Server简介K...
kubernetes实践之六:CFSSL构建本地CA
一:前言SSL:SecureSockets Layer,标准化后叫"TLS",http协议默认情况下是不加密内容的,这样就很可能在内容传播的时候被别人监听到,对于安全性要求较高的场合,必须要加密,https就是带加密的http协议。消息-->[公钥]-->加密后的信息-->[私钥]-->消息CA:certificate authority 认证证书的第三方机构。X.509:证...
kubernetes实践之五:网络模型
一:前言Kubernetes从Docker默认的网络模型中独立出来形成一套自己的网络模型。模型的基础原则是:每个Pod都拥有一个独立的IP地址,而且假定所有Pod都在一个可以直接连通的,扁平的网络空间中。同一个Pod内的容器可以通过localhost来连接对方的端口。 二:Docker网络模型Docker使用Linux桥接,在宿...
kubernetes实践之五:Node节点安装
一:前言1.Kubernetes版本1.8.5;node ip 10.116.82.28; 对于kuberentes1.8集群,必须关闭swap,否则kubelet启动将失败;修改 /etc/fstab 将,swap系统注释掉。2.kubelet 启动时向 kube-apiserver 发送 TLS bootstrapping 请求,需要先将 bootstrap token ?件中的 kubelet-bootstrap ?户赋予 system:nodebootstrap...
kubernetes实践之四:Flannel网络插件安装
一:Flannel介绍Flannel是CoreOS团队针对Kubernetes设计的一个网络规划服务,简单来说,它的功能是让集群中的不同节点主机创建的Docker容器都具有全集群唯一的虚拟IP地址。在Kubernetes的网络模型中,假设了每个物理节点应该具备一段“属于同一个内网IP段内”的“专用的子网IP”。例如:节点1:10.1.46.0-24...
kubernetes实践之三:ETCD TLS证书集群安装
一:前言kuberntes 系统使? etcd 存储所有数据,部署?个三节点?可? etcd 集群,需要为 etcd 集群创建加密通信的 TLS 证书,这?复?以前创建的kubernetes 证书。cp ca.pem kubernetes-key.pem kubernetes.pem /etc/kubernetes/ssl。iZwz95trb3stk6afg8oozuZ :10.116.137.196iZwz96e1vc35er68nlrcauZ :10.116.82....
kubernetes实践之二:创建TLS证书和密钥
一:前言每个Kubernetes集群都有?个集群根证书颁发机构(CA)。 集群中的组件通常使?CA来验证API SERVER的证书,由API服务器验证kubelet客户端证书等。为了?持这?点,CA证书包被分发到集群中的每个节点,并作为?个sercret附加分发到默认service account上。?成的 CA 证书和秘钥?件如下:ca-key.pemca.pemkuber...
Docker+Gitlab+Jenkins+Maven代码持续集成与自动部署
Docker+Gitlab+Jenkins+Maven代码持续集成与自动部署
Kubernetes架构简述
物流运输系统建设初步构想
天下黄河九十九道湾,不知人生又有多少个湾要转。物业行业五年的混沌,转个湾转到了物流行业。半年的时间内,很痛苦,也很欣慰,每天都能学到新的东西,无论正面还是负面。看开了很多,内心也平和了很多,不知是好是坏。三个月中,忙,心亡也。技术无甚提升,博客也没更新,这是多年做技术所不能忍受的。...
Docker 高可用配置中心Etcd
一:简介Etcd是一个开源的分布式的键值存储库,用于配置共享和服务发现。通常以集群的形式进行部署,各工作节点会选出一个leader节点主导工作。通常用于存储数据库的连接配置,缓存配置,通用配置信息等。Etcd的特点有:1. 简单:基于HTTP+JSON的API,用curl命令就可以轻松使用2. 安全: 可选SS...
Grafana 安装与配置
一: 简介从本质上说,它是一个功能丰富的Graphite-web 替代品,能帮助用户更简单地创建和编辑仪表盘。它包含一个独一无二的Graphite目标解析器,从而可以简化度量和函数的编辑二: 安装与配置1.安装install systemctl daemon-reload systemctl status grafana-server3.相关文件目录Installs bi...
Docker监控Prometheus
一:Prometheus是什么Prometheus是一个开源的系统监控和报警工具。二:Prometheus的特点1.是一个多维度的数据模型,由指标名称(metricname)和key/value键值对组成的时间序列数据构成。2.在多维度的数据模型上有灵活的查询语言。3.不依赖分布存储,单主节点工作。4.通过基于HTTP的pull方式采集...
Docker network namespace
一:Linux namespaceLinux内核实现namespace的一个主要目的,就是实现轻量级虚拟化(容器)服务。在同一个namespace下的进程可以感知彼此的变化,而对外界的进程一无所知,仿佛置身于一个独立的系统环境中,以达到独立和隔离的目的。 二:network namespaceNetwork namespace主要提供了关于网络资...
Docker 网络管理
一:简介1. CNM(Container Network Model):定义了构建容器虚拟化网络的模型,同时还提供了可以用于开发多种网络驱动的标准化接口和组件。CNM中主要有沙盒(sandbox),端点(endpoint)和网络(network)三种组件。2. Docker daemon通过调用libnetwork对外提供的API完成网络的创建和管理等功能。Libnet...
Docker Dockerfile
一:docker build命令一般来说,用户主要使用Dockerfile和dockers build命令来完成一个新镜像的创建。命令格式如下: docker build PATH|URLPATH或URL所指向的文件成为context(上下文),PATH通常是一个含有Dockerfile文件的目录,URL可以是一个Github的地址。如:docker build -t 镜像名称 目...
Docker 容器文件系统
一:Docker镜像关于Docker镜像,有以下特性:.由Dockerfile生成.呈现层级结构.每层镜像包含:镜像文件以及镜像json元数据信息二:Docker 容器FROM ubuntu:14.04 :设置基础镜像,此时会使用基础镜像ubuntu:14.04的所有镜像层,为简单起见,图中将其作为一个整体展示。ADD run.sh /:将Do...
Docker Redis镜像 主从复制
一:简介Docker Hub 阿里云Redis镜像地址 https://dev.aliyun.com/detail.html?spm=5176.1971733.2.19.VcSclM&repoId=1259当前稳定版本是:4.0.2二:应用1.获取镜像docker pull redis:4.0.22.启动docker run --name myredis -d redis:4.0.23.映射工作目录docker run --name myredis -v/home/re...
Docker Nginx镜像
一:简述Docker Hub 阿里云Nginx镜像地址 https://dev.aliyun.com/list.html?namePrefix=nginx当前的稳定版本是1.12二:镜像使用1.获取镜像docker pull nginx:1.122.启动nginx,静态页面在主机的/home/html目录下dockerrun --name mynginx -v/home/html:/usr/share/nginx/html:ro -d nginx:1.12...
Docker Memory资源限制
一:简介docker通过cgroup来控制容器使用的资源配额,包括CPU、内存、磁盘三大方面,基本覆盖了常见的资源配额和使用量控制。cgroup是Control Groups的缩写,是Linux 内核提供的一种可以限制、记录、隔离进程组所使用的物理资源(如 cpu、memory、磁盘IO等等) 的机制,被LXC、docker等很多项目用于实现进程资源控...