observability.svc.plus/roles/node_remove/README.md
2026-02-01 20:53:55 +08:00

105 lines
3.7 KiB
Markdown

# Role: node_remove
> Remove Node Components and Deregister from Monitoring
| **Module** | [NODE](https://pigsty.io/docs/node) |
|-------------------|-------------------------------------------------------------------------------|
| **Docs** | https://pigsty.io/docs/node/admin |
| **Related Roles** | [`node`](../node), [`node_id`](../node_id), [`node_monitor`](../node_monitor) |
## Overview
The `node_remove` role removes node components and deregisters nodes from monitoring infrastructure:
- **Deregister**: Remove from Victoria Metrics, Nginx, Vector
- **Stop Services**: node_exporter, keepalived_exporter, HAProxy, Vector
- **Remove DNS**: VIP DNS records
- **Cleanup**: Configuration files, profile scripts
## Playbooks
| Playbook | Description |
|------------------------------------|--------------------------|
| [`node-rm.yml`](../../node-rm.yml) | Remove node components |
## File Structure
```
roles/node_remove/
├── defaults/
│ └── main.yml # Default variables
├── meta/
│ └── main.yml # Role dependencies
└── tasks/
├── main.yml # Entry point
└── nginx.yml # Remove from Nginx
```
## Tags
### Tag Hierarchy
```
node_remove (full role)
├── node_deregister # Deregister from monitoring
│ ├── rm_metrics # Remove from Victoria Metrics
│ ├── rm_dns # Remove VIP DNS records
│ └── rm_logs # Remove from Vector
├── haproxy_deregister # Remove HAProxy from Nginx
│ └── rm_proxy # Remove Nginx upstream/location
├── vip # Stop keepalived service
├── haproxy # Stop HAProxy service
├── node_exporter # Stop node_exporter
├── vip_exporter # Stop keepalived_exporter
├── vector # Stop Vector service
└── profile # Remove shell profile scripts
```
## Key Variables
| Variable | Default | Description |
|----------------|----------------|---------------------------------|
| `nodename` | (auto) | Node name (from node_id) |
| `node_cluster` | `nodes` | Node cluster name (for VIP DNS) |
| `vip_enabled` | `false` | Whether VIP is enabled |
| `vip_address` | (none) | VIP address to deregister |
| `vector_data` | `/data/vector` | Vector data directory |
## Removal Scope
The role removes:
| Component | What's Removed |
|------------------|-------------------------------------------------|
| Node Target | `/infra/targets/node/<ip>.yml` |
| Docker Target | `/infra/targets/docker/<ip>.yml` |
| Ping Target | `/infra/targets/ping/<ip>.yml` |
| VIP Ping Target | `/infra/targets/ping/<vip>---<ip>.yml` |
| VIP DNS | `/infra/hosts/<cluster>.vip` |
| HAProxy Nginx | `/etc/nginx/conf.d/haproxy/upstream-<name>.conf`|
| HAProxy Nginx | `/etc/nginx/conf.d/haproxy/location-<name>.conf`|
| Vector Config | `/etc/vector/node.yaml` |
| Vector Data | `/data/vector` |
| Profile Scripts | `/etc/profile.d/node.sh`, `node.alias.sh` |
## See Also
- [`node`](../node): Node provisioning
- [`node_monitor`](../node_monitor): Node monitoring setup
- [`pg_remove`](../pg_remove): PostgreSQL removal