01 2023 档案

摘要:我们可以把不容易变动的功能放在父模板中,其他模板只需要继承改模板。 举例说明: 第一步创建父模板 # cat pod-parent.yaml.j2 apiversion: v1 kind: Pod metadata: {% block metadata %} {% endblock %} spec: 阅读全文
posted @ 2023-01-28 18:21 mingtian是吧 阅读(20) 评论(0) 推荐(0) 编辑
摘要:{# 这是一行注释 #} {{ name }} {# 定义变量 #} {% set age=32 %} {{ age }} {# 比较运算 #} {{ 1 == 1 }} {{ 1 != 1 }} {{ 1 > 1 }} {{ 1 >= 1 }} {{ 1 < 1 }} {{ 1 <= 1 }} { 阅读全文
posted @ 2023-01-28 18:06 mingtian是吧 阅读(95) 评论(0) 推荐(0) 编辑
摘要:第一步:生成目录结构 config_file |_templates | |_nginx.conf.j2 |_nginx.conf 第二步:写一个用于解析模板的函数 from jinja2 import PackageLoader,Environment def j2(package_name,pa 阅读全文
posted @ 2023-01-28 17:56 mingtian是吧 阅读(22) 评论(0) 推荐(0) 编辑
摘要:Jinja2 是一个 Python 的功能齐全的模板引擎。它有完整的 unicode 支持,一个可选 的集成沙箱执行环境,被广泛使用,以 BSD 许可证授权 pip install Jinja2==3.0.1 接下来我们测试模板解析 from jinja2 import Template templ 阅读全文
posted @ 2023-01-28 17:41 mingtian是吧 阅读(623) 评论(0) 推荐(0) 编辑
摘要:示例1 可以理解为: for item in groups.ungrouped: print(item) - hosts: all tasks: - name: debug debug: msg: "{{ item }}" with_items: "{{ groups.ungrouped }}" - 阅读全文
posted @ 2023-01-25 16:49 mingtian是吧 阅读(32) 评论(0) 推荐(0) 编辑
摘要:block 可以将多个task任务组合在一起执行,支持when判断,支持类似python中的try 语句。 python 语法举例: try: print(1/0) except: print(2) finally: print(3) block 举例: rescue 字面意识救援 - hosts: 阅读全文
posted @ 2023-01-25 14:05 mingtian是吧 阅读(69) 评论(0) 推荐(0) 编辑
摘要:failed_when 相当于exit,可以理解为: for i in range(10): if i >5: exit else: print(i) - hosts: all tasks: - name: ansible_os_family debug: msg: "{{ ansible_os_f 阅读全文
posted @ 2023-01-25 13:08 mingtian是吧 阅读(74) 评论(0) 推荐(0) 编辑
摘要:| 参数 | 释义 | | | | | string | 判断字符串 | | upper | 判断全大写 | | lower | 判断全小写 | - hosts: all tasks: - name: test string vars: msg: ABC debug: msg: "{{ msg }} 阅读全文
posted @ 2023-01-24 13:33 mingtian是吧 阅读(13) 评论(0) 推荐(0) 编辑
摘要:特别注意:这些文件的判断是用于判断ansible 运维主机上的文件,而不是远程主机 | 参数 | 释义 | | | | | file | 等同bash 中[ -f filename ] | | directory | 等同bash 中[ -d filename ] | | link | 等同bash 阅读全文
posted @ 2023-01-24 12:48 mingtian是吧 阅读(10) 评论(0) 推荐(0) 编辑
摘要:常常用于判断前一个命令执行的结果. | 参数 | 释义 | 示例 | | | | | | success | 执行状态为成功为真 | when: result is success | | succeeded | | | | failure | 执行状态为失败为真 | when: result is 阅读全文
posted @ 2023-01-24 12:34 mingtian是吧 阅读(15) 评论(0) 推荐(0) 编辑
摘要:| 参数 | 释义 | 示例 | | | | | | defined | 变量已定义 | when: username is defined | | undefind | 变量未定义 | when: username is undfined | | none | 变量已定义未赋值 | when: u 阅读全文
posted @ 2023-01-24 12:24 mingtian是吧 阅读(13) 评论(0) 推荐(0) 编辑
摘要:判断添加用户 - hosts: all vars: - username: test1 tasks: - name: detect whether the user exists shell: id {{ username }} register: result ignore_errors: tru 阅读全文
posted @ 2023-01-22 10:56 mingtian是吧 阅读(10) 评论(0) 推荐(0) 编辑
摘要:| 逻辑运算 | 释义 | | | | | and | 逻辑与 | | or | 逻辑或 | | not | 逻辑取反 | 示例一: 等同于: if ansible_distribution == "CentOS" and ansible_distribution_major_version == 阅读全文
posted @ 2023-01-22 10:55 mingtian是吧 阅读(17) 评论(0) 推荐(0) 编辑
摘要:| 比较符 | 释义 | | | | | == | 等于 | | != | 不等 | | < | 小于 | | <= | 小于等于 | | > | 大于 | | >= | 大于等于 | 示例一: 需要注意 when 使用变量时不需要 {{}} - hosts: all tasks: - name: 阅读全文
posted @ 2023-01-22 10:54 mingtian是吧 阅读(20) 评论(0) 推荐(0) 编辑
摘要:package main import ( "fmt" "net/http" ) func main() { http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { fmt.Fprint(w, "Hello, World 阅读全文
posted @ 2023-01-20 16:06 mingtian是吧 阅读(261) 评论(0) 推荐(0) 编辑
摘要:功能类似于: 列表元素数量上要一一对应 for i in zip([1,2,3],['a','b','c']): print(i) - hosts: all tasks: - name: debug debug: msg: "{{ item }}" with_together: - ["a","b" 阅读全文
posted @ 2023-01-20 10:39 mingtian是吧 阅读(12) 评论(0) 推荐(0) 编辑
摘要:添加索引 - hosts: all tasks: - name: debug debug: msg: "{{ item }}" with_indexed_items: - [1,2,3] - ['a','b','c','d'] - hosts: all tasks: - name: debug de 阅读全文
posted @ 2023-01-20 10:28 mingtian是吧 阅读(12) 评论(0) 推荐(0) 编辑
摘要:with_nested 和with_cartesian 实现的功能相同。嵌套循环可以理解为: nest 英文嵌套 cartesian 英文笛卡尔积 for i in [1,2,3]: for j in ['a','b','c','d']: print(i,j) - hosts: all tasks: 阅读全文
posted @ 2023-01-20 09:38 mingtian是吧 阅读(80) 评论(0) 推荐(0) 编辑
摘要:- hosts: all tasks: - name: debug debug: msg: "{{ item.key }} 的名字叫 {{ item.value.name }}" with_dict: - user01: name: zhangsan age: 30 - user02: name: 阅读全文
posted @ 2023-01-20 09:31 mingtian是吧 阅读(16) 评论(0) 推荐(0) 编辑
摘要:with_list 不展开循环嵌套的列表。功能类似于 for i in zip([1,2,3],['a','b','c']): print(i) - hosts: all tasks: - name: debug debug: msg: "{{ item }}" with_list - ["a"," 阅读全文
posted @ 2023-01-20 09:29 mingtian是吧 阅读(33) 评论(0) 推荐(0) 编辑
摘要:在tasks 中注册变量set_fact,该变量可以跨tasks调用 - hosts: 127.0.0.1 tasks: - set_fact: var: "value" - name: debug: msg: "{{ var }}" - hosts: 127.0.0.1 tasks: - name 阅读全文
posted @ 2023-01-19 17:41 mingtian是吧 阅读(41) 评论(0) 推荐(0) 编辑
摘要:可以通过 ansible 127.0.0.1 -m setup查看支持的内置变量 - hosts: 127.0.0.1 tasks: - name: debug debug: msg: "hostname: {{ ansible_fqdn }} ip: {{ ansible_default_ipv4 阅读全文
posted @ 2023-01-19 15:33 mingtian是吧 阅读(67) 评论(0) 推荐(0) 编辑
摘要:每一个task 执行后都有一些返回信息我们可以通过 register 把这些返回信息赋值给变量 - hosts: 127.0.0.1 tasks: - name: mkdir file: path: /tmp/1 state: directory owner: root register: resu 阅读全文
posted @ 2023-01-19 15:21 mingtian是吧 阅读(25) 评论(0) 推荐(0) 编辑
摘要:示例1 - hosts: 127.0.0.1 vars_prompt: - name: host prompt: "please input your hostip" - name: port prompt: "please input your port" tasks: - name: debug 阅读全文
posted @ 2023-01-19 15:10 mingtian是吧 阅读(36) 评论(0) 推荐(0) 编辑
摘要:vars_files 可以把var定义的变量分离出来方便修改和复用 - hosts: 127.0.0.1 vars_files: - ./var1.yaml tasks: - name: debug debug: msg: http://{{ bind.ip }}:{{ bind.port }} # 阅读全文
posted @ 2023-01-19 14:26 mingtian是吧 阅读(29) 评论(0) 推荐(0) 编辑
摘要:支持 字典格式、列表格式。定义和引用完全兼容python格式 {"ip": "127.0.0.1","port": "8000"} [{"ip": "127.0.0.1"},{"port": "8000"}] ["bind":{"ip": "127.0.0.1"},{"port": "8000"}] 阅读全文
posted @ 2023-01-19 09:16 mingtian是吧 阅读(43) 评论(0) 推荐(0) 编辑
摘要:tags 可以给tasks打标签,之后按照标签有选择的执行任务 - hosts: 127.0.0.1 tasks: - name: mkdir tags: - mkdir1 file: path: /tmp/testdir/1 state: directory recurse: yes owner: 阅读全文
posted @ 2023-01-18 09:18 mingtian是吧 阅读(14) 评论(0) 推荐(0) 编辑
摘要:第一种类型 - hosts: 127.0.0.1 tasks: - name: mkdir file: path: /tmp/testdir/1 state: directory recurse: yes owner: test - name: touch file: path: /tmp/test 阅读全文
posted @ 2023-01-17 09:13 mingtian是吧 阅读(21) 评论(0) 推荐(0) 编辑
摘要:- hosts: all tasks: - name: ping test ping: - name: from remote host copy file fetch: src: /etc/hosts dest: . owner: root mode: 0600 - hosts: 127.0.0. 阅读全文
posted @ 2023-01-17 09:03 mingtian是吧 阅读(47) 评论(0) 推荐(0) 编辑
摘要:##### ping ```bash ansible all -m ping ``` ##### fetch ```bash # ansible-doc -s fetch 从远端拉取文件 ansible 127.0.0.1 -m fetch -a "src=/etc/hosts dest=/tmp 阅读全文
posted @ 2023-01-16 17:12 mingtian是吧 阅读(16) 评论(0) 推荐(0) 编辑
摘要:默认管理清单文件 /etc/ansible/hosts 可以在配置清单中配置 主机变量 群组变量 # /etc/ansible/hosts [master] 55.3.139.9 var='master01' 55.3.139.1[0:1] [node] qhnosqlnode[1:15] [k8s 阅读全文
posted @ 2023-01-16 16:39 mingtian是吧 阅读(26) 评论(0) 推荐(0) 编辑
摘要:主机环境CentOS Linux release 7.6.1810 (Core) yum install epel-release yum install ansible -y ansible 127.0.0.1 -m ping 127.0.0.1 | SUCCESS => { "ansible_f 阅读全文
posted @ 2023-01-16 16:28 mingtian是吧 阅读(22) 评论(0) 推荐(0) 编辑
摘要:cat>>/etc/profile<<EOF export JAVA_HOME=/tools/jdk-11.0.2 export JAVA_JRE=$JAVA_HOME/jre export CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib:. export P 阅读全文
posted @ 2023-01-15 20:50 mingtian是吧 阅读(15) 评论(0) 推荐(0) 编辑
摘要:cri container runtime interface --> docker containerd oci open container interfac 实现了cri 与操作系统的联动 cni container network interface csi container storag 阅读全文
posted @ 2023-01-09 09:22 mingtian是吧 阅读(50) 评论(0) 推荐(0) 编辑