<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://doc.ruscomtech.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5_%D1%81%D1%82%D0%B0%D0%BD%D0%B4%D0%B0%D1%80%D1%82%D0%BE%D0%B2_%D0%B1%D0%B5%D0%B7%D0%BE%D0%BF%D0%B0%D1%81%D0%BD%D0%BE%D1%81%D1%82%D0%B8_%D0%BF%D0%BE%D0%B4%D0%BE%D0%B2</id>
	<title>Применение стандартов безопасности подов - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://doc.ruscomtech.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5_%D1%81%D1%82%D0%B0%D0%BD%D0%B4%D0%B0%D1%80%D1%82%D0%BE%D0%B2_%D0%B1%D0%B5%D0%B7%D0%BE%D0%BF%D0%B0%D1%81%D0%BD%D0%BE%D1%81%D1%82%D0%B8_%D0%BF%D0%BE%D0%B4%D0%BE%D0%B2"/>
	<link rel="alternate" type="text/html" href="https://doc.ruscomtech.ru/index.php?title=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5_%D1%81%D1%82%D0%B0%D0%BD%D0%B4%D0%B0%D1%80%D1%82%D0%BE%D0%B2_%D0%B1%D0%B5%D0%B7%D0%BE%D0%BF%D0%B0%D1%81%D0%BD%D0%BE%D1%81%D1%82%D0%B8_%D0%BF%D0%BE%D0%B4%D0%BE%D0%B2&amp;action=history"/>
	<updated>2026-09-16T13:39:45Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://doc.ruscomtech.ru/index.php?title=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5_%D1%81%D1%82%D0%B0%D0%BD%D0%B4%D0%B0%D1%80%D1%82%D0%BE%D0%B2_%D0%B1%D0%B5%D0%B7%D0%BE%D0%BF%D0%B0%D1%81%D0%BD%D0%BE%D1%81%D1%82%D0%B8_%D0%BF%D0%BE%D0%B4%D0%BE%D0%B2&amp;diff=5983&amp;oldid=prev</id>
		<title>IKuznetsov: Новая страница: «&lt;code&gt;Kubernetes версии 1.25+&lt;/code&gt;  Уровни изоляции на основе пространства имён для модулей можно з...»</title>
		<link rel="alternate" type="text/html" href="https://doc.ruscomtech.ru/index.php?title=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5_%D1%81%D1%82%D0%B0%D0%BD%D0%B4%D0%B0%D1%80%D1%82%D0%BE%D0%B2_%D0%B1%D0%B5%D0%B7%D0%BE%D0%BF%D0%B0%D1%81%D0%BD%D0%BE%D1%81%D1%82%D0%B8_%D0%BF%D0%BE%D0%B4%D0%BE%D0%B2&amp;diff=5983&amp;oldid=prev"/>
		<updated>2025-12-01T20:06:47Z</updated>

		<summary type="html">&lt;p&gt;Новая страница: «&amp;lt;code&amp;gt;Kubernetes версии 1.25+&amp;lt;/code&amp;gt;  Уровни изоляции на основе пространства имён для модулей можно з...»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;code&amp;gt;Kubernetes версии 1.25+&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Уровни изоляции на основе пространства имён для модулей можно задать с помощью [https://kubernetes.io/docs/concepts/security/pod-security-standards/ стандартов безопасности подов (Pod Security Standards)]﻿, которые реализуются встроенным [https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/ контроллером допуска Pod Security]﻿. Эти стандарты определяют список элементов управления, таких как возможности, профили &amp;#039;&amp;#039;&amp;#039;seccomp&amp;#039;&amp;#039;&amp;#039; и типы томов.&lt;br /&gt;
&lt;br /&gt;
Хотя контроллер доступа Pod Security является встроенной функцией Kubernetes, он не обязательно включен по умолчанию во всех дистрибутивах Kubernetes. Более того, в средах, где требуются расширенные или иные политики безопасности, можно использовать сторонние альтернативы, такие как Open Policy Agent (OPA). Подробнее об использовании сторонних инструментов для обеспечения соблюдения стандартов безопасности Pod см. в статье «[https://kubernetes.io/docs/setup/best-practices/enforcing-pod-security-standards/#third-party-alternatives Обеспечение соблюдения стандартов безопасности Pod с помощью сторонних альтернатив]»﻿.&lt;br /&gt;
&lt;br /&gt;
== Стандарты безопасности Pod ==&lt;br /&gt;
Стандарты безопасности &amp;#039;&amp;#039;&amp;#039;Pod&amp;#039;&amp;#039;&amp;#039; определяют три политики:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[https://kubernetes.io/docs/concepts/security/pod-security-standards/#privileged Привилегированный]&amp;#039;&amp;#039;&amp;#039;﻿ : политика без ограничений.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[https://kubernetes.io/docs/concepts/security/pod-security-standards/#privileged Базовый уровень]&amp;#039;&amp;#039;&amp;#039;﻿ : минимально ограничительная политика.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[https://kubernetes.io/docs/concepts/security/pod-security-standards/#privileged Ограниченный]&amp;#039;&amp;#039;&amp;#039; : Политика жестких ограничений.&lt;br /&gt;
&lt;br /&gt;
Стандарты безопасности Pod — это встроенная функция &amp;#039;&amp;#039;&amp;#039;Kubernetes&amp;#039;&amp;#039;&amp;#039;, и их нельзя расширить или настроить.&lt;br /&gt;
&lt;br /&gt;
== Настройте безопасность пода для пространства имен ==&lt;br /&gt;
Стандарты безопасности подов применяются на уровне пространства имён при их создании. Если профиль безопасности по умолчанию, заданный встроенным контроллером допуска, отличается от &amp;lt;code&amp;gt;privileged&amp;lt;/code&amp;gt; (например, &amp;lt;code&amp;gt;baseline&amp;lt;/code&amp;gt; или &amp;lt;code&amp;gt;restricted&amp;lt;/code&amp;gt;), на [https://kubernetes.io/docs/tasks/configure-pod-container/enforce-standards-admission-controller/#configure-the-admission-controller уровне встроенного контроллера допуска]﻿ профиль &amp;lt;code&amp;gt;privileged&amp;lt;/code&amp;gt; необходимо настроить для вашего пространства имён. Ключ-АСТРОМ &amp;#039;&amp;#039;&amp;#039;Operator&amp;#039;&amp;#039;&amp;#039; поддерживает только политику &amp;lt;code&amp;gt;privileged&amp;lt;/code&amp;gt;, поскольку драйвер &amp;#039;&amp;#039;&amp;#039;CSI&amp;#039;&amp;#039;&amp;#039; и поды ЕдиногоАгента требуют больше прав, чем позволяют &amp;lt;code&amp;gt;baseline&amp;lt;/code&amp;gt; политики &amp;lt;code&amp;gt;restricted&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Выполните следующую команду, чтобы задать &amp;lt;code&amp;gt;astromkey&amp;lt;/code&amp;gt; пространство имен &amp;lt;code&amp;gt;privileged&amp;lt;/code&amp;gt;:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|kubectl label namespace astromkey pod-security.kubernetes.io/enforce=privileged pod-security.kubernetes.io/audit=privileged pod-security.kubernetes.io/warn=privileged&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Режимы аудита и предупреждения ===&lt;br /&gt;
Режимы [https://kubernetes.io/docs/concepts/security/pod-security-admission/#pod-security-admission-labels-for-namespaces аудита и предупреждения]﻿ применяются к развертыванию, &amp;#039;&amp;#039;&amp;#039;DaemonSet&amp;#039;&amp;#039;&amp;#039; или другим ресурсам рабочей нагрузки для выявления нарушений, даже если модуль не был создан.&lt;br /&gt;
&lt;br /&gt;
== Поиск неисправностей ==&lt;br /&gt;
Чтобы понять, почему поды ЕдиногоАгента могут не создаваться при ограниченной политике, используйте следующую команду.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|kubectl -n astromkey describe daemonset.apps/&amp;lt;dynakube&amp;gt;-oneagent&lt;br /&gt;
|}&lt;br /&gt;
Следующий вывод события показывает нарушение стандарта безопасности пода, препятствующее созданию пода. На этот тип вывода следует обращать внимание при диагностике проблем развертывания.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&amp;gt; Events:&lt;br /&gt;
&lt;br /&gt;
&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;gt; Type | Reason | Age| From| Message&lt;br /&gt;
&lt;br /&gt;
&amp;gt; ---- |--------|---- |----|-------&lt;br /&gt;
&lt;br /&gt;
&amp;gt; Warning|FailedCreate|15s|daemonset-controller|Error creating: pods &amp;quot;dynakube-oneagent-kp6sf&amp;quot; is forbidden: violates PodSecurity &amp;quot;restricted:latest&amp;quot;: forbidden AppArmor profile (container.apparmor.security.beta.kubernetes.io/astromkey-oneagent=&amp;quot;unconfined&amp;quot;), host namespaces (hostNetwork=true, hostPID=true), allowPrivilegeEscalation != false (container &amp;quot;astromkey-oneagent&amp;quot; must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container &amp;quot;astromkey-oneagent&amp;quot; must not include &amp;quot;CHOWN&amp;quot;, &amp;quot;DAC_OVERRIDE&amp;quot;, &amp;quot;DAC_READ_SEARCH&amp;quot;, &amp;quot;FOWNER&amp;quot;, &amp;quot;FSETID&amp;quot;, &amp;quot;KILL&amp;quot;, &amp;quot;NET_ADMIN&amp;quot;, &amp;quot;NET_RAW&amp;quot;, &amp;quot;SETFCAP&amp;quot;, &amp;quot;SETGID&amp;quot;, &amp;quot;SETUID&amp;quot;, &amp;quot;SYS_ADMIN&amp;quot;, &amp;quot;SYS_CHROOT&amp;quot;, &amp;quot;SYS_PTRACE&amp;quot;, &amp;quot;SYS_RESOURCE&amp;quot; in securityContext.capabilities.add), restricted volume types (volume &amp;quot;host-root&amp;quot; uses restricted volume type &amp;quot;hostPath&amp;quot;), seccompProfile (pod or container &amp;quot;astromkey-oneagent&amp;quot; must set securityContext.seccompProfile.type to &amp;quot;RuntimeDefault&amp;quot; or &amp;quot;Localhost&amp;quot;)&lt;br /&gt;
|}&lt;br /&gt;
Аналогично, чтобы проверить, почему поды драйверов &amp;#039;&amp;#039;&amp;#039;CSI&amp;#039;&amp;#039;&amp;#039; могут выйти из строя при тех же условиях, используйте следующую команду.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|kubectl -n astromkey describe daemonset.apps/astromkey-oneagent-csi-driver&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&amp;gt; Events:&lt;br /&gt;
&lt;br /&gt;
&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;gt; Type| Reason | Age| From| Message&lt;br /&gt;
&lt;br /&gt;
&amp;gt; ---- |--------|---- |----| -------&lt;br /&gt;
&lt;br /&gt;
&amp;gt; Warning|FailedCreate|25m|daemonset-controller|Error creating: pods &amp;quot;astromkey-oneagent-csi-driver-nh7p9&amp;quot; is forbidden: violates PodSecurity &amp;quot;restricted:latest&amp;quot;: privileged (containers &amp;quot;server&amp;quot;, &amp;quot;provisioner&amp;quot; must not set securityContext.privileged=true), allowPrivilegeEscalation != false (containers &amp;quot;server&amp;quot;, &amp;quot;provisioner&amp;quot;, &amp;quot;registrar&amp;quot; must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (containers &amp;quot;csi-init&amp;quot;, &amp;quot;server&amp;quot;, &amp;quot;provisioner&amp;quot;, &amp;quot;registrar&amp;quot;, &amp;quot;liveness-probe&amp;quot; must set securityContext.capabilities.drop=[&amp;quot;ALL&amp;quot;]), restricted volume types (volumes &amp;quot;registration-dir&amp;quot;, &amp;quot;plugin-dir&amp;quot;, &amp;quot;data-dir&amp;quot;, &amp;quot;mountpoint-dir&amp;quot; use restricted volume type &amp;quot;hostPath&amp;quot;), runAsNonRoot != true (containers &amp;quot;csi-init&amp;quot;, &amp;quot;server&amp;quot;, &amp;quot;provisioner&amp;quot;, &amp;quot;registrar&amp;quot;, &amp;quot;liveness-probe&amp;quot; must not set securityContext.runAsNonRoot=false), runAsUser=0 (containers &amp;quot;csi-init&amp;quot;, &amp;quot;server&amp;quot;, &amp;quot;provisioner&amp;quot;, &amp;quot;registrar&amp;quot;, &amp;quot;liveness-probe&amp;quot; must not set runAsUser=0)&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>IKuznetsov</name></author>
	</entry>
</feed>