طاق Hashicorp را با Ansible نصب کنید

من یک مرد تنبل هستم و می خواهم برخی از اتوماسیون را انجام دهم که بدون مداخله انسانی گواهینامه ها را تمدید و توزیع می کند. و البته من می خواهم طاق را برای سنین امتحان کنم زیرا این یک فروشگاه مخفی عالی برای Kubernetes است.
من نصب را با Ansible انجام دادم زیرا دوست دارم کارها را خودکار کنم.
طاق را با Ansible نصب کنید
اساساً این کار سختی نبود. من مستندات را دنبال کردم و به یک دفترچه بازی تبدیل کردم.
ابتدا یک فایل مخزن اضافه کردم (از سرور فدورا استفاده می کنم):
[hashicorp]
name=Hashicorp Stable - $basearch
baseurl=https://rpm.releases.hashicorp.com/fedora/$releasever/$basearch/stable
enabled=1
gpgcheck=1
gpgkey=https://rpm.releases.hashicorp.com/gpg
[hashicorp-test]
name=Hashicorp Test - $basearch
baseurl=https://rpm.releases.hashicorp.com/fedora/$releasever/$basearch/test
enabled=0
gpgcheck=1
gpgkey=https://rpm.releases.hashicorp.com/gpg
در صورتی که می خواهید طاق را به عنوان یک سرویس اجرا کنید ، می توانید پرونده واحد SystemD را نیز پیدا کنید.
[Unit]
Description="HashiCorp Vault"
Documentation="https://developer.hashicorp.com/vault/docs"
ConditionFileNotEmpty="/etc/vault.d/vault.hcl"
[Service]
User=vault
Group=vault
SecureBits=keep-caps
AmbientCapabilities=CAP_IPC_LOCK
CapabilityBoundingSet=CAP_SYSLOG CAP_IPC_LOCK
NoNewPrivileges=yes
ExecStart=/usr/bin/vault server -config=/etc/vault.d/vault.hcl
ExecReload=/bin/kill --signal HUP
KillMode=process
KillSignal=SIGINT
[Install]
WantedBy=multi-user.target
من از این فایل پیکربندی اساسی استفاده کردم:
# Full configuration options can be found at https://developer.hashicorp.com/vault/docs/configuration
ui = true
storage "file" {
path = "/opt/vault/data"
}
# HTTP listener
listener "tcp" {
address = "127.0.0.1:8200"
tls_disable = "true"
}
من به 8200
بندر به localhost
از آنجا که من از یک پروکسی معکوس NGINX در مقابل طاق استفاده می کنم اما البته می توانید به تمام رابط متصل شوید.
نقش شامل وظایف زیر است:
# Create a group and user for the service because I don't want to run it as root
- name: Add 'vault' group
ansible.builtin.group:
name: vault
state: present
- name: Add 'vault' user
ansible.builtin.user:
name: vault
group: vault
state: present
# Copy the repository
- name: Add Vaults repository
ansible.builtin.copy:
src: hashicorp.repo
dest: /etc/yum.repos.d/
# Install Vault with DNF package manager
- name: Install Vault
ansible.builtin.dnf:
name: vault
state: present
- name: Copy Vault configuration
ansible.builtin.copy:
src: vault.hcl
dest: /etc/vault.d/
- name: Copy systemd unit file
ansible.builtin.copy:
src: vault.service
dest: /etc/systemd/system/
mode: '0644'
- name: Enable and start Vault service
ansible.builtin.systemd_service:
name: vault
enabled: true
daemon_reload: true
state: restarted
پس از نصب طاق ، کار واقعی را برای پیکربندی دسترسی کاربر و خدمات شروع می کند. همه چیز در مستندات رسمی در اینجا شرح داده شده است.