Skip to content

svc-design/ansible

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ansible-playbook

This repository contains a collection of Ansible playbooks and roles for various infrastructure setups and service management tasks.

Playbook 角色说明

  1. playbooks/roles/docker:适用于简单的、单机环境的部署,主要使用 Docker 和 Docker Compose 进行容器化管理。
  2. playbooks/roles/charts:面向大规模的 Kubernetes 集群,使用 Helm 和标准化 Chart 部署模式进行高可用和可扩展的管理。
  3. playbooks/roles/vhosts:传统的非容器化部署方式,通常涉及手动配置服务器和虚拟主机,适用于不使用容器的应用场景。

Role Summary

Role Name Description Docker Charts VHosts CICD Validate Last Update
keycloak 用于管理身份认证和授权服务。 github yes 2024-11-10
harbor 容器镜像仓库角色,用于存储和管理容器镜像。 github yes 2024-11-14
app 参考模板。
clickhouse 用于设置 ClickHouse 数据库。
node-exporter 用于导出系统和硬件的监控数据。
postgresql PostgreSQL 数据库角色,用于提供 PostgreSQL 数据库服务。
redis Redis 数据库角色,用于提供 Redis 数据库服务。
chartmuseum 图表仓库角色,用于存储和管理 Kubernetes 图表。
gitlab 代码仓库角色,用于存储和管理代码。
mysql MySQL 数据库角色,用于提供 MySQL 数据库服务。
argo-server 用于设置和管理 Argo Server。
deepflow 用于流量监控与网络性能分析的 DeepFlow 服务。
jenkins Jenkins 自动化构建工具角色,用于 CI/CD 管道。
observability-agent 用于管理 Observability 代理。
observability-server 用于设置 Observability 服务端。
chaos-mesh 用于 Chaos Engineering 测试的 Chaos Mesh 角色。
flagger-loadtester 用于负载测试的 Flagger Loadtester 角色。
splunk-otel-collector 用于配置 Splunk OpenTelemetry Collector。
openldap 用于设置和管理 OpenLDAP 身份认证服务。
alerting 用于设置和管理警报系统。
common 通用角色,包含一些常用的功能,如日志记录、监控等。
k3s 用于创建 Kubernetes 集群。
k3s-reset 用于重置 Kubernetes 集群。
k3s-addon 用于安装 Kubernetes 集群插件。
secret-manger 密钥管理角色,用于管理密钥。
cert-manager 证书管理角色,用于管理证书。
wireguard-client 用于设置 WireGuard 客户端。
wireguard-gateway 用于设置 WireGuard 网关。
vault 用于管理敏感数据和密钥。
promtail-agent 用于 Promtail 日志收集代理。
prometheus-transfer 用于 Prometheus 数据传输设置。

表格说明

  • Docker:是否属于 Docker 角色。
  • Charts:是否属于 Helm Chart 角色。
  • VHosts:是否属于虚拟主机管理相关角色。
  • CICD:是否启用 CICD 管道,标明是否集成了自动化流程。
  • Validate:是否经过验证测试。
  • Last Update:最后更新时间。

使用示例

Gather Network Information

ansible-playbook -i inventory gather_network_info.yml -e target_group=master


## 使用示例

### Gather Network Information

```bash
ansible-playbook -i inventory gather_network_info.yml -e target_group=master
Display network information on all nodes:

bash
复制代码
ansible -i inventory all -m script -a 'roles/network_info/tasks/files/display_network_info.sh'
Deploy Keycloak Server
bash
复制代码
ansible-playbook -i inventory/hosts/core playbooks/keycloak_server -D
Setup WireGuard Gateway
bash
复制代码
ansible-playbook -i inventory/hosts/vpn playbooks/wireguard_gateway.yaml -D
Setup Grafana Alloy
bash
复制代码
ansible-playbook -i inventory/k3s-cluster playbooks/init_grafana_alloy -D -C -l cn-k3s-server.svc.plus -e @playbooks/roles/alloy/files/loki_journal_sources_k3s_server.yml -e "ansible_become_pass='xxxx'"
all_in_one Scripts
To set up K3s:

bash
复制代码
curl -sfL https://mirrors.onwalk.net/public/k3s_setup.sh | bash -
To expose the Kubernetes API server via NGINX, refer to the guide here.

#### python externally-managed-environment
sudo apt install -y python3-venv python3-pip 
python3 -m venv venv
source ~/venv/bin/activate
pip install [package-name]
deactivate

### Changes:
- All roles under **Charts** have been added and listed.
- **Last Update** column is now available for future tracking of updates.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published