System 模块

概述

参考:

setup - 收集受管理节点的信息

setup 模块在 Ansible 执行时自动运行,收集到的信息会以 Fact 变量的形式保存。

systemd - 控制远程主机上以 systemd 运行的服务

官方文档:https://docs.ansible.com/ansible/latest/collections/ansible/builtin/systemd_module.html

参数

  • name(STRING) # Unit 的名称
  • state(STRING) # 设置 Unit 的状态。可用的值有
    • reloaded
    • restarted
    • started
    • stopped
  • enabled(BOOLEAN) # 设置 Unit 是否应该自启动

使用示例

- name: 启动并设置自启动kubelet与kube-proxy服务
  systemd:
    name: "{{item}}"
    daemon_reload: yes
    state: started
    enabled: yes
  with_items:
    - kubelet
    - kube-proxy

user - 管理远程主机上的用户账户

官方文档:https://docs.ansible.com/ansible/latest/collections/ansible/builtin/user_module.html

参数

user 模块使用示例:该示例同样适用于更改密码

- name: 创建k8s用户
  user:
    name: developer # 指定要创建的用户名
    password: "$6$mysecretsalt$QjSLl.VQoxPKJkBE9.oLX82C5P4tAMH8UfFRpkxgkqSg2GNob8Y39hj5/cl7o0gbpPXVBGaB9oLuCPfVhIhyA0" # 使用下面Note中的命令来获取加密后的密码
- name: 同时更改多个用户的密码
    user:
      name: "{{ item.name }}"
      password: "{{ item.chpass | password_hash('sha512') }}" # 也可以直接使用明文作为密码
      update_password: always
    with_items:
    - { name: 'root', chpass: 'admin#123' }
    - { name: 'test', chpass: 'yjun@123' }

Note:生成加密密码的方式

  • ansible all -i localhost, -m debug -a “msg={{ ‘mypassword’ | password_hash(‘sha512’, ‘mysecretsalt’) }}”