update
This commit is contained in:
@@ -36,5 +36,35 @@ dsk_public_gpg_key: "https://dsk-agent-s3.s3.ap-northeast-2.amazonaws.com/dsk-ag
|
|||||||
|
|
||||||
datasaker_agents: ['dsk-node-agent']
|
datasaker_agents: ['dsk-node-agent']
|
||||||
|
|
||||||
|
datasaker_docker_agents: ['dsk-docker-node-agent']
|
||||||
|
|
||||||
|
datasaker_docker_config_path: "~/.datasaker"
|
||||||
|
datasaker_docker_global_config: "{{ datasaker_docker_config_path }}/config.yml"
|
||||||
|
|
||||||
|
datasaker_docker_path: "/var/datasaker"
|
||||||
|
datasaker_docker_user: "datasaker"
|
||||||
|
datasaker_docker_group: "datasaker"
|
||||||
|
datasaker_docker_user_uid: 202306
|
||||||
|
datasaker_docker_user_gid: 202306
|
||||||
|
VAR_CLUSTER_ID: "unknown_cluster"
|
||||||
|
|
||||||
|
container_agent_image_tag: "latest"
|
||||||
|
node_agent_image_tag: "latest"
|
||||||
|
trace_agent_image_tag: "latest"
|
||||||
|
log_agent_image_tag: "latest"
|
||||||
|
postgres_agent_image_tag: "latest"
|
||||||
|
|
||||||
|
container_agent_restart_policy: "always"
|
||||||
|
node_agent_restart_policy: "always"
|
||||||
|
trace_agent_restart_policy: "always"
|
||||||
|
log_agent_restart_policy: "always"
|
||||||
|
postgres_agent_restart_policy: "always"
|
||||||
|
|
||||||
|
container_agent_log_level: "INFO"
|
||||||
|
node_agent_log_level: "INFO"
|
||||||
|
trace_agent_log_level: "INFO"
|
||||||
|
log_agent_log_level: "INFO"
|
||||||
|
postgres_agent_log_level: "INFO"
|
||||||
|
|
||||||
uninstall: False
|
uninstall: False
|
||||||
datasaker_clean: False
|
datasaker_clean: False
|
||||||
|
|||||||
@@ -1,20 +1,48 @@
|
|||||||
---
|
---
|
||||||
- name: Check dsk-node-agent
|
- name: "Check dsk-node-agent"
|
||||||
include_tasks: dsk-node-agent.yml
|
include_tasks: dsk-node-agent.yml
|
||||||
when: '"dsk-node-agent" in datasaker_agents'
|
when: '"dsk-node-agent" in datasaker_agents'
|
||||||
|
|
||||||
- name: Check dsk-trace-agent
|
- name: "Check dsk-trace-agent"
|
||||||
include_tasks: dsk-trace-agent.yml
|
include_tasks: dsk-trace-agent.yml
|
||||||
when: '"dsk-trace-agent" in datasaker_agents'
|
when: '"dsk-trace-agent" in datasaker_agents'
|
||||||
|
|
||||||
- name: Check dsk-log-agent
|
- name: "Check dsk-log-agent"
|
||||||
include_tasks: dsk-log-agent.yml
|
include_tasks: dsk-log-agent.yml
|
||||||
when: '"dsk-log-agent" in datasaker_agents'
|
when: '"dsk-log-agent" in datasaker_agents'
|
||||||
|
|
||||||
- name: Check dsk-postgres-agent
|
- name: "Check dsk-postgres-agent"
|
||||||
include_tasks: dsk-postgres-agent.yml
|
include_tasks: dsk-postgres-agent.yml
|
||||||
when: '"dsk-postgres-agent" in datasaker_agents'
|
when: '"dsk-postgres-agent" in datasaker_agents'
|
||||||
|
|
||||||
- name: Check dsk-plan-postgres-agent
|
- name: "Check dsk-plan-postgres-agent"
|
||||||
include_tasks: dsk-plan-postgres-agent.yml
|
include_tasks: dsk-plan-postgres-agent.yml
|
||||||
when: '"dsk-plan-postgres-agent" in datasaker_agents'
|
when: '"dsk-plan-postgres-agent" in datasaker_agents'
|
||||||
|
|
||||||
|
- name: "Check dsk-docker-node-agent"
|
||||||
|
include_tasks: dsk-docker-node-agent.yml
|
||||||
|
when: '"dsk-docker-node-agent" in datasaker_docker_agents'
|
||||||
|
|
||||||
|
- name: "Check dsk-docker-elasticsearch-agent"
|
||||||
|
include_tasks: dsk-docker-elasticsearch-agent.yml
|
||||||
|
when: '"dsk-docker-elasticsearch-agent" in datasaker_docker_agents'
|
||||||
|
|
||||||
|
- name: "Check dsk-docker-log-agent"
|
||||||
|
include_tasks: dsk-docker-log-agent.yml
|
||||||
|
when: '"dsk-docker-log-agent" in datasaker_docker_agents'
|
||||||
|
|
||||||
|
- name: "Check dsk-docker-mongo-agent"
|
||||||
|
include_tasks: dsk-docker-mongo-agent.yml
|
||||||
|
when: '"dsk-docker-mongo-agent" in datasaker_docker_agents'
|
||||||
|
|
||||||
|
- name: "Check dsk-docker-mysql-agent"
|
||||||
|
include_tasks: dsk-docker-mysql-agent.yml
|
||||||
|
when: '"dsk-docker-mysql-agent" in datasaker_docker_agents'
|
||||||
|
|
||||||
|
- name: "Check dsk-docker-postgres-agent"
|
||||||
|
include_tasks: dsk-docker-postgres-agent.yml
|
||||||
|
when: '"dsk-docker-postgres-agent" in datasaker_docker_agents'
|
||||||
|
|
||||||
|
- name: "Check dsk-docker-trace-agent"
|
||||||
|
include_tasks: dsk-docker-trace-agent.yml
|
||||||
|
when: '"dsk-docker-trace-agent" in datasaker_docker_agents'
|
||||||
|
|||||||
@@ -8,8 +8,33 @@
|
|||||||
group: root
|
group: root
|
||||||
with_items:
|
with_items:
|
||||||
- /etc/datasaker
|
- /etc/datasaker
|
||||||
|
when:
|
||||||
|
- ansible_facts.os_family in ["Debian", "RedHat"]
|
||||||
|
- datasaker_agents
|
||||||
|
|
||||||
- name: "Setting global-config"
|
- name: "Setting global-config"
|
||||||
template:
|
template:
|
||||||
src: global-config.yml.j2
|
src: global-config.yml.j2
|
||||||
dest: "/etc/datasaker/global-config.yml"
|
dest: "/etc/datasaker/global-config.yml"
|
||||||
|
when:
|
||||||
|
- ansible_facts.os_family in ["Debian", "RedHat"]
|
||||||
|
- datasaker_agents
|
||||||
|
|
||||||
|
- name: "Make Datasaker Directory"
|
||||||
|
ansible.builtin.file:
|
||||||
|
path: "{{ item }}"
|
||||||
|
state: directory
|
||||||
|
recurse: yes
|
||||||
|
owner: root
|
||||||
|
group: root
|
||||||
|
with_items:
|
||||||
|
- "{{ datasaker_docker_config_path }}"
|
||||||
|
when:
|
||||||
|
- datasaker_docker_agents
|
||||||
|
|
||||||
|
- name: "Setting global-config"
|
||||||
|
template:
|
||||||
|
src: global-config.yml.j2
|
||||||
|
dest: "{{ datasaker_docker_global_config }}"
|
||||||
|
when:
|
||||||
|
- datasaker_docker_agents
|
||||||
31
tasks/dsk-docker-log-agent.yml
Normal file
31
tasks/dsk-docker-log-agent.yml
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
---
|
||||||
|
- name: "Create datasaker local directory"
|
||||||
|
ansible.builtin.file:
|
||||||
|
path: "{{ item }}"
|
||||||
|
state: directory
|
||||||
|
owner: "{{datasaker_docker_user}}"
|
||||||
|
group: "{{datasaker_docker_group}}"
|
||||||
|
mode: '0755'
|
||||||
|
with_items:
|
||||||
|
- "{{ datasaker_docker_path }}/agent/dsk-log-agent"
|
||||||
|
|
||||||
|
- name: "Setting dsk-log-agent config"
|
||||||
|
template:
|
||||||
|
src: log-agent-config.yml.j2
|
||||||
|
dest: "{{ datasaker_docker_path }}/log-agent-config.yml"
|
||||||
|
|
||||||
|
- name: Run Datasaker Log Agent
|
||||||
|
docker_container:
|
||||||
|
name: dsk-log-agent
|
||||||
|
image: "datasaker/dsk-log-agent:{{ trace_agent_image_tag }}"
|
||||||
|
state: started
|
||||||
|
detach: true
|
||||||
|
restart_policy: always
|
||||||
|
env:
|
||||||
|
DKS_LOG_LEVEL: "{{ log_agent_log_level }}"
|
||||||
|
command: "-global.config=/etc/datasaker/global-config.yml -agent.config=/etc/datasaker/dsk-log-agent/agent-config.yml -mount.volume=true"
|
||||||
|
volumes:
|
||||||
|
- "{{ datasaker_docker_path }}:/var/datasaker/"
|
||||||
|
- "/var/lib/docker/containers/:/var/datasaker/log/:ro"
|
||||||
|
- "{{ datasaker_docker_global_config }}:/etc/datasaker/global-config.yml:ro"
|
||||||
|
- "{{ datasaker_docker_path }}/log-agent-config.yml:/etc/datasaker/dsk-log-agent/agent-config.yml:ro"
|
||||||
69
tasks/dsk-docker-node-agent.yml
Normal file
69
tasks/dsk-docker-node-agent.yml
Normal file
@@ -0,0 +1,69 @@
|
|||||||
|
---
|
||||||
|
- name: "Create datasaker group"
|
||||||
|
ansible.builtin.group:
|
||||||
|
name: "{{datasaker_docker_group}}"
|
||||||
|
gid: "{{datasaker_docker_user_gid}}"
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: "Create datasaker user"
|
||||||
|
block:
|
||||||
|
- ansible.builtin.user:
|
||||||
|
name: "{{datasaker_docker_user}}"
|
||||||
|
uid: "{{datasaker_docker_user_uid}}"
|
||||||
|
group: "{{datasaker_docker_group}}"
|
||||||
|
shell: /usr/sbin/nologin
|
||||||
|
system: yes
|
||||||
|
state: present
|
||||||
|
rescue:
|
||||||
|
- ansible.builtin.shell: "sudo useradd -r -u {{datasaker_docker_user_uid}} -g {{datasaker_docker_group}} -s /usr/sbin/nologin {{datasaker_docker_user}}"
|
||||||
|
ignore_errors: true
|
||||||
|
|
||||||
|
- name: "Create datasaker local directory"
|
||||||
|
ansible.builtin.file:
|
||||||
|
path: "{{ item }}"
|
||||||
|
state: directory
|
||||||
|
owner: "{{datasaker_docker_user}}"
|
||||||
|
group: "{{datasaker_docker_group}}"
|
||||||
|
mode: '0755'
|
||||||
|
with_items:
|
||||||
|
- "{{ datasaker_docker_path }}/agent/dsk-container-agent"
|
||||||
|
- "{{ datasaker_docker_path }}/agent/dsk-node-agent"
|
||||||
|
- "{{ datasaker_docker_path }}/log"
|
||||||
|
|
||||||
|
|
||||||
|
- name: "Run Datasaker Container Agent"
|
||||||
|
ansible.builtin.docker_container:
|
||||||
|
name: dsk-container-agent
|
||||||
|
image: "datasaker/dsk-container-agent:{{ container_agent_image_tag }}"
|
||||||
|
state: started
|
||||||
|
restart_policy: "{{ container_agent_restart_policy }}"
|
||||||
|
privileged: yes
|
||||||
|
env:
|
||||||
|
DSK_CLUSTER_ID: "{{ VAR_CLUSTER_ID }}"
|
||||||
|
GOMAXPROCS: '1'
|
||||||
|
DSK_LOG_LEVEL: "{{ container_agent_log_level }}"
|
||||||
|
volumes:
|
||||||
|
- "{{ datasaker_docker_path }}:/var/datasaker/"
|
||||||
|
- "/:/rootfs/:ro"
|
||||||
|
- "/var/run/:/var/run/:ro"
|
||||||
|
- "/sys/:/sys/:ro"
|
||||||
|
- "/dev/disk/:/dev/disk/:ro"
|
||||||
|
- "{{ datasaker_docker_global_config }}:/etc/datasaker/global-config.yml:ro"
|
||||||
|
|
||||||
|
- name: "Run Datasaker Node Agent"
|
||||||
|
ansible.builtin.docker_container:
|
||||||
|
name: dsk-node-agent
|
||||||
|
image: "datasaker/dsk-node-agent:{{ node_agent_image_tag }}"
|
||||||
|
state: started
|
||||||
|
restart_policy: "{{ node_agent_restart_policy }}"
|
||||||
|
privileged: yes
|
||||||
|
network_mode: host
|
||||||
|
pid_mode: host
|
||||||
|
env:
|
||||||
|
DSK_CLUSTER_ID: "{{ VAR_CLUSTER_ID }}"
|
||||||
|
DSK_LOG_LEVEL: "{{ node_agent_log_level }}"
|
||||||
|
volumes:
|
||||||
|
- "{{ datasaker_docker_path }}:/var/datasaker/"
|
||||||
|
- "/proc/:/host/proc/:ro"
|
||||||
|
- "/sys/:/host/sys/:ro"
|
||||||
|
- "{{ datasaker_docker_global_config }}:/etc/datasaker/global-config.yml:ro"
|
||||||
2
tasks/dsk-docker-postgres-agent.yml
Normal file
2
tasks/dsk-docker-postgres-agent.yml
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
---
|
||||||
|
|
||||||
32
tasks/dsk-docker-trace-agent.yml
Normal file
32
tasks/dsk-docker-trace-agent.yml
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
---
|
||||||
|
- name: "Create datasaker local directory"
|
||||||
|
ansible.builtin.file:
|
||||||
|
path: "{{ item }}"
|
||||||
|
state: directory
|
||||||
|
owner: "{{datasaker_docker_user}}"
|
||||||
|
group: "{{datasaker_docker_group}}"
|
||||||
|
mode: '0755'
|
||||||
|
with_items:
|
||||||
|
- "{{ datasaker_docker_path }}/agent/dsk-trace-agent"
|
||||||
|
|
||||||
|
- name: "Setting dsk-trace-agent config"
|
||||||
|
template:
|
||||||
|
src: trace-agent-config.yml.j2
|
||||||
|
dest: "{{ datasaker_docker_path }}/trace-agent-config.yml"
|
||||||
|
|
||||||
|
- name: "Run Datasaker trace Agent"
|
||||||
|
ansible.builtin.docker_container:
|
||||||
|
name: dsk-trace-agent
|
||||||
|
image: "datasaker/dsk-trace-agent:{{ trace_agent_image_tag }}"
|
||||||
|
state: started
|
||||||
|
restart_policy: "{{ trace_agent_restart_policy }}"
|
||||||
|
detach: yes
|
||||||
|
published_ports:
|
||||||
|
- 4317:4317/tcp
|
||||||
|
- 4318:4318/tcp
|
||||||
|
env:
|
||||||
|
DKS_LOG_LEVEL: "{{ trace_agent_log_level }}"
|
||||||
|
volumes:
|
||||||
|
- "{{ datasaker_docker_path }}:/var/datasaker/"
|
||||||
|
- "{{ datasaker_docker_global_config }}:/etc/datasaker/global-config.yml:ro"
|
||||||
|
- "{{ datasaker_docker_path }}/trace-agent-config.yml:/etc/datasaker/dsk-trace-agent/agent-config.yml:ro"
|
||||||
@@ -1,20 +1,46 @@
|
|||||||
---
|
---
|
||||||
- name: Include Gather Ansible Facts task on Ansible >= 2.10
|
- name: "Include Gather Ansible Facts task on Ansible >= 2.10"
|
||||||
include_tasks: gather-facts.yml
|
include_tasks: gather-facts.yml
|
||||||
when: ansible_version.major >= 2 and ansible_version.minor >= 10
|
when:
|
||||||
|
- ansible_version.major >= 2
|
||||||
|
- ansible_version.minor >= 10
|
||||||
|
|
||||||
- name: Include Datasaker Add Repository
|
- name: "Check Datasaker Agent List"
|
||||||
|
set_fact:
|
||||||
|
datasaker_agents: []
|
||||||
|
when: datasaker_docker_agents | select('search', 'docker') | list | count > 0
|
||||||
|
|
||||||
|
- name: "Include Datasaker Add Directory Config"
|
||||||
include_tasks: dsk-common.yml
|
include_tasks: dsk-common.yml
|
||||||
when: uninstall == False and ansible_facts.os_family == "Debian" or ansible_facts.os_family == "RedHat"
|
when:
|
||||||
|
- uninstall == False
|
||||||
|
|
||||||
- name: Include Datasaker Debian Host Agent Install
|
- name: "Include Datasaker Debian Host Agent Install"
|
||||||
include_tasks: dsk-debian-pkg.yml
|
include_tasks: dsk-debian-pkg.yml
|
||||||
when: uninstall == False and ansible_facts.os_family == "Debian"
|
when:
|
||||||
|
- uninstall == False
|
||||||
|
- ansible_facts.os_family == "Debian"
|
||||||
|
- datasaker_agents
|
||||||
|
|
||||||
- name: Include Datasaker RedHat Host Agent Install
|
- name: "Include Datasaker RedHat Host Agent Install"
|
||||||
include_tasks: dsk-redhat-pkg.yml
|
include_tasks: dsk-redhat-pkg.yml
|
||||||
when: uninstall == False and ansible_facts.os_family == "RedHat"
|
when:
|
||||||
|
- uninstall == False
|
||||||
|
- ansible_facts.os_family == "RedHat"
|
||||||
|
- datasaker_agents
|
||||||
|
|
||||||
- name: Uninstall Datasaker Agent
|
- name: "Include Datasaker Agent Install"
|
||||||
|
include_tasks: check-agent.yml
|
||||||
|
when:
|
||||||
|
- uninstall == False
|
||||||
|
|
||||||
|
- name: "Include Docker Agent Path Permissions Setting"
|
||||||
|
include_tasks: permissions.yml
|
||||||
|
when:
|
||||||
|
- uninstall == False
|
||||||
|
- datasaker_docker_agents
|
||||||
|
|
||||||
|
- name: "Uninstall Datasaker Agent"
|
||||||
include_tasks: remove-datasaker.yml
|
include_tasks: remove-datasaker.yml
|
||||||
when: uninstall == True
|
when:
|
||||||
|
- uninstall == True
|
||||||
|
|||||||
6
tasks/permissions.yml
Normal file
6
tasks/permissions.yml
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
- name: "Change owner and group of datasaker docker directory"
|
||||||
|
ansible.builtin.file:
|
||||||
|
path: /var/datasaker
|
||||||
|
owner: "{{ datasaker_docker_user }}"
|
||||||
|
group: "{{ datasaker_docker_group }}"
|
||||||
|
recurse: yes
|
||||||
@@ -45,7 +45,23 @@
|
|||||||
with_items:
|
with_items:
|
||||||
- /etc/datasaker
|
- /etc/datasaker
|
||||||
- /var/log/datasaker
|
- /var/log/datasaker
|
||||||
|
- /var/datasaker
|
||||||
|
- ~/.datasaker
|
||||||
- "{{ apt_sources_list }}"
|
- "{{ apt_sources_list }}"
|
||||||
- "{{ apt_trusted_d_keyring }}"
|
- "{{ apt_trusted_d_keyring }}"
|
||||||
- "{{ apt_usr_share_keyring }}"
|
- "{{ apt_usr_share_keyring }}"
|
||||||
when: datasaker_clean == True
|
when: datasaker_clean == True
|
||||||
|
|
||||||
|
- name: "Remove datasaker_docker_user"
|
||||||
|
ansible.builtin.user:
|
||||||
|
name: "{{datasaker_docker_user}}"
|
||||||
|
state: absent
|
||||||
|
when: datasaker_clean == True
|
||||||
|
ignore_errors: yes
|
||||||
|
|
||||||
|
- name: "Remove datasaker_docker_group"
|
||||||
|
ansible.builtin.group:
|
||||||
|
name: "{{datasaker_docker_group}}"
|
||||||
|
state: absent
|
||||||
|
when: datasaker_clean == True
|
||||||
|
ignore_errors: yes
|
||||||
Reference in New Issue
Block a user