ansible

如何快速往cloud shell中传送文件

自作多情 提交于 2021-01-15 09:08:58
今天来分享一个小技巧,关于cloud shell的,cloud shell是个不错的工具,尤其是在一个应急的情况,本地安装CLI或者PowerShell都需要时间和权限,但是cloud shell是个现成的命令行环境,还内置像vscode、terraform、Ansible这种工具,非常方便,比较遗憾的是目前还是只有Global Azure才有 但是有个问题其实一直让我觉得比较麻烦,就是怎么把一些文件快速传到cloud shell里去,有一些脚本或者文件在本地写好之后想放到cloud shell里去运行,但是一个个编辑实在麻烦,研究了一下之后逐渐发现了一些技巧 像这种共享文件有一个比较好用的方式其实就是azure file,可以直接支持挂载,经过研究之后发现,其实cloud shell里内置了一个叫clouddrive的程序,这个程序就可以用来挂载azure file,首先打开cloud shell,在global azure的右上角有个小按钮 打开之后根目录就会有一个clouddrive的程序 使用clouddrive mount 指定好订阅、storage和file share的名字之后很简单就可以连接到这个file share,当然需要注意这个file share需要和cloud shell在同一个region 这里要提醒的一点是,cloud shell之所以能够保存文件

被吹的神乎其神的Python都能干什么

送分小仙女□ 提交于 2021-01-12 06:54:43
文末领取免费学习福利 1. 前言 最近几年 Python 被吹的神乎其神,很多同学都不清楚 Python 到底能干什么就盲目去学习 Python,今天小胖哥就 Python 的应用领域来简单盘点一下,让想学习 Python 的同学找对方向。 2. Python 的特点 这里就谈谈自己的看法,首先 Python 是跨平台语言,语法很简洁,很短的代码干更多的事。另外它是脚本语言,随时随地写一段脚本就可以处理数据,十分方便。同时它也是面向对象语言,对初学者十分友好。Python 在处理各个领域的类库也十分丰富,爬虫、机器学习、数据处理、图像处理等等满足了大部分领域的需要。更重要的是 Python 是一种“胶水语言”,可以轻松调用主流的 C、C++、Java 类库。但是这就是 Python 被 “吹”起来的原因吗?当然不是!如果一门语言没有实际用武之地,即使它再优秀也没有意义,也不可能优秀。 3. Python 的使用领域 接下来我们就来看看 Python 在哪些领域有实际的运用。 3.1 数据爬虫 当今互联网数据成为任何一家公司最核心的资产,但是互联网的信息非常海量,未来快速获取有用的公开信息,爬虫就派上了用场。而 Python 语言非常善于编写爬虫,通过 requests 库抓取网页数据,使用 BeautifulSoup 解析网页并清晰和组织数据就可以快速精准获取数据

自动化运维(1)之二进制部署MySQL5.7

回眸只為那壹抹淺笑 提交于 2021-01-09 06:43:22
##二进制部署MySQL5.7 这个文档用于基础解释,后面通过ansible的自动化对MySQL单实例进行安装部署。 1、解压文件 # tar zxvf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz -C /usr/local 2、重命名文件名称 # cd /usr/local # mv mysql-5.7.22-linux-glibc2.12-x86_64/ mysql/ ###3、新建mysql用户 # groupadd mysql # useradd -g mysql mysql ###4、设置用户操作系统资源的限制 # vi /etc/security/limits.conf mysql soft nproc 65536 mysql hard nproc 65536 mysql soft nofile 65536 mysql hard nofile 65536 验证limit是否生效 su - mysql ulimit -a ###5、创建MySQL数据目录及赋予相应权限 #cd /data/ #mkdir -p /data/mysqldata/{3306/{data,tmp,binlog,innodb_ts,innodb_log},backup,scripts} #chown -R mysql:mysql mysqldata ##

k8s集群部署

梦想的初衷 提交于 2021-01-08 06:32:31
1. 部署环境 k8s集群部署以四台机器做实验,一台部署节点,三台集群节点。在部署节点上通过ansible将关于k8s相关部署文件发送给集群节点进行部署。 四台主机:node、node1、node2、node3;   a) 部署节点:node;   b) master节点:node1;   c) etcd节点:node1、node2、node3;   d) 计算(node)节点:node1、node2、node3。 版本组件   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+ 2. 上传镜像至部署节点,解压 [root@node opt]# ls kubernetes.tar.gz rh [root@node opt]# tar zxf kubernetes.tar.gz 3. 域名解析和免密钥,各机器均做 [root@node opt]# cat /etc/ hosts 127.0 . 0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 :: 1

大数据集群的自动化运维实现思路

