ΠΠ΄ΡΠ°Π²Π΅ΠΉΡΠ΅! ΠΠ°Π·Π²Π°ΠΌ ΡΠ΅ Π‘Π΅ΡΠ³Π΅ΠΉ, Π°Π· ΡΡΠΌ DevOps Π² Surf. ΠΡΠ΄Π΅Π»ΡΡ DevOps Π² Surf ΠΈΠΌΠ° Π·Π° ΡΠ΅Π» Π½Π΅ ΡΠ°ΠΌΠΎ Π΄Π° ΡΡΡΠ°Π½ΠΎΠ²ΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠΈ ΠΈ Π΄Π° ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ° ΡΠ°Π±ΠΎΡΠ½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ, Π½ΠΎ ΠΈ Π°ΠΊΡΠΈΠ²Π½ΠΎ Π΄Π° ΠΏΡΠΎΡΡΠ²Π° ΠΈ Π²Π½Π΅Π΄ΡΡΠ²Π° ΡΠ΅ΠΊΡΡΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΊΠ°ΠΊΡΠΎ Π² ΡΠΎΠ±ΡΡΠ²Π΅Π½Π°ΡΠ° ΡΠΈ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°, ΡΠ°ΠΊΠ° ΠΈ Π² ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠ°.
ΠΠΎ-Π΄ΠΎΠ»Ρ ΡΠ΅ Π³ΠΎΠ²ΠΎΡΡ ΠΌΠ°Π»ΠΊΠΎ Π·Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π² ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ½ΠΈΡ ΡΡΠ΅ΠΊ Π·Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΡΠ΅ΡΠ½Π°Ρ ΠΌΠ΅, Π΄ΠΎΠΊΠ°ΡΠΎ ΠΈΠ·ΡΡΠ°Π²Π°Ρ ΠΌΠ΅ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ΡΠΎ CentOS 8 ΠΈ Π·Π° ΡΠΎΠ²Π° ΠΊΠ°ΠΊΠ²ΠΎ Π΅ CRI-O ΠΈ ΠΊΠ°ΠΊ Π±ΡΡΠ·ΠΎ Π΄Π° Π½Π°ΡΡΡΠΎΠΈΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΠΈΠΌΠ° ΡΡΠ΅Π΄Π° Π·Π° Kubernetes.
ΠΠ°ΡΠΎ Docker Π½Π΅ Π΅ Π²ΠΊΠ»ΡΡΠ΅Π½ Π² CentOS 8?
Π‘Π»Π΅Π΄ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π΅ Π½Π° Π½Π°ΠΉ-Π½ΠΎΠ²ΠΈΡΠ΅ Π³ΠΎΠ»Π΅ΠΌΠΈ Π²Π΅ΡΡΠΈΠΈ RHEL 8 ΠΈΠ»ΠΈ CentOS 8 ΡΠΎΠ²Π΅ΠΊ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π½Π΅ Π·Π°Π±Π΅Π»Π΅ΠΆΠΈ: ΡΠ΅Π·ΠΈ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠΈ ΠΈ ΠΎΡΠΈΡΠΈΠ°Π»Π½ΠΈ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° Π½Π΅ ΡΡΠ΄ΡΡΠΆΠ°Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Π΄ΠΎΠΊΠ΅Ρ, ΠΊΠΎΠΈΡΠΎ ΠΈΠ΄Π΅ΠΉΠ½ΠΎ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎ Π·Π°ΠΌΠ΅ΡΡΠ²Π°Ρ ΠΏΠ°ΠΊΠ΅ΡΠΈΡΠ΅ ΠΠΎΠ΄ΠΌΠ°Π½, Buildah (ΠΏΡΠΈΡΡΡΡΠ²Π° Π² Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΡΡΠ° ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅) ΠΈ CRI-O. Π’ΠΎΠ²Π° ΡΠ΅ Π΄ΡΠ»ΠΆΠΈ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΡΠΎ ΠΏΡΠΈΠ»Π°Π³Π°Π½Π΅ Π½Π° ΡΡΠ°Π½Π΄Π°ΡΡΠΈ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ΅Π½ΠΈ, Π½Π°ΡΠ΅Π΄ Ρ Π΄ΡΡΠ³ΠΈ Π½Π΅ΡΠ°, ΠΎΡ Red Hat ΠΊΠ°ΡΠΎ ΡΠ°ΡΡ ΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° Open Container Initiative (OCI).
Π¦Π΅Π»ΡΠ° Π½Π° OCI, ΠΊΠΎΡΡΠΎ Π΅ ΡΠ°ΡΡ ΠΎΡ The Linux Foundation, Π΅ Π΄Π° ΡΡΠ·Π΄Π°Π΄Π΅ ΠΎΡΠ²ΠΎΡΠ΅Π½ΠΈ ΠΈΠ½Π΄ΡΡΡΡΠΈΠ°Π»Π½ΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠΈ Π·Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ½ΠΈ ΡΠΎΡΠΌΠ°ΡΠΈ ΠΈ Π²ΡΠ΅ΠΌΠ΅Π½Π° Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ΡΠ°Π²Π°Ρ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π΅Π΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ. ΠΡΡΠ²ΠΎ, ΡΠ΅ Π½Π΅ ΠΏΡΠΎΡΠΈΠ²ΠΎΡΠ΅ΡΠ°Ρ Π½Π° ΡΠΈΠ»ΠΎΡΠΎΡΠΈΡΡΠ° Π½Π° Linux (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π² ΡΠ°ΡΡΡΠ°, ΡΠ΅ Π²ΡΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ° ΡΡΡΠ±Π²Π° Π΄Π° ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π° Π΅Π΄Π½ΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅, ΠΈ Π΄ΠΎΠΊΠ΅Ρ Π΅ Π΅Π΄ΠΈΠ½ Π²ΠΈΠ΄ ΠΊΠΎΠΌΠ±Π°ΠΉΠ½ Π²ΡΠΈΡΠΊΠΎ Π² Π΅Π΄Π½ΠΎ). ΠΡΠΎΡΠΎ, ΡΠ΅ Π±ΠΈΡ Π° ΠΌΠΎΠ³Π»ΠΈ Π΄Π° ΠΏΡΠ΅ΠΌΠ°Ρ Π½Π°Ρ Π²ΡΠΈΡΠΊΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΡΡΠΈ Π² ΡΠΎΡΡΡΠ΅ΡΠ° Π΄ΠΎΠΊΠ΅Ρ. Π’ΡΠ΅ΡΠΎ, ΡΠ΅ ΡΠ΅ Π±ΡΠ΄Π°Ρ Π½Π°ΠΏΡΠ»Π½ΠΎ ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΈ Ρ Π±ΠΈΠ·Π½Π΅Ρ ΠΈΠ·ΠΈΡΠΊΠ²Π°Π½ΠΈΡΡΠ° Π½Π° Π²ΠΎΠ΄Π΅ΡΠΈ ΠΊΠΎΠΌΠ΅ΡΡΠΈΠ°Π»Π½ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ Π·Π° Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅, ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ ΠΎΠ±ΡΠ»ΡΠΆΠ²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ½ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Red Hat OpenShift).
ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π΄ΠΎΠΊΠ΅Ρ ΠΈ ΠΏΡΠ΅Π΄ΠΈΠΌΡΡΠ²Π°ΡΠ° Π½Π° Π½ΠΎΠ²ΠΈΡ ΡΠΎΡΡΡΠ΅Ρ Π²Π΅ΡΠ΅ ΡΠ° ΠΎΠΏΠΈΡΠ°Π½ΠΈ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ Π²
ΠΠ°ΠΆΠ½ΠΎ Π΅ Π΄Π° ΡΠ΅ ΠΎΡΠ±Π΅Π»Π΅ΠΆΠΈ ΠΊΠ°ΠΊΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡ ΠΈΠΌΠ°Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈΡΠ΅ Π½Π° ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΡΠ΅ΠΊ:
- ΠΠΎΠ΄ΠΌΠ°Π½ β Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ ΠΈ ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΡΠ΅Π· ΠΏΡΠΎΡΠ΅ΡΠ° runC;
- Buildah β ΡΠ³Π»ΠΎΠ±ΡΠ²Π°Π½Π΅ ΠΈ ΠΊΠ°ΡΠ²Π°Π½Π΅ Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π² ΡΠ΅Π³ΠΈΡΡΡΡΠ°;
- CRI-O β ΠΈΠ·ΠΏΡΠ»Π½ΠΈΠΌΠ° ΡΡΠ΅Π΄Π° Π·Π° ΡΠΈΡΡΠ΅ΠΌΠΈ Π·Π° ΠΎΡΠΊΠ΅ΡΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Kubernetes).
ΠΠΈΡΠ»Ρ, ΡΠ΅ Π·Π° Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΡΠ΅ ΠΎΠ±ΡΠ°ΡΠ° ΡΡ Π΅ΠΌΠ° Π½Π° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈΡΠ΅ Π½Π° ΡΡΠ΅ΠΊΠ°, Π΅ ΠΏΡΠ΅ΠΏΠΎΡΡΡΠΈΡΠ΅Π»Π½ΠΎ Π΄Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΠ΅ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠ° Π½Π° Π²ΡΡΠ·ΠΊΠ° ΡΡΠΊ Kubernetes c ΡΠΈΡΠ°ΠΌC ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΎΡ Π½ΠΈΡΠΊΠΎ Π½ΠΈΠ²ΠΎ CRI-O:
CRI-O ΠΈ Kubernetes ΡΠ΅ ΠΏΡΠΈΠ΄ΡΡΠΆΠ°Ρ ΠΊΡΠΌ Π΅Π΄ΠΈΠ½ ΠΈ ΡΡΡ ΡΠΈΠΊΡΠ» Π½Π° ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π²Π°Π½Π΅ ΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° (ΠΌΠ°ΡΡΠΈΡΠ°ΡΠ° Π·Π° ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΠ°: ΠΎΡΠ½ΠΎΠ²Π½ΠΈ Π²Π΅ΡΡΠΈΠΈ Kubernetes ΠΈ CRI-O ΡΡΠ²ΠΏΠ°Π΄Π°Ρ), ΠΈ ΡΠΎΠ²Π°, ΠΊΠ°ΡΠΎ ΡΠ΅ ΠΈΠΌΠ° ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ ΡΠΎΠΊΡΡΡΡ Π²ΡΡΡ
Ρ ΠΏΡΠ»Π½ΠΎΡΠΎ ΠΈ Π²ΡΠ΅ΠΎΠ±Ρ
Π²Π°ΡΠ½ΠΎ ΡΠ΅ΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° ΡΠΎΠ·ΠΈ ΡΡΠ΅ΠΊ ΠΎΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅, Π½ΠΈ Π΄Π°Π²Π° ΠΏΡΠ°Π²ΠΎΡΠΎ Π΄Π° ΠΎΡΠ°ΠΊΠ²Π°ΠΌΠ΅ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π½ΠΎ ΠΏΠΎΡΡΠΈΠΆΠΈΠΌΠ° ΡΡΠ°Π±ΠΈΠ»Π½ΠΎΡΡ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ° ΠΏΡΠΈ Π²ΡΡΠΊΠ°ΠΊΠ²ΠΈ ΡΡΠ΅Π½Π°ΡΠΈΠΈ Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ (ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»Π½Π°ΡΠ° Π»Π΅ΠΊΠΎΡΠ° ΡΡΡΠΎ Π΅ ΠΎΡ ΠΏΠΎΠ»Π·Π° ΡΡΠΊ CRI-O Π² ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Ρ Π΄ΠΎΠΊΠ΅Ρ ΠΏΠΎΡΠ°Π΄ΠΈ ΡΠ΅Π»Π΅Π½Π°ΡΠΎΡΠ΅Π½ΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΡΠ°).
ΠΡΠΈ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π΅ Kubernetes "ΠΏΡΠ°Π²ΠΈΠ»Π΅Π½ Π½Π°ΡΠΈΠ½" Π½Π°ΡΠΈΠ½ (ΡΠ°Π·Π±ΠΈΡΠ° ΡΠ΅ ΡΠΏΠΎΡΠ΅Π΄ OCI). CRI-O Π½Π° CentOS 8 Π‘ΡΠ΅ΡΠ½Π°Ρ ΠΌΠ΅ Π½ΡΠΊΠΎΠΈ Π΄ΡΠ΅Π±Π½ΠΈ Π·Π°ΡΡΡΠ΄Π½Π΅Π½ΠΈΡ, ΠΊΠΎΠΈΡΠΎ ΠΎΠ±Π°ΡΠ΅ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΏΡΠ΅ΠΎΠ΄ΠΎΠ»ΡΡ ΠΌΠ΅. Π©Π΅ ΡΠ΅ ΡΠ°Π΄Π²Π°ΠΌ Π΄Π° ΡΠΏΠΎΠ΄Π΅Π»Ρ Ρ Π²Π°Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π·Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π΅ ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½Π΅, ΠΊΠΎΠ΅ΡΠΎ ΠΎΠ±ΡΠΎ ΡΠ΅ ΠΎΡΠ½Π΅ΠΌΠ΅ ΠΎΠΊΠΎΠ»ΠΎ 10 ΠΌΠΈΠ½ΡΡΠΈ.
ΠΠ°ΠΊ Π΄Π° Π²Π½Π΅Π΄ΡΠΈΡΠ΅ Kubernetes Π½Π° CentOS 8 Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΡΠ°ΠΌΠΊΠ°ΡΠ° CRI-O
ΠΠ΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΈ ΡΡΠ»ΠΎΠ²ΠΈΡ: Π½Π°Π»ΠΈΡΠΈΠ΅ Π½Π° ΠΏΠΎΠ½Π΅ Π΅Π΄ΠΈΠ½ Ρ
ΠΎΡΡ (2 ΡΠ΄ΡΠ°, 4 GB RAM, ΠΌΡΡΡΠΎ Π·Π° ΡΡΡ
ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΎΡ ΠΏΠΎΠ½Π΅ 15 GB) Ρ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½ CentOS 8 (ΠΏΡΠ΅ΠΏΠΎΡΡΡΠ²Π° ΡΠ΅ ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΈΠΎΠ½Π΅Π½ ΠΏΡΠΎΡΠΈΠ» βServerβ), ΠΊΠ°ΠΊΡΠΎ ΠΈ Π·Π°ΠΏΠΈΡΠΈ Π·Π° Π½Π΅Π³ΠΎ Π² Π»ΠΎΠΊΠ°Π»Π½ΠΈΡ DNS (Π² ΠΊΡΠ°Π΅Π½ ΡΠ»ΡΡΠ°ΠΉ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΌΠΈΠ½Π΅ΡΠ΅ Ρ Π·Π°ΠΏΠΈΡ Π² /etc/hosts). Π Π½Π΅ Π·Π°Π±ΡΠ°Π²ΡΠΉΡΠ΅
ΠΠ·Π²ΡΡΡΠ²Π°ΠΌΠ΅ Π²ΡΠΈΡΠΊΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π½Π° Ρ ΠΎΡΡΠ° ΠΊΠ°ΡΠΎ root ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π», Π±ΡΠ΄Π΅ΡΠ΅ Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»Π½ΠΈ.
- Π ΠΏΡΡΠ²Π°ΡΠ° ΡΡΡΠΏΠΊΠ° ΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°ΠΌΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°, ΡΠ΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΠΌΠ΅ ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°ΠΌΠ΅ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΈΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Π·Π° CRI-O.
- ΠΠ΅ΠΊΠ° Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°ΠΌΠ΅ ΠΠ‘:
dnf -y update
- Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° ΡΡΡΠ±Π²Π° Π΄Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°ΡΠ΅ Π·Π°ΡΠΈΡΠ½Π°ΡΠ° ΡΡΠ΅Π½Π° ΠΈ SELinux. Π’ΡΠΊ Π²ΡΠΈΡΠΊΠΎ Π·Π°Π²ΠΈΡΠΈ ΠΎΡ ΡΡΠ΅Π΄Π°ΡΠ°, Π² ΠΊΠΎΡΡΠΎ Π½Π°ΡΠΈΡΡ Ρ
ΠΎΡΡ ΠΈΠ»ΠΈ Ρ
ΠΎΡΡΠΎΠ²Π΅ ΡΠ΅ ΡΠ°Π±ΠΎΡΡΡ. ΠΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ»ΠΈ Π΄Π° Π½Π°ΡΡΡΠΎΠΈΡΠ΅ Π·Π°ΡΠΈΡΠ½Π° ΡΡΠ΅Π½Π° ΡΠΏΠΎΡΠ΅Π΄ ΠΏΡΠ΅ΠΏΠΎΡΡΠΊΠΈΡΠ΅ ΠΎΡ
Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΈΠ»ΠΈ, Π°ΠΊΠΎ ΡΡΠ΅ Π² Π½Π°Π΄Π΅ΠΆΠ΄Π½Π° ΠΌΡΠ΅ΠΆΠ° ΠΈΠ»ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ Π·Π°ΡΠΈΡΠ½Π° ΡΡΠ΅Π½Π° Π½Π° ΡΡΠ΅ΡΠ° ΡΡΡΠ°Π½Π°, ΠΏΡΠΎΠΌΠ΅Π½Π΅ΡΠ΅ Π·ΠΎΠ½Π°ΡΠ° ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π½Π° Π½Π°Π΄Π΅ΠΆΠ΄Π½Π° ΠΈΠ»ΠΈ ΠΈΠ·ΠΊΠ»ΡΡΠ΅ΡΠ΅ Π·Π°ΡΠΈΡΠ½Π°ΡΠ° ΡΡΠ΅Π½Π°:firewall-cmd --set-default-zone trusted firewall-cmd --reload
ΠΠ° Π΄Π° ΠΈΠ·ΠΊΠ»ΡΡΠΈΡΠ΅ Π·Π°ΡΠΈΡΠ½Π°ΡΠ° ΡΡΠ΅Π½Π°, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΡΠ»Π΅Π΄Π½Π°ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π°:
systemctl disable --now firewalld
SELinux ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π΅ ΠΈΠ·ΠΊΠ»ΡΡΠ΅Π½ ΠΈΠ»ΠΈ ΠΏΡΠ΅Π²ΠΊΠ»ΡΡΠ΅Π½ Π½Π° βΡΠ°Π·ΡΠ΅ΡΠΈΡΠ΅Π»Π΅Π½β ΡΠ΅ΠΆΠΈΠΌ:
setenforce 0 sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config
- ΠΠ°ΡΠ΅Π΄Π΅ΡΠ΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΈΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ Π½Π° ΡΠ΄ΡΠΎΡΠΎ, ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°ΠΉΡΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎΡΠΎ Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΌΠΎΠ΄ΡΠ»Π° βbr_netfilterβ ΠΏΡΠΈ ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°:
modprobe overlay modprobe br_netfilter echo "br_netfilter" >> /etc/modules-load.d/br_netfilter.conf dnf -y install iproute-tc
- ΠΠ° Π΄Π° Π°ΠΊΡΠΈΠ²ΠΈΡΠ°ΡΠ΅ ΠΏΡΠ΅ΠΏΡΠ°ΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ ΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π½Π°ΡΠ° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΡΡΠ°ΡΠΈΠΊΠ°, ΡΠ΅ Π½Π°ΠΏΡΠ°Π²ΠΈΠΌ ΡΡΠΎΡΠ²Π΅ΡΠ½ΠΈΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ:
cat > /etc/sysctl.d/99-kubernetes-cri.conf <<EOF net.bridge.bridge-nf-call-iptables = 1 net.ipv4.ip_forward = 1 net.bridge.bridge-nf-call-ip6tables = 1 EOF
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΏΡΠ°Π²Π΅Π½ΠΈΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ:
sysctl --system
- Π·Π°Π΄Π°ΠΉΡΠ΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠ°ΡΠ° Π²Π΅ΡΡΠΈΡ CRI-O (ΠΎΡΠ½ΠΎΠ²Π½Π° Π²Π΅ΡΡΠΈΡ CRI-O, ΠΊΠ°ΠΊΡΠΎ Π²Π΅ΡΠ΅ Π±Π΅ΡΠ΅ ΡΠΏΠΎΠΌΠ΅Π½Π°ΡΠΎ, ΠΎΡΠ³ΠΎΠ²Π°ΡΡΡ Π½Π° Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠ°ΡΠ° Π²Π΅ΡΡΠΈΡ Kubernetes), ΠΎΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π°ΡΠ° ΡΡΠ°Π±ΠΈΠ»Π½Π° Π²Π΅ΡΡΠΈΡ Kubernetes Π² ΠΌΠΎΠΌΠ΅Π½ΡΠ° 1.18:
export REQUIRED_VERSION=1.18
Π΄ΠΎΠ±Π°Π²Π΅ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈΡΠ΅ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°:
dnf -y install 'dnf-command(copr)' dnf -y copr enable rhcontainerbot/container-selinux curl -L -o /etc/yum.repos.d/devel:kubic:libcontainers:stable.repo https://download.opensuse.org/repositories/devel:kubic:libcontainers:stable/CentOS_8/devel:kubic:libcontainers:stable.repo curl -L -o /etc/yum.repos.d/devel:kubic:libcontainers:stable:cri-o:$REQUIRED_VERSION.repo https://download.opensuse.org/repositories/devel:kubic:libcontainers:stable:cri-o:$REQUIRED_VERSION/CentOS_8/devel:kubic:libcontainers:stable:cri-o:$REQUIRED_VERSION.repo
- ΡΠ΅Π³Π° ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΠΌΠ΅ CRI-O:
dnf -y install cri-o
ΠΠ±ΡΡΠ½Π΅ΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΏΡΡΠ²ΠΈΡ Π½ΡΠ°Π½Ρ, ΠΊΠΎΠΉΡΠΎ ΡΡΠ΅ΡΠ°ΠΌΠ΅ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΈΠΎΠ½Π½ΠΈΡ ΠΏΡΠΎΡΠ΅Ρ: ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠ°ΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° CRI-O ΠΏΡΠ΅Π΄ΠΈ ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΠ»ΡΠ³Π°ΡΠ°, ΡΡΠΉ ΠΊΠ°ΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈΡΡ conmon ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΠΈΠΌΠ° ΡΠ°Π·Π»ΠΈΡΠ½ΠΎ ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΡ ΠΏΠΎΡΠΎΡΠ΅Π½ΠΎΡΠΎ:
sed -i 's//usr/libexec/crio/conmon//usr/bin/conmon/' /etc/crio/crio.conf
Π‘Π΅Π³Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π°ΠΊΡΠΈΠ²ΠΈΡΠ°ΡΠ΅ ΠΈ ΡΡΠ°ΡΡΠΈΡΠ°ΡΠ΅ Π΄Π΅ΠΌΠΎΠ½Π° CRI-O:
systemctl enable --now crio
ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΡΠΎΠ²Π΅ΡΠΈΡΠ΅ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° Π΄Π΅ΠΌΠΎΠ½Π°:
systemctl status crio
- ΠΠ΅ΠΊΠ° Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°ΠΌΠ΅ ΠΠ‘:
- ΠΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π΅ ΠΈ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ Kubernetes.
- ΠΠ΅ΠΊΠ° Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΠΎ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅:
cat <<EOF > /etc/yum.repos.d/kubernetes.repo [kubernetes] name=Kubernetes baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-$basearch enabled=1 gpgcheck=1 repo_gpgcheck=1 gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg exclude=kubelet kubeadm kubectl EOF
Π‘Π΅Π³Π° ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΠΌΠ΅ Kubernetes (Π²Π΅ΡΡΠΈΡ 1.18, ΠΊΠ°ΠΊΡΠΎ Π΅ ΡΠΏΠΎΠΌΠ΅Π½Π°ΡΠΎ ΠΏΠΎ-Π³ΠΎΡΠ΅):
dnf install -y kubelet-1.18* kubeadm-1.18* kubectl-1.18* --disableexcludes=kubernetes
- ΠΡΠΎΡΠΈΡΡ Π²Π°ΠΆΠ΅Π½ Π½ΡΠ°Π½Ρ: ΡΡΠΉ ΠΊΠ°ΡΠΎ Π½Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Π΄Π΅ΠΌΠΎΠ½ Π΄ΠΎΠΊΠ΅Ρ, Π½ΠΎ Π½ΠΈΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Π΄Π΅ΠΌΠΎΠ½Π° CRI-O, ΠΏΡΠ΅Π΄ΠΈ ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ ΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Kubernetes ΡΡΡΠ±Π²Π° Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ ΡΡΠΎΡΠ²Π΅ΡΠ½ΠΈΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡ ΡΠ°ΠΉΠ» /var/lib/kubelet/config.yaml, ΠΊΠ°ΡΠΎ ΠΏΡΡΠ²ΠΎ ΡΡΠ΅ ΡΡΠ·Π΄Π°Π»ΠΈ ΠΆΠ΅Π»Π°Π½Π°ΡΠ° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ:
mkdir /var/lib/kubelet cat <<EOF > /var/lib/kubelet/config.yaml apiVersion: kubelet.config.k8s.io/v1beta1 kind: KubeletConfiguration cgroupDriver: systemd EOF
- Π’ΡΠ΅ΡΠΈΡΡ Π²Π°ΠΆΠ΅Π½ ΠΌΠΎΠΌΠ΅Π½Ρ, ΠΊΠΎΠΉΡΠΎ ΡΡΠ΅ΡΠ°ΠΌΠ΅ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΈΡΡΠ°: Π²ΡΠΏΡΠ΅ΠΊΠΈ ΡΠ°ΠΊΡΠ°, ΡΠ΅ ΡΠΌΠ΅ ΠΏΠΎΡΠΎΡΠΈΠ»ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈΡ Π΄ΡΠ°ΠΉΠ²Π΅Ρ cgroupΠΈ Π½Π΅Π³ΠΎΠ²Π°ΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΡΡΠ΅Π· ΠΏΡΠ΅Π΄Π°Π΄Π΅Π½ΠΈΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΈ ΠΊΡΠ±Π΅Π»Π΅Ρ Π΅ ΠΎΡΡΠ°ΡΡΠ» (ΠΊΠ°ΠΊΡΠΎ Π΅ ΠΈΠ·ΡΠΈΡΠ½ΠΎ ΠΏΠΎΡΠΎΡΠ΅Π½ΠΎ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡΠ°), ΡΡΡΠ±Π²Π° Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΈ ΠΊΡΠΌ ΡΠ°ΠΉΠ»Π°, Π² ΠΏΡΠΎΡΠΈΠ²Π΅Π½ ΡΠ»ΡΡΠ°ΠΉ Π½Π°ΡΠΈΡΡ ΠΊΠ»ΡΡΡΠ΅Ρ Π½ΡΠΌΠ° Π΄Π° Π±ΡΠ΄Π΅ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½:
cat /dev/null > /etc/sysconfig/kubelet cat <<EOF > /etc/sysconfig/kubelet KUBELET_EXTRA_ARGS=--container-runtime=remote --cgroup-driver=systemd --container-runtime-endpoint='unix:///var/run/crio/crio.sock' EOF
- Π‘Π΅Π³Π° ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π°ΠΊΡΠΈΠ²ΠΈΡΠ°ΠΌΠ΅ Π΄Π΅ΠΌΠΎΠ½Π° ΠΊΡΠ±Π΅Π»Π΅Ρ:
sudo systemctl enable --now kubelet
ΠΠ° ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ ΠΊΠΎΠ½ΡΡΠΎΠ»Π½Π° ΡΠ°Π²Π½ΠΈΠ½Π° ΠΈΠ»ΠΈ ΡΠ°Π±ΠΎΡΠ½ΠΈΠΊ Π²ΡΠ·Π»ΠΈ Π·Π° ΠΌΠΈΠ½ΡΡΠΈ, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅
Ρ ΡΠΎΠ·ΠΈ ΡΠΊΡΠΈΠΏΡ .
- ΠΠ΅ΠΊΠ° Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΠΎ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅:
- ΠΡΠ΅ΠΌΠ΅ Π΅ Π΄Π° ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ°ΠΌΠ΅ Π½Π°ΡΠΈΡ ΠΊΠ»ΡΡΡΠ΅Ρ.
- ΠΠ° Π΄Π° ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ°ΡΠ΅ ΠΊΠ»ΡΡΡΠ΅ΡΠ°, ΠΈΠ·ΠΏΡΠ»Π½Π΅ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ°:
kubeadm init --pod-network-cidr=10.244.0.0/16
ΠΠ΅ Π·Π°Π±ΡΠ°Π²ΡΠΉΡΠ΅ Π΄Π° Π·Π°ΠΏΠΈΡΠ΅ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° Π·Π° ΠΏΡΠΈΡΡΠ΅Π΄ΠΈΠ½ΡΠ²Π°Π½Π΅ ΠΊΡΠΌ ΠΊΠ»ΡΡΡΠ΅ΡΠ° βkubeadm join...β, ΠΊΠΎΡΡΠΎ ΡΠ΅ Π±ΡΠ΄Π΅ΡΠ΅ ΠΏΠΎΠΌΠΎΠ»Π΅Π½ΠΈ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ Π² ΠΊΡΠ°Ρ Π½Π° ΠΈΠ·Ρ ΠΎΠ΄Π°, ΠΈΠ»ΠΈ ΠΏΠΎΠ½Π΅ ΠΏΠΎΡΠΎΡΠ΅Π½ΠΈΡΠ΅ ΡΠΎΠΊΠ΅Π½ΠΈ.
- ΠΠ΅ΠΊΠ° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΠΌΠ΅ ΠΏΠ»ΡΠ³ΠΈΠ½Π° (CNI) Π·Π° ΠΌΡΠ΅ΠΆΠ°ΡΠ° Pod. ΠΡΠ΅ΠΏΠΎΡΡΡΠ²Π°ΠΌ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ Π°ΠΌΠ΅ΡΠΈΠΊΠ°Π½. ΠΠ΅ΡΠΎΡΡΠ½ΠΎ ΠΏΠΎ-ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΈ Π±Π°ΡΡ
Π΅Ρ ΠΈΠΌΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΡΡΡ ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡΠ° Ρ nftables, Π΄Π° ΠΈ Π°ΠΌΠ΅ΡΠΈΠΊΠ°Π½ - Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½ΠΎΡΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° CNI, ΠΏΡΠ΅ΠΏΠΎΡΡΡΠ°Π½ΠΎ ΠΈ Π½Π°ΠΏΡΠ»Π½ΠΎ ΡΠ΅ΡΡΠ²Π°Π½ΠΎ ΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° Kubernetes:
kubectl --kubeconfig /etc/kubernetes/admin.conf apply -f https://docs.projectcalico.org/v3.15/manifests/calico.yaml
- ΠΠ° Π΄Π° ΡΠ²ΡΡΠΆΠ΅ΡΠ΅ ΡΠ°Π±ΠΎΡΠ΅Π½ Π²ΡΠ·Π΅Π» ΠΊΡΠΌ Π½Π°ΡΠΈΡ ΠΊΠ»ΡΡΡΠ΅Ρ, ΡΡΡΠ±Π²Π° Π΄Π° Π³ΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°ΡΠ΅ ΡΡΠ³Π»Π°ΡΠ½ΠΎ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ 1 ΠΈ 2 ΠΈΠ»ΠΈ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅
ΠΏΠΈΡΠΌΠ΅Π½ΠΎΡΡ , ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° ΠΎΡ ΠΈΠ·Ρ ΠΎΠ΄Π° βkubeadm init...β, ΠΊΠΎΠΉΡΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ ΠΌΠ΅ Π² ΠΏΡΠ΅Π΄ΠΈΡΠ½Π°ΡΠ° ΡΡΡΠΏΠΊΠ°:kubeadm join $CONTROL_PLANE_ADDRESS:6443 --token $TOKEN --discovery-token-ca-cert-hash $TOKEN_HASH
- ΠΠ΅ΠΊΠ° ΠΏΡΠΎΠ²Π΅ΡΠΈΠΌ Π΄Π°Π»ΠΈ Π½Π°ΡΠΈΡΡ ΠΊΠ»ΡΡΡΠ΅Ρ Π΅ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ ΠΈ Π·Π°ΠΏΠΎΡΠ½Π°Π» Π΄Π° ΡΠ°Π±ΠΎΡΠΈ:
kubectl --kubeconfig=/etc/kubernetes/admin.conf get pods -A
ΠΠΎΡΠΎΠ²! ΠΠ΅ΡΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Ρ ΠΎΡΡΠ²Π°ΡΠ΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΈ ΡΠΎΠ²Π°ΡΠΈ Π½Π° Π²Π°ΡΠΈΡ ΠΊΠ»ΡΡΡΠ΅Ρ K8s.
- ΠΠ° Π΄Π° ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ°ΡΠ΅ ΠΊΠ»ΡΡΡΠ΅ΡΠ°, ΠΈΠ·ΠΏΡΠ»Π½Π΅ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ°:
ΠΠ°ΠΊΠ²ΠΎ Π½ΠΈ ΡΠ°ΠΊΠ° Π·Π°Π½Π°ΠΏΡΠ΅Π΄
ΠΠ°Π΄ΡΠ²Π°ΠΌ ΡΠ΅, ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈΡΠ΅ ΠΏΠΎ-Π³ΠΎΡΠ΅ ΡΠ° Π²ΠΈ ΠΏΠΎΠΌΠΎΠ³Π½Π°Π»ΠΈ Π΄Π° ΡΠΏΠ΅ΡΡΠΈΡΠ΅ Π²ΡΠ΅ΠΌΠ΅ ΠΈ Π½Π΅ΡΠ²ΠΈ.
Π Π΅Π·ΡΠ»ΡΠ°ΡΡΡ ΠΎΡ ΠΏΡΠΎΡΠ΅ΡΠΈΡΠ΅, ΠΏΡΠΎΡΠΈΡΠ°ΡΠΈ Π² ΠΈΠ½Π΄ΡΡΡΡΠΈΡΡΠ°, ΡΠ΅ΡΡΠΎ Π·Π°Π²ΠΈΡΠΈ ΠΎΡ ΡΠΎΠ²Π° ΠΊΠ°ΠΊ ΡΠ΅ ΡΠ΅ ΠΏΡΠΈΠ΅ΠΌΠ°Ρ ΠΎΡ ΠΏΠΎ-Π³ΠΎΠ»ΡΠΌΠ°ΡΠ° ΡΠ°ΡΡ ΠΎΡ ΠΊΡΠ°ΠΉΠ½ΠΈΡΠ΅ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π½Π° Π΄ΡΡΠ³ ΡΠΎΡΡΡΠ΅Ρ Π² ΡΡΠΎΡΠ²Π΅ΡΠ½Π°ΡΠ° Π½ΠΈΡΠ°. ΠΡΠ΅ ΠΎΡΠ΅ Π½Π΅ Π΅ ΡΡΠ²ΡΠ΅ΠΌ ΡΡΠ½ΠΎ Π΄ΠΎ ΠΊΠ°ΠΊΠ²ΠΎ ΡΠ΅ Π΄ΠΎΠ²Π΅Π΄Π°Ρ ΠΈΠ½ΠΈΡΠΈΠ°ΡΠΈΠ²ΠΈΡΠ΅ Π½Π° OCI ΡΠ»Π΅Π΄ Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π³ΠΎΠ΄ΠΈΠ½ΠΈ, Π½ΠΎ ΡΠ΅ Π³ΠΈ Π³Π»Π΅Π΄Π°ΠΌΠ΅ Ρ ΡΠ΄ΠΎΠ²ΠΎΠ»ΡΡΠ²ΠΈΠ΅. ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠΏΠΎΠ΄Π΅Π»ΠΈΡΠ΅ Π²Π°ΡΠ΅ΡΠΎ ΠΌΠ½Π΅Π½ΠΈΠ΅ ΠΎΡΠ΅ ΡΠ΅Π³Π° Π² ΠΊΠΎΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ΅.
ΠΡΡΠ°Π½ΠΈ Π½Π°ΡΡΡΠΎΠ΅Π½!
Π’Π°Π·ΠΈ ΡΡΠ°ΡΠΈΡ ΡΠ΅ ΠΏΠΎΡΠ²ΠΈ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ ΠΈΠ·ΡΠΎΡΠ½ΠΈΡΠΈ:
- Π Π°Π·Π΄Π΅Π» ΠΎΡΠ½ΠΎΡΠ½ΠΎ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°
ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π½Π° Kubernetes Π‘ΡΡΠ°Π½ΠΈΡΠ° ΠΡΠΎΠ΅ΠΊΡ CRI-O Π² ΠΠ½ΡΠ΅ΡΠ½Π΅Ρ- Π‘ΡΠ°ΡΠΈΠΈ Π² Π±Π»ΠΎΠ³Π° Π½Π° Red Hat:
ΡΠΎΠ·ΠΈ ,ΡΠΎΠ²Π° ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΡΡΠ³ΠΈ
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: www.habr.com