GNU/Linux >> Belajar Linux >  >> Linux

buruh pelabuhan mengubah driver cgroup ke systemd

Solusi yang tidak melibatkan pengeditan unit sistemd atau drop-in adalah dengan membuat (atau mengedit) /etc/docker/daemon.json file konfigurasi dan untuk menyertakan yang berikut:

{
  "exec-opts": ["native.cgroupdriver=systemd"]
}

Setelah menyimpannya, mulai ulang layanan buruh pelabuhan Anda.

sudo systemctl restart docker

Solusi ini jelas hanya dapat dilakukan jika Anda ingin menerapkannya di seluruh sistem.


Karena saya memiliki dua file konfigurasi, saya perlu menambahkan entri di file konfigurasi kedua juga -- /etc/systemd/system/docker.service.d/docker-thinpool.conf :

--exec-opt native.cgroupdriver=systemd \

Sebagai tambahan, cgroupfs adalah manajer grup kontrol buruh pelabuhan sendiri. Namun, untuk sebagian besar distribusi Linux ssytemd adalah sistem init default sekarang dan systemd memiliki integrasi yang erat dengan grup kontrol Linux dan Di situs Kubernetes, mereka merekomendasikan penggunaan systemd (lihat di bawah) karena menggunakan cgroupfs bersama dengan systemd tampaknya tidak optimal

Jadi lebih baik menggunakan systemd daripada untuk manajemen cgroup. kubelet dikonfigurasi secara default untuk menggunakan systemd. Jadi lebih mudah dan lebih baik untuk mengubah Docker menggunakan driver systemd Cgroup

Riwayat tumpang tindih ini ada di sini https://lwn.net/Articles/676831/

Di situs Kubernetes, mereka merekomendasikan penggunaan systemd https://kubernetes.io/docs/setup/production-environment/container-runtimes/

Driver cgroup Ketika systemd dipilih sebagai sistem init untuk distribusi Linux, proses init menghasilkan dan menggunakan root controlgroup (cgroup) dan bertindak sebagai manajer cgroup. Systemd memiliki integrasi yang erat dengan cgroups dan akan mengalokasikan cgroups per proses. Anda dapat mengonfigurasi runtime container dan kubelet untuk menggunakan cgroupfs. Menggunakan cgroupfs bersama systemd berarti akan ada dua manajer cgroup yang berbeda.

Grup kontrol digunakan untuk membatasi sumber daya yang dialokasikan ke proses. Seorang manajer cgroup tunggal akan menyederhanakan tampilan sumber daya apa yang dialokasikan dan secara default akan memiliki tampilan yang lebih konsisten dari sumber daya yang tersedia dan sedang digunakan. Ketika kami memiliki dua manajer, kami berakhir dengan dua pandangan tentang sumber daya tersebut. Kami telah melihat kasus di lapangan di mana node yang dikonfigurasi untuk menggunakan cgroupfs untuk kubelet dan Docker, dan systemd untuk sisa proses yang berjalan pada node menjadi tidak stabil di bawah tekanan sumber daya.


Linux
  1. Ubah Sandi

  2. Ubah Systemd Stop Job Timeout Dalam Konfigurasi Nixos?

  3. Bagaimana Cara Mengubah Pengguna Untuk Banyak File Layanan Systemd?

  1. Cara mengatur OpenCL untuk GPU di Linux dan Docker [Panduan Lengkap]

  2. Bagaimana mengubah alamat IP default jembatan buruh pelabuhan

  3. Cara Mengubah runlevel/target menggunakan systemd di Ubuntu

  1. Buruh pelabuhan

  2. Cara mengubah nama host di server web cPanel

  3. Memutakhirkan Docker di Amazon Linux AMI