ansible

使用runc来启动容器

本秂侑毒 提交于 2020-03-22 23:44:16
runc简介 ​ RunC 是一个轻量级的工具,它是用来运行容器的,只用来做这一件事,并且这一件事要做好。我们可以认为它就是个命令行小工具,可以不用通过 docker 引擎,直接运行容器。事实上,runC 是标准化的产物,它根据 OCI 标准来创建和运行容器。而 OCI(Open Container Initiative) 组织,旨在围绕容器格式和运行时制定一个开放的工业化标准。 如何使用 ​ 使用runc的话也是比较简单的。首先我们要基于现有已运行的docker容器来制作runc需要的rootfs,具体如下 需要机器上安装有docker # 首先建立一个工作目录以及rootfs目录 mkdir testc cd testc mkdir rootfs # 运行一个容器并根据自己的需要在容器中定制一些内容 docker run --name=test1 --rm -it centos bash # 容器运行后可根据自己需要定制安装一些内容,比如说这里安装一个ansible yum install ansible -y ... # 定制话内容完成后 此窗口不要关闭,从新开一个shell窗口执行如下命令 # 将上述运行的容器导出为文件并解压 cd testc/rootfs docker export test1 -o test1.tar tar xvf test1.tar rm -rf

Cloudformation stack shows as complete before execution of all user data

