etcd

Docker集中化web界面管理平台-Shipyard部署记录

☆樱花仙子☆ 提交于 2019-12-28 01:11:46
Docker图形页面管理工具基本常用的有三种: DOCKER UI,Shipyard,Portainer 。 应用路由和负载均衡、集中化日志、部署等;Shipyard是在Docker Swarm实现对容器、镜像、docker集群、仓库、节点进行管理的web系统。 DockerUI功能 : 通过Web浏览器的命令行来管理的任务。 DockerUI的优点 1)可以对运行着的容器进行批量操作 2)在容器网络中-会显示容器与容器间的网络关系 3)在Volumes中显示了所有挂载目录 DockerUI一个致命的缺点:不支持多主机.试想一下,如果有N台docker主机时-我就需要一台台的用dockerui进行管理,想想都觉得麻烦。就单台主机而言,dockerui是一款不错的管理工具。 Shipyard功能 : 是一个集成管理docker容器、镜像、Registries的系统,它可以简化对横跨多个主机的Docker容器集群进行管理. 通过Web用户界面,你可以大致浏览相关信息,比如你的容器在使用多少处理器和内存资源、在运行哪些容器,还可以检查所有集群上的事件日志。 其特性主要包括: 1)支持节点动态集群,可扩展节点的规模(swarm、etcd方案) 2)支持镜像管理、容器管理、节点管理等功能 3)可视化的容器管理和监控管理 4)在线容console终端 Shipyard几个概念 1)engine

基于Kubernetes构建企业容器云