爱⌒轻易说出口 提交于 2021-01-07 23:46:50
| 作者简介 王晓伟 知数堂《大数据实战就业》课程讲师 六年大数据相关工作经验 清华大学软件工程硕士 曾就职于网易、搜狗等互联网企业 从事大数据及数据仓库的开发管理工作 拥有丰富的数据平台建设、 及Hadoop生态系统组件优化经验 | 王老师往期公开课及试听视频: 1、第1期课程刚结课 (正式课试听视频: https://pan.baidu.com/s/1yfgL5g7FGfjnhas1CtoAWA ) 2、往期公开课: 《大数据与Hadoop入门指引》 《轻松学习机器学习算法原理》 《时序数据库InfluxDB原理及应用初探》 本周四晚,欢迎来知数堂体验王晓伟老师的公开课 分享主题 :《 MySQL与数据仓库如何进行数据交互 》 分享时间 :2018年7月12日,20:30-22:00 微信扫码 、 戳下方链接, 或 “ 阅读原文” 报名预约吧 https://ke.qq.com/course/314213 摘 要 IT公司的数据平台是支撑大规模数据处理、数据决策支持的重要基础设施,随着大数据及人工智能技术的发展,大数据集群规模变得越来越大。然而,如何快速、高效的管理好成千上万台的大数据集群成为了很多大数据工程师的奋斗目标,设计实现合理的自动化运维系统将使大数据集群的管理事半功倍。 本文将从大数据集群面临的挑战、自动化运维系统的设计原则

ansible: create temporary inventory with multiple groups with add_host or group_by

余生颓废 提交于 2021-01-07 07:52:25
问题 Is there any way to create an in memory inventory during provisioning tasks with add_host or group_by modules such: [SET] 1.1.1.1 [SET:vars] ip_address={{ inventory_hostname }} [SET1] 1.1.1.2 [SET:vars] ip_address={{ inventory_hostname }} 回答1: Yes. You can do something like this (if you provide more information in your question, we can provide more specificity ourselves): - add_host: hostname: 1.1.1.1 groups: SET - add_host: hostname: 1.1.1.2 groups: SET1 This will dynamically add 1.1.1.1 to

Ansible jinja2 merging lists to a single list

偶尔善良 提交于 2021-01-07 03:36:32
问题 I am trying to iterate a list ["abc","def","ghi"] & each iteration generates a list which i need to set it to a variable in ansible. here is my current script: - name: add checks set_fact: CHECKS: "{% for cKey in checkKey %} {{ CHECKS|default([]) }} + {{ CHECKSMAP | map(attribute=cKey ) | list |join(',')}} {% endfor %}" which generates the following output which is a string & not a list how can i append to the single list similar to list += temp_list in a for loop ok: [127.0.0.1] => { "msg":

Ansible

我怕爱的太早我们不能终老 提交于 2021-01-06 09:21:03
目录 Ansible - 安装介绍 Ansible -常用模块介绍 Ansbile - Playbook 使用 Ansible - Roles 使用示例 参考 bilibili马哥视频 运维派教程 介绍 ansible 是一种自动化运维工具,基于 Python 开发,可实现批量系统配置、批量程序部署、批量运行命令等功能。 环境信息 # hostnamectl Static hostname: localhost.localdomain Icon name: computer-vm Chassis: vm Machine ID: 752d91f949a840fa9f2ed0b2ca54d8ad Boot ID: 81088a1ae25a46279b7746e8c9e0a091 Virtualization: vmware Operating System: CentOS Linux 7 ( Core ) CPE OS Name: cpe:/o:centos:centos:7 Kernel: Linux 3.10.0-957.el7.x86_64 Architecture: x86-64 安装 可直接通过 yum 安装 [ root@localhost ~ ] # yum search ansible 校验 [ root@localhost ~ ] # ansible -

Ansible templating skips string after a dash

倖福魔咒の 提交于 2021-01-05 10:47:13
问题 I am templating a file with a set of variables in Ansible. A few entries in my defaults/main.yaml file are : jenkins_plugins: 'ant': '1.8' 'antisamy-markup-formatter': '1.5' 'apache-httpcomponents-client-4-api': '4.5.3-2.1' 'kubernetes': '1.3' One of this key-value pair is supposed to be injected in this line in my template file config.xml.j2 : <markupFormatter class="hudson.markup.RawHtmlMarkupFormatter" plugin="antisamy-markup-formatter@{{ jenkins_plugins.antisamy-markup-formatter }}"> So

Ansible - skip undefined variable in dict

前提是你 提交于 2021-01-05 10:42:32
问题 I`m using ipa_user module to setup users. There is variable passsword which force new password. For some users (when var is not in dict) I would like to skip it in iteration, but it always fail. This is snippet from my playbook. Ansible version is 2.7 task: - name: adding ipa users ipa_user: name: "{{ item.value.login }}" state: "{{ item.value.state }}" givenname: "{{ item.value.givenname }}" sn: "{{ item.value.surname }}" mail: "{{ item.value.mail }}" telephonenumber: "{{ item.value