别来无恙 提交于 2020-03-22 11:39:56
问题 In my cloudformation stack, I have a launch config which runs ansible scripts in the user data. The problem here is, my stack status shows CREATE_COMPLETE even if the ansible scripts have not completed exacution. After I ssh into the ec2 instance, I see the logs which shows the ansible execution still in progress. My sample cloudformation stack json is something like this: "OpenShiftMasterASLaunchConfig": { "Type": "AWS::AutoScaling::LaunchConfiguration", "Metadata": { "AWS::CloudFormation:

Cloudformation stack shows as complete before execution of all user data

旧城冷巷雨未停 提交于 2020-03-22 11:39:08
问题 In my cloudformation stack, I have a launch config which runs ansible scripts in the user data. The problem here is, my stack status shows CREATE_COMPLETE even if the ansible scripts have not completed exacution. After I ssh into the ec2 instance, I see the logs which shows the ansible execution still in progress. My sample cloudformation stack json is something like this: "OpenShiftMasterASLaunchConfig": { "Type": "AWS::AutoScaling::LaunchConfiguration", "Metadata": { "AWS::CloudFormation:

ansible

我只是一个虾纸丫 提交于 2020-03-21 12:19:41
ansible Ansible : Ansible的核心程序 Host Lnventory : 记录了每一个由Ansible管理的主机信息,信息包括ssh端口,root帐号密码,ip地址等等。可以通过file来加载,可以通过CMDB加载 Playbooks : YAML格式文件,多个任务定义在一个文件中,使用时可以统一调用,“剧本”用来定义那些主机需要调用那些模块来完成的功能. Core Modules : Ansible执行任何管理任务都不是由Ansible自己完成,而是由核心模块完成;Ansible管理主机之前,先调用core Modules中的模块,然后指明管理Host Lnventory中的主机,就可以完成管理主机。 Custom Modules : 自定义模块,完成Ansible核心模块无法完成的功能,此模块支持任何语言编写。 Connection Plugins : 连接插件,Ansible和Host通信使用 ansible简介 ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。 ansible是基于模块工作的,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架

Ansible总结

强颜欢笑 提交于 2020-03-20 22:16:03
3 月,跳不动了?>>> 一、工作原理图 Ansible : ansible核心 Modules : 包括 Ansible 自带的核心模块及自定义模块 Plugins : 完成模块功能的补充,包括连接插件、邮件插件等 Playbooks : 剧本;定义 Ansible 多任务配置文件,由Ansible 自动执行 Inventory : 定义 Ansible 管理主机的清单 [ˈɪnvəntri] 清单 1、部署简单,只需在主控端部署Ansible环境,被控端无需做任何操作; 2、默认使用SSH协议对设备进行管理; 3、主从集中化管理; 4、配置简单、功能强大、扩展性强; 5、支持API及自定义模块,可通过Python轻松扩展; 6、通过Playbooks来定制强大的配置、状态管理 7、对云计算平台、大数据都有很好的支持; 二、 ansible命令参数 anisble命令语法: ansible [-i 主机文件] [-f 批次] [组名] [-m 模块名称] [-a 模块参数] ansible详细参数: -v,–verbose # 详细模式,如果命令执行成功,输出详细的结果 (-vv –vvv -vvvv) -i PATH, -inventory=PATH # 指定 host 文件的路径,默认是在 /etc/ansible/hosts inventory [ˈɪnvəntri] 库存

ansible 判断和循环

那年仲夏 提交于 2020-03-20 15:18:33
标准循环 模式一 - name: add several users user: name={{ item }} state=present groups=wheel with_items: - testuser1 - testuser2 or with_items: "{{ somelist }}" 模式2. 字典循环 - name: add several users user: name={{ item.name }} state=present groups={{ item.groups }} with_items: - { name: 'testuser1', groups: 'wheel' } - { name: 'testuser2', groups: 'root' } 嵌套循环 --- - name: test hosts: masters tasks: - name: give users access to multiple databases command: "echo name={{ item[0] }} priv={{ item[1] }} test={{ item[2] }}" with_nested: - [ 'alice', 'bob' ] - [ 'clientdb', 'employeedb', 'providerdb' ] - [ '1',

如何在Redhat7.7中安装CDP DC7.0.3

点点圈 提交于 2020-03-19 19:09:07
如何在Redhat7.7中安装CDP DC7.0.3 标签(空格分隔): 大数据平台构建 一:关于CDP DC 7.0.3 概述 二: 系统环境初始化 三: 构建CDP DC 7.0.3 一: 关于CDP DC 7.0.3 概述 1.1 CDP dc 7.0.3 CDP DC7.0.3是Cloudera与Hortonworks合并后,第一个融合CDH和HDP所有组件的on-premise版本,CDP Data Center主要由Cloudera Runtime构成,Cloudera Runtime由超过35个开源项目组成,当然CDP Data Center还包括其它功能如管理功能Cloudera Manager,Key Management,专业支持等,如下图所示: 1.2 Cloudera Runtime的主要组件版本如下图所示: 二: 系统环境初始化 2.1 系统环境介绍 OS: rhel7.7x64 cat /etc/hosts --- 192.168.100.21 rhel01.flyfish 192.168.100.22 rhel02.flyfish 192.168.100.23 rhel03.flyfish 192.168.100.24 rhel04.flyfish 192.168.100.25 rhel05.flyfish 192.168.100.26 rhel06

Ansible介绍

|▌冷眼眸甩不掉的悲伤 提交于 2020-03-17 15:32:44
ansible基础 ansible简介 ansible安装 什么是ansible 为什么选择ansible ansible特性 工作流程 配置环境 安装ansible ansible基础 Ansible中文权威指南 ansible简介 什么是ansible ansible是2013年推出的一款IT自动化和DevOps软件,2015年被RedHat收购。是基于Python研发,糅合很多老运维I具的优点,实现了批量操作系统配置,批量程序部署, 批量运行命令等功能 ansible可以实现: 自动化部署APP 自动化管理配置项 自动化持续交付 自动化( AWS )云服务管理 为什么选择ansible 选择一款配置管理软件,无外乎从以下几点来权衡利弊 活跃度(社区) 学习成本 使用成本 编码语言 性能 使用是否广泛 为什么选择ansible ( 续1 ) 自动化工具 Watch (关注) Star点赞 Fork (复制) Contributors (贡献者) Ansible 1690 24105 8220 2776 SaltStack 576 7835 3643 1832 Puppet 502 4533 1872 446 Chef 424 4907 2038 510 为什么选择ansible ( 续2 ) ansible优点 只需要SSH和Python即可使用 无客户端

k8s集群部署(3)

谁说胖子不能爱 提交于 2020-03-17 07:01:30
一、利用ansible部署kubernetes集群环境准备    基 于二进制方式部署和利用ansible-playbook实现自动化:既提供一键安装脚本,也可以分步执行安装各个组件,同时讲解每一步主要参数配置和注意事项;二进制方式部署有助于理解系统各组件的交互原理和熟悉组件启动参数,有助于快速排查解决实际问题。 版本组件 :   kubernetes v1.9.7   etcd v3.3.4   docker 18.03.0-ce   calico/node:v3.0.6   calico/cni:v2.0.5   calico/kube-controllers:v2.0.4   centos 7.3+ 集群规划和基础参数设定:   1.高可用集群所需节点配置如下:     部署节点×1:运行ansible脚本的节点     etcd节点×3:注意etcd集群节点必须是1,3,5,7……奇数个节点     master节点×1:运行集群主要组件     node节点×3:真正应用部署的节点,根据需要增加机器配置和节点数   2.在部署节点准备ansible:使用ansible的docker环境启动:     1° 下载内部源配置脚本并运行脚本: wget http://download2.yunwei.edu/shell/yum-repo.shbash yum-repo.sh  

Ansible-playbook

十年热恋 提交于 2020-03-16 09:18:13
Ansible-playbook简介 什么是playbook? 简单点说, playbook就是ansible用于配置,部署和管控节点机器的剧本, 将一系列命令的集合归一使用,类似于shell脚本,不过更加强大. playbook与shell脚本比对 它们功能形似,playbook和shell脚本一样,都是批量处理任务.都是把很多命令组合到一起,加入对应条件判断等,要说区别就是命令结构和被执行场景有所不同; shell脚本由一条条命令构成,一般只在当前的服务器运行; playbook中是有一个个task任务构成,每个task都可以当做shell中的一条命令,playbook不止在一个服务器上执行,因此它需要在其中指定运行该playbook的服务器名.而且playbook有着自己的语法格式 playbook语法格式 playbook由YMAL语言编写,YMAL格式类似于JSON格式,便于写读和理解,它的格式如下: #格式 1.文件的第一行应该以 "---"这三个连续字符开始,代表了YAML文件的开始 2.在一行中, # 后面的内容代表注释,python,ruby,shell都是如此 3.YAML中的列表元素以"-"开头然后紧接着一个空格,后面为元素内容 4.在同一个列表中的元素应该保持相同的缩进,否则会当作错误处理 5.play中hosts ,variables,roles