Akses Internet Melalui Proxy
Jika Anda melakukan deployment di lingkungan yang memerlukan akses internet melalui proxy, Anda perlu mengonfigurasi layanan agar dapat mengakses sumber daya sebagaimana mestinya.
Cara terbaik untuk melakukannya adalah dengan mendefinisikan satu berkas yang berisi variabel lingkungan yang diperlukan dalam konfigurasi Butane Anda, dan mereferensikannya melalui berkas systemd drop-in unit untuk semua layanan yang memerlukan akses internet.
Mendefinisikan variabel lingkungan proxy umum
Berkas umum ini kemudian harus direferensikan secara eksplisit oleh setiap layanan yang memerlukan akses internet.
variant: fcos
version: 1.6.0
storage:
files:
- path: /etc/example-proxy.env
mode: 0644
contents:
inline: |
https_proxy="http://example.com:8080"
all_proxy="http://example.com:8080"
http_proxy="http://example.com:8080"
HTTP_PROXY="http://example.com:8080"
HTTPS_PROXY="http://example.com:8080"
no_proxy="*.example.com,127.0.0.1,0.0.0.0,localhost"
Mendefinisikan drop-in unit untuk layanan inti
Zincati digunakan untuk memeriksa pembaruan OS, dan rpm-ostree digunakan untuk menerapkan pembaruan OS serta paket tambahan. Keduanya memerlukan akses internet. Layanan countme yang bersifat opsional dan anonim juga memerlukan akses jika diaktifkan.
Anda juga dapat menggunakan referensi berkas lokal untuk unit systemd alih-alih menuliskannya langsung. Lihat Menggunakan parameter --files-dir milik Butane untuk Menyematkan Berkas untuk informasi lebih lanjut.
|
variant: fcos
version: 1.6.0
systemd:
units:
- name: rpm-ostreed.service
dropins:
- name: 99-proxy.conf
contents: |
[Service]
EnvironmentFile=/etc/example-proxy.env
- name: zincati.service
dropins:
- name: 99-proxy.conf
contents: |
[Service]
EnvironmentFile=/etc/example-proxy.env
- name: rpm-ostree-countme.service
dropins:
- name: 99-proxy.conf
contents: |
[Service]
EnvironmentFile=/etc/example-proxy.env
Mendefinisikan drop-in unit untuk container daemon
Jika Anda menggunakan Docker, maka drop-in untuk docker.service sudah cukup. Jika menjalankan Kubernetes dengan containerd (tanpa Docker), maka drop-in containerd.service mungkin juga diperlukan.
variant: fcos
version: 1.6.0
systemd:
units:
- name: docker.service
enabled: true
dropins:
- name: 99-proxy.conf
contents: |
[Service]
EnvironmentFile=/etc/example-proxy.env
- name: containerd.service
enabled: true
dropins:
- name: 99-proxy.conf
contents: |
[Service]
EnvironmentFile=/etc/example-proxy.env
Mendefinisikan penggunaan proxy untuk unit systemd Podman
Podman tidak memiliki daemon, sehingga konfigurasi dilakukan untuk setiap layanan individual yang dijadwalkan, dan dapat disertakan dalam definisi lengkap unit systemd.
variant: fcos
version: 1.6.0
systemd:
units:
- name: example-svc.service
enabled: true
contents: |
[Unit]
After=network-online.target
Wants=network-online.target
[Service]
EnvironmentFile=/etc/example-proxy.env
ExecStartPre=-/bin/podman kill example-svc
ExecStartPre=-/bin/podman rm example-svc
ExecStartPre=-/bin/podman pull example-image:latest
ExecStart=/bin/podman run --name example-svc example-image:latest
ExecStop=/bin/podman stop example-svc
[Install]
WantedBy=multi-user.target
Want to help? Learn how to contribute to Fedora Docs ›