为君一笑 提交于 2019-12-27 21:43:42
前言 团队成员有DBA、运维、Python开发,由于需要跨部门向公司私有云团队申请虚拟机, 此时我在思考能否在现有已申请的虚拟机之上,再进行更加细粒度的资源隔离和划分,让本团队的成员使用, 也就是在私有云上构建docker容器云,于是研究下Kubernetes,看一下能否找到一些突破点?Kubernetes ( 库伯耐踢死 ),省略了K ubernete s中间8个字母,简称K8S; 什么是Kubernets? kubernets是一种容器编排的解决方案;(The solution to do container orchestrate) 什么是容器技术? (what's the container technology?) 很久以前app上线流程是: 选择1台物理机(First you should choice a phycisal server)然后在这个物理机上部署您的app(second intalling your application in the phycisal server); 缺点: 部署慢 效率低 很难迁移 虚拟化技术出现之后(virtualization) 优势 The advantage of Virtualization Resourse pool like CPU Memory(CPU、内存资源可以动态分配) Easy to extension:

Demystifying High Availability in Kubernetes Using Kubeadm

▼魔方 西西 提交于 2019-12-27 09:49:29
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> Sign in Get started CLOUD COMPUTING MACHINE LEARNING DEVOPS SOFTWARE Demystifying High Availability in Kubernetes Using Kubeadm Velotio Technologies Follow Jan 17 · 6 min read Introduction The rise of containers has reshaped the way we develop, deploy and maintain the software. Containers allow us to package the different services that constitute an application into separate containers, and to deploy those containers across a set of virtual and physical machines. This gives rise to container orchestration tool to automate the deployment, management, scaling

K8s常用命令操作

心不动则不痛 提交于 2019-12-27 07:24:56
一、kubernetes常用命令 一、kubectl命令补全   1、master安装命令补全,并临时生效 yum install -y bash-completion source /usr/share/bash-completion/bash_completion   2、永久生效 source <(kubectl completion bash) echo "source <(kubectl completion bash)" >> ~/.bashrc 二、启动状态   1、master节点 1、更改配置文件,重新加载 systemctl daemon-reload 2、启动master相关组件 systemctl start kube-apiserver systemctl start kube-controller-manager systemctl start kube-scheduler 3、停止master相关组件 systemctl stop kube-apiserver systemctl stop kube-controller-manager systemctl stop kube-scheduler 4、重启master相关组件 systemctl restart kube-apiserver systemctl restart kube

Ansible11:使用lookup生成变量

不打扰是莪最后的温柔 提交于 2019-12-27 01:53:06
目录 简单说明 1. file 2. pipe 3. env 4. template 5. csvfile 6. redis_kv 7. etcd 8. password 9. dnstxt 简单说明 在通常情况下,所有的配置信息都会被作为ansible的变量保存了,而且可以保存在ansible允许定义变量的各种地方,诸如vars区段, vars_files 加载的文件中,以及host_vars和group_vars目录中。 但在有些时候,我们希望从诸如文本文件或者.csv文件中收集数据作为ansible的变量,或者直接获取某些命令的输出作为ansible的变量,甚至从redis或者etcd这样的键值存储中取得相应的值作为ansible的变量。这个时候,我们就需要通过ansible的lookup插件来从这些数据源中读取配置数据,传递给ansbile变量,并在playbook或者模板中使用这些数据。 ansible支持一套从不同数据源获取数据的lookup,包括file, password, pipe, env, template, csvfile, dnstxt, redis_kv, etcd等 1. file 使用file lookup可以从文本文件中获取数据,并在这些数据传递给ansible变量,在task或者jinja2模板中进行引用

实例学习Ansible系列(18)服务管理的几种方式

孤者浪人 提交于 2019-12-26 19:34:57
Ansible中使用service等模块进行服务的管理,也可直接使用非幂等性的模块诸如shell等进行控制,这篇文章介绍常用的使用示例。 示例1: 使用service停止单个服务 比如停止etcd服务,示例如下 ## stop etcd service - name: stop etcd service service: name: etcd state: stopped 示例2: 使用service停止多个服务 比如停止kubernetes的master相关的服务,示例如下 ## stop kubernetes master service - name: stop master service service: name: "{{ item }}" state: stopped with_items: - kube-scheduler - kube-controller-manager - kube-apiserver 示例3: 无视错误 如果当当前机器上不存在service文件时,可能会出现如下类似的错误信息 fatal: [localhost]: FAILED! => {"changed": false, "msg": "Could not find the requested service flanneld: host"} 这种情况下可以使用ignore

calico 2.6.1 升级至 3.11

戏子无情 提交于 2019-12-26 15:44:55
说明 查看官方文档升级的操作需要做如下注意事项。 2.6.x 与 3.x 使用的etcd(这里只是针对 etcd 存储来说) 是不同的,2.6 的使用的是 etcdv2, 而3.x 是 etcdv3. 如果想从 2.6.x 升级到 3.x 至少得是2.6.5+的才行。 所以针对现有的情况,需要先升级至 2.6.5+ ,再升级 3.x。 2.6.1 升级至 2.6.12 2019/12/25 现有环境,使用 etcdv2 进行存储的 calico 数据。 [root@k8s-1 kubelet]# which etcdv2 alias etcdv2='export ETCDCTL_API=2; /bin/etcdctl --ca-file /etc/etcd/ssl/etcd-root-ca.pem --cert-file /etc/etcd/ssl/etcd.pem --key-file /etc/etcd/ssl/etcd-key.pem --endpoints https://10.111.32.239:2379,https://10.111.32.241:2379,https://10.111.32.242:2379' [root@k8s-1 kubelet]# etcdv2 ls /calico/ipam/v2/assignment/ipv4 /calico/ipam/v2

kubeadm安装kubernetes 1.13.1集群完整部署记录

家住魔仙堡 提交于 2019-12-26 07:13:19
k8s是什么   Kubernetes简称为k8s,它是 Google 开源的容器集群管理系统。在 Docker 技术的基础上,为容器化的应用提供部署运行、资源调度、服务发现和动态伸缩等一系列完整功能,提高了大规模容器集群管理的便捷性。k8s是容器到容器云后的产物。但是k8s并不是万能,并不一定适合所有的云场景。官方有一段" What Kubernetes is not "的解释可能更有利我们的理解。   Kubernetes 不是一个传统意义上,包罗万象的 PaaS (平台即服务) 系统。我们保留用户选择的自由,这非常重要。   Kubernetes 不限制支持的应用程序类型。 它不插手应用程序框架 (例如 Wildfly ), 不限制支持的语言运行时 (例如 Java, Python, Ruby),只迎合符合 12种因素的应用程序 ,也不区分”应用程序”与”服务”。Kubernetes 旨在支持极其多样化的工作负载,包括无状态、有状态和数据处理工作负载。如果应用可以在容器中运行,它就可以在 Kubernetes 上运行。   Kubernetes 不提供作为内置服务的中间件 (例如 消息中间件)、数据处理框架 (例如 Spark)、数据库 (例如 mysql)或集群存储系统 (例如 Ceph)。这些应用可以运行在 Kubernetes 上。   Kubernetes

005.基于docker部署etcd集群部署

心已入冬 提交于 2019-12-25 21:33:18
一 环境准备 ntp配置:略 #建议配置ntp服务,保证时间一致性 etcd版本:v3.3.9 防火墙及SELinux:关闭防火墙和SELinux 名称 地址 主机名 备注 etcd1 172.24.8.71 etcd1.example.com etcd2 172.24.8.72 etcd2.example.com etcd3 172.24.8.73 etcd3.example.com 1 # hostnamectl set-hostname etcd1.example.com 2 # hostnamectl set-hostname etcd2.example.com 3 # hostnamectl set-hostname etcd3.example.com 二 docker etcd集群部署 2.1 安装docker 见《docker版本及安装》。 2.2 etcd基础配置 1 # mkdir -p /var/log/etcd/ #建议创建etcd日志保存目录 2 # mkdir -p /data/etcd #建议创建单独的etcd数据目录 3 # REGISTRY=gcr.io/etcd-development/etcd #配置etcd镜像的仓库,不推荐使用 4 # REGISTRY=quay.io/coreos/etcd #建议使用此仓库 5 # ETCD_VERSION

生产环境建议为 flannel 和 kube-apisever 分别配置 etcd 集群

点点圈 提交于 2019-12-25 21:12:10
由于以二进制方式部署的flannel是以etcdv2的方式访问etcd,而k8s的kube-apiserver是以etcdv3的方式访问etcd,在这种情况下,如果让他们都访问同一个etcd集群,正常情况下存、取数据都没问题,用etcdctl snapshot save 备份数据也没问题,但是在恢复数据时,etcdv2写入的数据会丢失,这是因为etcd v2和v3 的数据结构和实现逻辑完全不同导致的,所以要为flannel和k8s分别配置etcd集群。 来源: CSDN 作者: Mr_Mei_666666 链接: https://blog.csdn.net/weixin_41910261/article/details/103703337