{"id":463493,"date":"2025-06-16T03:00:07","date_gmt":"2025-06-16T03:00:07","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=463493"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=463493","title":{"rendered":"<span>\u041f\u0440\u043e\u0431\u043d\u044b\u0439 \u043f\u043e\u0445\u043e\u0434 \u0432 \u0432\u0435\u0431-kubernetes-1\u0421, \u0432\u043e\u043f\u0440\u0435\u043a\u0438 \u043f\u0440\u0438\u0432\u044b\u0447\u043a\u0430\u043c<\/span>"},"content":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/db2\/b40\/bcc\/db2b40bcc61f5665961494bbd7d91688.png\" width=\"1536\" height=\"1024\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/db2\/b40\/bcc\/db2b40bcc61f5665961494bbd7d91688.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/db2\/b40\/bcc\/db2b40bcc61f5665961494bbd7d91688.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p>\u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f \u0441\u043e \u0441\u0442\u0440\u0430\u0448\u043d\u043e\u0439 \u0441\u0438\u043b\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 1\u0421, \u0442\u043e \u0441\u043b\u043e\u0436\u0438\u043b\u0438\u0441\u044c \u043d\u0435\u043a\u0438\u0435 \u043d\u0435\u0438\u0437\u043c\u0435\u043d\u043d\u044b\u0435 \u0442\u0440\u0430\u0434\u0438\u0446\u0438\u0438, \u043e\u0434\u043d\u0430 \u0438\u0437 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u2013 \u044d\u0442\u043e \u0432\u0435\u0431-\u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438 1\u0421. \u041f\u043b\u043e\u0434\u044f\u0442\u0441\u044f \u043e\u043d\u0438 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0442\u0430\u043a: 1 \u0418\u0411 (\u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u043e\u043d\u043d\u0430\u044f \u0431\u0430\u0437\u0430) + \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0418\u0411 \u0441 \u0442\u0435\u043c \u0436\u0435 \u0441\u043c\u044b\u0441\u043b\u043e\u043c = 1 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 web(iis)-\u0441\u0435\u0440\u0432\u0435\u0440, \u0430 \u0442\u0430\u043a\u0438\u0445 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439 \u043f\u043e\u043b\u043d\u043e. \u041f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f, \u0447\u0442\u043e \u043f\u043e\u043c\u0438\u043c\u043e \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0439, \u043c\u044b \u0442\u0440\u0430\u0442\u0438\u043c \u043a\u0443\u0447\u0443 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0430 \u0432\u0435\u0431-\u0434\u043e\u0441\u0442\u0443\u043f. \u041f\u043e\u0441\u0442\u0443\u043f\u0438\u043b\u0430 \u0438\u0434\u0435\u044f, \u0447\u0442\u043e \u043f\u043e\u0440\u0430 \u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0442\u044c (\u0430 \u0437\u0430\u043e\u0434\u043d\u043e \u043e\u0442\u043a\u0430\u0437\u043e\u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u043e\u0441\u0442\u044c). \u041f\u043e\u043a\u0430 \u043d\u0430 \u044d\u0442\u0430\u043f\u0435 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u043e\u0432\/\u0442\u0435\u0441\u0442\u043e\u0432.<\/p>\n<p>    \u0421\u0442\u0435\u043a \u043f\u043b\u0430\u043d\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439:<\/p>\n<ul>\n<li>\n<p>\u041e\u0421 \u2013      Ubuntu 22.04<\/p>\n<\/li>\n<li>\n<p>Docker      \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043e\u0431\u0440\u0430\u0437\u0430, \u0441\u043e\u0441\u0442\u043e\u044f\u0449\u0438\u0439 \u0438\u0437:a) \u041f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 Ubuntu 22.04b) Apache +      gssapi \u043c\u043e\u0434\u0443\u043b\u044c \u0434\u043b\u044f SSO) Kerberos \u043f\u043b\u044e\u0448\u043a\u0438<\/p>\n<\/li>\n<li>\n<p>\u0414\u0432\u0430 \u00ab\u0441\u0442\u0435\u043d\u0434\u0431\u0430\u0439 \u043a\u043e\u043d\u0442\u0440\u043e\u043b-\u0443\u0437\u043b\u0430\u00bb k8s \u0432 \u0440\u0430\u0437\u043d\u044b\u0445 \u0426\u041e\u0414\u0430\u0445 \u0434\u043b\u044f \u0433\u0435\u043e\u0440\u0435\u0437\u0435\u0440\u0432\u0430 (bgp-anycast,      haproxy) + ingress.<\/p>\n<\/li>\n<\/ul>\n<p>\u0414\u043e\u043b\u0433\u043e \u0441\u0442\u0440\u0430\u0434\u0430\u043b \u0441 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435\u043c SSO, \u0434\u043e\u0445\u043e\u0434\u0438\u043b\u043e \u0434\u043e \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u043d\u0430\u0447\u0438\u043d\u0430\u043b \u0441\u043e\u043c\u043d\u0435\u0432\u0430\u0442\u044c\u0441\u044f \u0432 \u0440\u0430\u0431\u043e\u0442\u043e\u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u0434\u0430\u043d\u043d\u043e\u0439 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u0432\u0432\u0438\u0434\u0443 \u043f\u043e\u043b\u043e\u043c\u043e\u043a \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u043e\u0432 \u043f\u0440\u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u0432 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0435, \u043d\u0435 \u0433\u043e\u0432\u043e\u0440\u044f \u043e \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u0439 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u0432 Kubernetes \u0438 ingress-\u043f\u0440\u043e\u0441\u043b\u043e\u0439\u043a\u0435. \u041d\u043e \u0440\u0430\u0431\u043e\u0447\u0438\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0432\u0441\u0451-\u0442\u0430\u043a\u0438 \u043f\u043e\u044f\u0432\u0438\u043b\u0441\u044f. \u041d\u0430\u0447\u043d\u0443 \u0441 Dockerfile, \u0441\u043e\u0441\u0442\u0430\u0432 docker-compose \u0432\u044b\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0442\u044c \u043d\u0435 \u0432\u0438\u0436\u0443 \u0441\u043c\u044b\u0441\u043b\u0430, \u0442\u0430\u043c \u0432\u0441\u0451 \u0438\u043d\u0434\u0438\u0432\u0438\u0434\u0443\u0430\u043b\u044c\u043d\u043e:<\/p>\n<pre><code class=\"yaml\">FROM docker-hub-proxy-lsus.*\/ubuntu:22.04  COPY sources.list \/etc\/apt\/sources.list  ENV DEBIAN_FRONTEND=noninteractive \\     PLATFORM_VERSION=83 \\     SERVER_VERSION=8.3.25-1546  # \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439 \u0438 \u043c\u043e\u0434\u0443\u043b\u0435\u0439 Apache RUN echo \"krb5-config krb5-config\/default_realm string *.RU\" | debconf-set-selections &amp;&amp; \\     apt update -o Acquire::https::Verify-Peer=false -o Acquire::https::Verify-Host=false &amp;&amp; \\     apt install -y \\         apache2 \\         krb5-user \\         libapache2-mod-auth-gssapi \\         vim \\         systemctl \\         apt-utils \\         openssl &amp;&amp; \\     a2enmod auth_gssapi  # \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 1\u0421 ADD *.deb \/tmp\/ RUN dpkg -i \/tmp\/1c-enterprise-8.${PLATFORM_VERSION}.${SERVER_VERSION}-*.deb 2&gt;\/dev\/null || true &amp;&amp; \\     rm -f \/tmp\/*.deb  COPY container\/webinst \/usr\/local\/sbin\/webinst #COPY container\/default.vrd \/var\/www\/test_database\/default.vrd \u043d\u0435\u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e, \u0435\u0441\u043b\u0438 \u0432 \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0438\u043c \u0438\u0434\u0435\u043c \u0432 \u043a\u0443\u0431\u0435\u0440 COPY container\/svc_1c3.keytab \/etc\/apache2\/apache.keytab COPY container\/000-default.conf \/etc\/apache2\/sites-enabled\/000-default.conf #COPY container\/krb5.conf \/etc\/krb5.conf \u043d\u0435\u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e, \u0435\u0441\u043b\u0438 \u0432 \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0438\u043c \u0438\u0434\u0435\u043c \u0432 \u043a\u0443\u0431\u0435\u0440  RUN echo \"127.0.0.1 ru-rzn-tkube01.*.ru\" &gt;&gt; \/etc\/hosts &amp;&amp; \\     webinst -publish -apache24 -wsdir web -dir \/var\/www\/test_database \\             -connstr \"Srvr=ru-rzn-t1capp:1541;Ref=web;\" \\             -descriptor \/var\/www\/test_database\/default.vrd CMD [\"apachectl\", \"-D\", \"FOREGROUND\"] <\/code><\/pre>\n<p>\u0421\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u043c\u043e\u043c\u0435\u043d\u0442\u044b: \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u043a\u043e\u043c\u0430\u043d\u0434\u0443 &#171;webinst -publish -apache24\u2026&#187; \u0434\u043b\u044f \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u0438 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f apache2.conf, \u0434\u0430\u043b\u0435\u0435 \u0438\u0434\u0451\u0442 \u0441\u0442\u0440\u043e\u043a\u0430 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043a \u0441\u0435\u0440\u0432\u0435\u0440\u0443 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u043f\u0443\u0442\u044c \u043a \u0434\u0435\u0441\u043a\u0440\u0438\u043f\u0448\u0435\u043d\u0443 (.vrd) \u0438 \u043a\u043e\u043f\u0438\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0430 \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u0441\u0430\u0439\u0442\u0430. \u041f\u043e\u0432\u0442\u043e\u0440\u044e\u0441\u044c, \u0447\u0442\u043e \u0441 SSO \u0431\u044b\u043b\u0438 \u0441\u0435\u0440\u044c\u0435\u0437\u043d\u044b\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b, \u0438 \u0434\u043b\u044f \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0441\u044f \u0432\u043e\u0442 \u0442\u0430\u043a\u043e\u0439 \u043a\u043e\u043d\u0444\u0438\u0433 \u0441\u0430\u0439\u0442\u0430 (\/etc\/apache2\/sites-enabled\/000-default.conf ):<\/p>\n<pre><code class=\"nginx\">&lt;VirtualHost *:80&gt;     ServerName ru-rzn-tkube01.*.ru     DocumentRoot \/var\/www\/test_database      RequestHeader set X-Forwarded-Proto \"https\"     RequestHeader set X-Real-IP \"%{REMOTE_ADDR}s\"     RequestHeader set X-Forwarded-Host \"%{SERVER_NAME}s\"     RequestHeader unset Authorization     RequestHeader set Authorization \"%{HTTP:Authorization}e\"      &lt;Location \/web&gt;         SetHandler 1c-application         ManagedApplicationDescriptor \"\/var\/www\/test_database\/default.vrd\"          AuthType GSSAPI         AuthName \"Kerberos Auth\"         GssapiCredStore keytab:\/etc\/apache2\/apache.keytab         GssapiDelegCcacheDir \/var\/www\/test_database\/tmp         GssapiUseS4U2Proxy On         GssapiImpersonate On         GssapiLocalName On         GssapiAllowedMech krb5         GssapiBasicAuth Off         Require valid-user     &lt;\/Location&gt;      LogLevel auth_gssapi:debug     ErrorLog ${APACHE_LOG_DIR}\/error.log     CustomLog ${APACHE_LOG_DIR}\/access.log combined     LogFormat \"%h %l %u %t \\\"%r\\\" %&gt;s %b \\\"%{Authorization}i\\\"\" authlog     CustomLog ${APACHE_LOG_DIR}\/auth.log authlog &lt;\/VirtualHost&gt;<\/code><\/pre>\n<p>\u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, Apache \u043d\u0443\u0436\u043d\u043e \u0441\u043a\u0430\u0437\u0430\u0442\u044c, \u0447\u0442\u043e\u0431\u044b \u043e\u043d \u0441\u0442\u0430\u0440\u0442\u043e\u0432\u0430\u043b \u043e\u0442 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f usr1cv8 \u0438 \u0433\u0440\u0443\u043f\u043f\u044b grp1cv8 (\u043c\u043e\u0436\u043d\u043e \u0437\u0430\u0434\u0430\u0442\u044c \u0447\u0435\u0440\u0435\u0437 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0438\u043b\u0438 \u0430\u043f\u0434\u0435\u0439\u0442\u043e\u043c apache2.conf), \u043f\u0440\u0430\u0432\u0430 \u043d\u0430 kerberos-\u0442\u0438\u043a\u0435\u0442\u044b \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u044b, \u0438 \u0432\u0438\u0448\u0435\u043d\u043a\u0430 \u043d\u0430 \u0442\u043e\u0440\u0442\u0435 \u2013 \u044d\u0442\u043e \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u0438\u043d\u0438\u0446\u0438\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 Kerberos-\u0431\u0438\u043b\u0435\u0442\u0430 \u043f\u043e\u0441\u043b\u0435 \u0434\u0435\u043f\u043b\u043e\u044f \u043e\u0442 \u0438\u043c\u0435\u043d\u0438 usr1cv8, \u043d\u043e \u0438\u043d\u0438\u0446\u0438\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0443\u0436\u0435 \u043f\u043e\u0441\u043b\u0435 \u043f\u0435\u0440\u0435\u0435\u0437\u0434\u0430.<\/p>\n<p>\u041f\u0435\u0440\u0435\u0435\u0437\u0434 \u0432 Kubernetes. \u00a0\u041b\u043e\u043c\u0430\u0435\u0442\u0441\u044f \u0438\u043d\u0438\u0446\u0438\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 Kerberos-\u0431\u0438\u043b\u0435\u0442\u0430, \u043d\u043e \u044d\u0442\u043e \u0432\u043f\u043e\u043b\u043d\u0435 \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e \u0438 \u043e\u0436\u0438\u0434\u0430\u0435\u043c\u043e. \u041f\u0435\u0440\u0435\u0434 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435\u043c \u043c\u0430\u043d\u0438\u0444\u0435\u0441\u0442\u043e\u0432 \u0441\u0434\u0435\u043b\u0430\u044e \u0442\u0430\u043a: \u0441\u043e\u0437\u0434\u0430\u044e \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044e \/var\/www\/test_database\/tmp \u0438 \u0434\u0430\u044e \u0435\u0439 \u043f\u0440\u0430\u0432\u0430 chown -R 999:1000 \/var\/www\/test_database\/tmp, \u0441\u043e\u0437\u0434\u0430\u044e PVC. \u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438 999 \u0438 1000 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0442 usr1cv8 \u0438 grp1cv8, \u043f\u043e\u0445\u043e\u0436\u0435, \u0447\u0442\u043e \u044d\u0442\u0430 \u0438\u0441\u0442\u043e\u0440\u0438\u044f \u0441 \u043f\u0440\u0430\u0432\u0430\u043c\u0438 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u043f\u0440\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u043d\u0430 Linux.<\/p>\n<p>\u041c\u0430\u043d\u0438\u0444\u0435\u0441\u0442 \u0431\u0435\u0437 PVC \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0442\u0430\u043a:<\/p>\n<pre><code class=\"yaml\"># ConfigMap: default.vrd apiVersion: v1 kind: ConfigMap metadata:   name: default-vrd data:   default.vrd: |     &lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;     &lt;point xmlns=\"http:\/\/v8.1c.ru\/8.2\/virtual-resource-system\"            xmlns:xs=\"http:\/\/www.w3.org\/2001\/XMLSchema\"            xmlns:xsi=\"http:\/\/www.w3.org\/2001\/XMLSchema-instance\"            base=\"\/web\"            ib=\"Srvr=ru-rzn-t1capp.*.ru:1541;Ref=web\"&gt;         &lt;ws pointEnableCommon=\"true\"\/&gt;         &lt;standardOdata enable=\"false\"                        reuseSessions=\"autouse\"                        sessionMaxAge=\"20\"                        poolSize=\"10\"                        poolTimeout=\"5\"\/&gt;         &lt;analytics enable=\"true\"\/&gt;     &lt;\/point&gt;    --- # ConfigMap: krb5.conf  apiVersion: v1 kind: ConfigMap metadata:   name: krb5-conf data:   krb5.conf: |     [libdefaults]       default_realm = *.RU       dns_lookup_realm = false       dns_lookup_kdc = false       ticket_lifetime = 24h       renew_lifetime = 7d       forwardable = true        [realms]       *.RU = {         kdc = ru-dtc-.*.ru         admin_server = ru-dtc-.*.ru       }        [domain_realm]       .*.ru = *       *.ru = *    # Deployment --- apiVersion: apps\/v1 kind: Deployment metadata:   name: apache-1c spec:   replicas: 1   selector:     matchLabels:       app: apache-1c   template:     metadata:       labels:         app: apache-1c     spec:       hostAliases:         - ip: \"10.101.192.190\"           hostnames:             - ru-rzn-t1capp            containers:         - name: apache-1c           image: docker-images-local-lsus.*.ru\/apache-1c:http           ports:             - containerPort: 80           volumeMounts:             - name: default-vrd               mountPath: \/var\/www\/test_database\/default.vrd               subPath: default.vrd             - name: www-data               mountPath: \/var\/www             - name: krb5-conf               mountPath: \/etc\/krb5.conf               subPath: krb5.conf       volumes:         - name: default-vrd           configMap:             name: default-vrd         - name: www-data           persistentVolumeClaim:             claimName: www-data-pvc         - name: krb5-conf           configMap:             name: krb5-conf ---   # Service apiVersion: v1 kind: Service metadata:   name: apache-1c-service spec:   selector:     app: apache-1c   ports:     - protocol: TCP       port: 80       targetPort: 80   type: ClusterIP --- apiVersion: networking.k8s.io\/v1 kind: Ingress metadata:   name: apache-1c-ingress   annotations:     traefik.ingress.kubernetes.io\/router.entrypoints: websecure     traefik.ingress.kubernetes.io\/router.tls: \"true\"     traefik.ingress.kubernetes.io\/service.serverstransport: insecure-skip-verify@file     traefik.ingress.kubernetes.io\/service.serversscheme: https     traefik.ingress.kubernetes.io\/auth-pass-through: \"true\"     traefik.ingress.kubernetes.io\/auth-response-headers: Authorization spec:   rules:     - host: ru-rzn-tkube01.*.ru       http:         paths:           - path: \/             pathType: Prefix             backend:               service:                 name: apache-1c-service                 port:                   number: 80   tls:     - hosts:         - ru-rzn-tkube01.*.ru       secretName: apache-1c-tls  <\/code><\/pre>\n<p>\u0417\u0430\u043c\u0435\u0447\u0443, \u0447\u0442\u043e .vrd \u0438 krb.conf \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0432 ConfigMaps \u0438 \u043d\u0435 \u0437\u0430\u0431\u044b\u0432\u0430\u0435\u043c \u043f\u0440\u043e\u00a0\u00a0kinit -V -k -t \/etc\/apache2\/apache.keytab HTTP\/ru-rzn-tkube01.* \u00a0\u043e\u0442 \u0438\u043c\u0435\u043d\u0438 usr1cv8, \u043b\u044e\u0431\u044b\u043c, \u0443\u0434\u043e\u0431\u043d\u044b\u043c \u0434\u043b\u044f \u0432\u0430\u0441 \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u043c (exec, init, post\u2026)<\/p>\n<p>\u0412\u0441\u0451 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0438\u0441\u043f\u0440\u0430\u0432\u043d\u043e \u0434\u0432\u0435 \u043d\u0435\u0434\u0435\u043b\u0438 \u043f\u043e\u0434\u0440\u044f\u0434. \u041f\u043e\u0434 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u043e\u0439 \u043f\u043e\u043a\u0430 \u043d\u0435 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043b\u0441\u044f, \u043d\u043e \u0447\u0443\u0432\u0441\u0442\u0432\u0443\u044e, \u0447\u0442\u043e \u0431\u0443\u0434\u0443\u0442 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u043d\u0430 \u043f\u0435\u0440\u0432\u044b\u0445 \u043f\u0430\u0440\u0430\u0445.<\/p>\n<p>\u0421\u043f\u0430\u0441\u0438\u0431\u043e \u0437\u0430 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u0438 \u0436\u0434\u0443 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0435\u0432 \u0443\u0436\u0435 &#171;\u043f\u0440\u043e\u0445\u0430\u0432\u0430\u0432\u0448\u0438\u0445&#187; \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0439 \u043a\u0435\u0439\u0441 \u0441 1\u0421) <\/p>\n<\/div>\n<\/div>\n<\/div>\n<p><!----><!----><\/div>\n<p><!----><!----><br \/> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/articles\/918604\/\"> https:\/\/habr.com\/ru\/articles\/918604\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<figure class=\"full-width\"><\/figure>\n<p>\u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f \u0441\u043e \u0441\u0442\u0440\u0430\u0448\u043d\u043e\u0439 \u0441\u0438\u043b\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 1\u0421, \u0442\u043e \u0441\u043b\u043e\u0436\u0438\u043b\u0438\u0441\u044c \u043d\u0435\u043a\u0438\u0435 \u043d\u0435\u0438\u0437\u043c\u0435\u043d\u043d\u044b\u0435 \u0442\u0440\u0430\u0434\u0438\u0446\u0438\u0438, \u043e\u0434\u043d\u0430 \u0438\u0437 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u2013 \u044d\u0442\u043e \u0432\u0435\u0431-\u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438 1\u0421. \u041f\u043b\u043e\u0434\u044f\u0442\u0441\u044f \u043e\u043d\u0438 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0442\u0430\u043a: 1 \u0418\u0411 (\u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u043e\u043d\u043d\u0430\u044f \u0431\u0430\u0437\u0430) + \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0418\u0411 \u0441 \u0442\u0435\u043c \u0436\u0435 \u0441\u043c\u044b\u0441\u043b\u043e\u043c = 1 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 web(iis)-\u0441\u0435\u0440\u0432\u0435\u0440, \u0430 \u0442\u0430\u043a\u0438\u0445 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439 \u043f\u043e\u043b\u043d\u043e. \u041f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f, \u0447\u0442\u043e \u043f\u043e\u043c\u0438\u043c\u043e \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0439, \u043c\u044b \u0442\u0440\u0430\u0442\u0438\u043c \u043a\u0443\u0447\u0443 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0430 \u0432\u0435\u0431-\u0434\u043e\u0441\u0442\u0443\u043f. \u041f\u043e\u0441\u0442\u0443\u043f\u0438\u043b\u0430 \u0438\u0434\u0435\u044f, \u0447\u0442\u043e \u043f\u043e\u0440\u0430 \u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0442\u044c (\u0430 \u0437\u0430\u043e\u0434\u043d\u043e \u043e\u0442\u043a\u0430\u0437\u043e\u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u043e\u0441\u0442\u044c). \u041f\u043e\u043a\u0430 \u043d\u0430 \u044d\u0442\u0430\u043f\u0435 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u043e\u0432\/\u0442\u0435\u0441\u0442\u043e\u0432.<\/p>\n<p>    \u0421\u0442\u0435\u043a \u043f\u043b\u0430\u043d\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439:<\/p>\n<ul>\n<li>\n<p>\u041e\u0421 \u2013      Ubuntu 22.04<\/p>\n<\/li>\n<li>\n<p>Docker      \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043e\u0431\u0440\u0430\u0437\u0430, \u0441\u043e\u0441\u0442\u043e\u044f\u0449\u0438\u0439 \u0438\u0437:a) \u041f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 Ubuntu 22.04b) Apache +      gssapi \u043c\u043e\u0434\u0443\u043b\u044c \u0434\u043b\u044f SSO) Kerberos \u043f\u043b\u044e\u0448\u043a\u0438<\/p>\n<\/li>\n<li>\n<p>\u0414\u0432\u0430 \u00ab\u0441\u0442\u0435\u043d\u0434\u0431\u0430\u0439 \u043a\u043e\u043d\u0442\u0440\u043e\u043b-\u0443\u0437\u043b\u0430\u00bb k8s \u0432 \u0440\u0430\u0437\u043d\u044b\u0445 \u0426\u041e\u0414\u0430\u0445 \u0434\u043b\u044f \u0433\u0435\u043e\u0440\u0435\u0437\u0435\u0440\u0432\u0430 (bgp-anycast,      haproxy) + ingress.<\/p>\n<\/li>\n<\/ul>\n<p>\u0414\u043e\u043b\u0433\u043e \u0441\u0442\u0440\u0430\u0434\u0430\u043b \u0441 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435\u043c SSO, \u0434\u043e\u0445\u043e\u0434\u0438\u043b\u043e \u0434\u043e \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u043d\u0430\u0447\u0438\u043d\u0430\u043b \u0441\u043e\u043c\u043d\u0435\u0432\u0430\u0442\u044c\u0441\u044f \u0432 \u0440\u0430\u0431\u043e\u0442\u043e\u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u0434\u0430\u043d\u043d\u043e\u0439 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u0432\u0432\u0438\u0434\u0443 \u043f\u043e\u043b\u043e\u043c\u043e\u043a \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u043e\u0432 \u043f\u0440\u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u0432 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0435, \u043d\u0435 \u0433\u043e\u0432\u043e\u0440\u044f \u043e \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u0439 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u0432 Kubernetes \u0438 ingress-\u043f\u0440\u043e\u0441\u043b\u043e\u0439\u043a\u0435. \u041d\u043e \u0440\u0430\u0431\u043e\u0447\u0438\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0432\u0441\u0451-\u0442\u0430\u043a\u0438 \u043f\u043e\u044f\u0432\u0438\u043b\u0441\u044f. \u041d\u0430\u0447\u043d\u0443 \u0441 Dockerfile, \u0441\u043e\u0441\u0442\u0430\u0432 docker-compose \u0432\u044b\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0442\u044c \u043d\u0435 \u0432\u0438\u0436\u0443 \u0441\u043c\u044b\u0441\u043b\u0430, \u0442\u0430\u043c \u0432\u0441\u0451 \u0438\u043d\u0434\u0438\u0432\u0438\u0434\u0443\u0430\u043b\u044c\u043d\u043e:<\/p>\n<pre><code class=\"yaml\">FROM docker-hub-proxy-lsus.*\/ubuntu:22.04  COPY sources.list \/etc\/apt\/sources.list  ENV DEBIAN_FRONTEND=noninteractive \\     PLATFORM_VERSION=83 \\     SERVER_VERSION=8.3.25-1546  # \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439 \u0438 \u043c\u043e\u0434\u0443\u043b\u0435\u0439 Apache RUN echo \"krb5-config krb5-config\/default_realm string *.RU\" | debconf-set-selections &amp;&amp; \\     apt update -o Acquire::https::Verify-Peer=false -o Acquire::https::Verify-Host=false &amp;&amp; \\     apt install -y \\         apache2 \\         krb5-user \\         libapache2-mod-auth-gssapi \\         vim \\         systemctl \\         apt-utils \\         openssl &amp;&amp; \\     a2enmod auth_gssapi  # \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 1\u0421 ADD *.deb \/tmp\/ RUN dpkg -i \/tmp\/1c-enterprise-8.${PLATFORM_VERSION}.${SERVER_VERSION}-*.deb 2&gt;\/dev\/null || true &amp;&amp; \\     rm -f \/tmp\/*.deb  COPY container\/webinst \/usr\/local\/sbin\/webinst #COPY container\/default.vrd \/var\/www\/test_database\/default.vrd \u043d\u0435\u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e, \u0435\u0441\u043b\u0438 \u0432 \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0438\u043c \u0438\u0434\u0435\u043c \u0432 \u043a\u0443\u0431\u0435\u0440 COPY container\/svc_1c3.keytab \/etc\/apache2\/apache.keytab COPY container\/000-default.conf \/etc\/apache2\/sites-enabled\/000-default.conf #COPY container\/krb5.conf \/etc\/krb5.conf \u043d\u0435\u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e, \u0435\u0441\u043b\u0438 \u0432 \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0438\u043c \u0438\u0434\u0435\u043c \u0432 \u043a\u0443\u0431\u0435\u0440  RUN echo \"127.0.0.1 ru-rzn-tkube01.*.ru\" &gt;&gt; \/etc\/hosts &amp;&amp; \\     webinst -publish -apache24 -wsdir web -dir \/var\/www\/test_database \\             -connstr \"Srvr=ru-rzn-t1capp:1541;Ref=web;\" \\             -descriptor \/var\/www\/test_database\/default.vrd CMD [\"apachectl\", \"-D\", \"FOREGROUND\"] <\/code><\/pre>\n<p>\u0421\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u043c\u043e\u043c\u0435\u043d\u0442\u044b: \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u043a\u043e\u043c\u0430\u043d\u0434\u0443 &#171;webinst -publish -apache24\u2026&#187; \u0434\u043b\u044f \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u0438 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f apache2.conf, \u0434\u0430\u043b\u0435\u0435 \u0438\u0434\u0451\u0442 \u0441\u0442\u0440\u043e\u043a\u0430 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043a \u0441\u0435\u0440\u0432\u0435\u0440\u0443 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u043f\u0443\u0442\u044c \u043a \u0434\u0435\u0441\u043a\u0440\u0438\u043f\u0448\u0435\u043d\u0443 (.vrd) \u0438 \u043a\u043e\u043f\u0438\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0430 \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u0441\u0430\u0439\u0442\u0430. \u041f\u043e\u0432\u0442\u043e\u0440\u044e\u0441\u044c, \u0447\u0442\u043e \u0441 SSO \u0431\u044b\u043b\u0438 \u0441\u0435\u0440\u044c\u0435\u0437\u043d\u044b\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b, \u0438 \u0434\u043b\u044f \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0441\u044f \u0432\u043e\u0442 \u0442\u0430\u043a\u043e\u0439 \u043a\u043e\u043d\u0444\u0438\u0433 \u0441\u0430\u0439\u0442\u0430 (\/etc\/apache2\/sites-enabled\/000-default.conf ):<\/p>\n<pre><code class=\"nginx\">&lt;VirtualHost *:80&gt;     ServerName ru-rzn-tkube01.*.ru     DocumentRoot \/var\/www\/test_database      RequestHeader set X-Forwarded-Proto \"https\"     RequestHeader set X-Real-IP \"%{REMOTE_ADDR}s\"     RequestHeader set X-Forwarded-Host \"%{SERVER_NAME}s\"     RequestHeader unset Authorization     RequestHeader set Authorization \"%{HTTP:Authorization}e\"      &lt;Location \/web&gt;         SetHandler 1c-application         ManagedApplicationDescriptor \"\/var\/www\/test_database\/default.vrd\"          AuthType GSSAPI         AuthName \"Kerberos Auth\"         GssapiCredStore keytab:\/etc\/apache2\/apache.keytab         GssapiDelegCcacheDir \/var\/www\/test_database\/tmp         GssapiUseS4U2Proxy On         GssapiImpersonate On         GssapiLocalName On         GssapiAllowedMech krb5         GssapiBasicAuth Off         Require valid-user     &lt;\/Location&gt;      LogLevel auth_gssapi:debug     ErrorLog ${APACHE_LOG_DIR}\/error.log     CustomLog ${APACHE_LOG_DIR}\/access.log combined     LogFormat \"%h %l %u %t \\\"%r\\\" %&gt;s %b \\\"%{Authorization}i\\\"\" authlog     CustomLog ${APACHE_LOG_DIR}\/auth.log authlog &lt;\/VirtualHost&gt;<\/code><\/pre>\n<p>\u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, Apache \u043d\u0443\u0436\u043d\u043e \u0441\u043a\u0430\u0437\u0430\u0442\u044c, \u0447\u0442\u043e\u0431\u044b \u043e\u043d \u0441\u0442\u0430\u0440\u0442\u043e\u0432\u0430\u043b \u043e\u0442 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f usr1cv8 \u0438 \u0433\u0440\u0443\u043f\u043f\u044b grp1cv8 (\u043c\u043e\u0436\u043d\u043e \u0437\u0430\u0434\u0430\u0442\u044c \u0447\u0435\u0440\u0435\u0437 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0438\u043b\u0438 \u0430\u043f\u0434\u0435\u0439\u0442\u043e\u043c apache2.conf), \u043f\u0440\u0430\u0432\u0430 \u043d\u0430 kerberos-\u0442\u0438\u043a\u0435\u0442\u044b \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u044b, \u0438 \u0432\u0438\u0448\u0435\u043d\u043a\u0430 \u043d\u0430 \u0442\u043e\u0440\u0442\u0435 \u2013 \u044d\u0442\u043e \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u0438\u043d\u0438\u0446\u0438\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 Kerberos-\u0431\u0438\u043b\u0435\u0442\u0430 \u043f\u043e\u0441\u043b\u0435 \u0434\u0435\u043f\u043b\u043e\u044f \u043e\u0442 \u0438\u043c\u0435\u043d\u0438 usr1cv8, \u043d\u043e \u0438\u043d\u0438\u0446\u0438\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0443\u0436\u0435 \u043f\u043e\u0441\u043b\u0435 \u043f\u0435\u0440\u0435\u0435\u0437\u0434\u0430.<\/p>\n<p>\u041f\u0435\u0440\u0435\u0435\u0437\u0434 \u0432 Kubernetes. \u00a0\u041b\u043e\u043c\u0430\u0435\u0442\u0441\u044f \u0438\u043d\u0438\u0446\u0438\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 Kerberos-\u0431\u0438\u043b\u0435\u0442\u0430, \u043d\u043e \u044d\u0442\u043e \u0432\u043f\u043e\u043b\u043d\u0435 \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e \u0438 \u043e\u0436\u0438\u0434\u0430\u0435\u043c\u043e. \u041f\u0435\u0440\u0435\u0434 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435\u043c \u043c\u0430\u043d\u0438\u0444\u0435\u0441\u0442\u043e\u0432 \u0441\u0434\u0435\u043b\u0430\u044e \u0442\u0430\u043a: \u0441\u043e\u0437\u0434\u0430\u044e \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044e \/var\/www\/test_database\/tmp \u0438 \u0434\u0430\u044e \u0435\u0439 \u043f\u0440\u0430\u0432\u0430 chown -R 999:1000 \/var\/www\/test_database\/tmp, \u0441\u043e\u0437\u0434\u0430\u044e PVC. \u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438 999 \u0438 1000 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0442 usr1cv8 \u0438 grp1cv8, \u043f\u043e\u0445\u043e\u0436\u0435, \u0447\u0442\u043e \u044d\u0442\u0430 \u0438\u0441\u0442\u043e\u0440\u0438\u044f \u0441 \u043f\u0440\u0430\u0432\u0430\u043c\u0438 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u043f\u0440\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u043d\u0430 Linux.<\/p>\n<p>\u041c\u0430\u043d\u0438\u0444\u0435\u0441\u0442 \u0431\u0435\u0437 PVC \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0442\u0430\u043a:<\/p>\n<pre><code class=\"yaml\"># ConfigMap: default.vrd apiVersion: v1 kind: ConfigMap metadata:   name: default-vrd data:   default.vrd: |     &lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;     &lt;point xmlns=\"http:\/\/v8.1c.ru\/8.2\/virtual-resource-system\"            xmlns:xs=\"http:\/\/www.w3.org\/2001\/XMLSchema\"            xmlns:xsi=\"http:\/\/www.w3.org\/2001\/XMLSchema-instance\"            base=\"\/web\"            ib=\"Srvr=ru-rzn-t1capp.*.ru:1541;Ref=web\"&gt;         &lt;ws pointEnableCommon=\"true\"\/&gt;         &lt;standardOdata enable=\"false\"                        reuseSessions=\"autouse\"                        sessionMaxAge=\"20\"                        poolSize=\"10\"                        poolTimeout=\"5\"\/&gt;         &lt;analytics enable=\"true\"\/&gt;     &lt;\/point&gt;    --- # ConfigMap: krb5.conf  apiVersion: v1 kind: ConfigMap metadata:   name: krb5-conf data:   krb5.conf: |     [libdefaults]       default_realm = *.RU       dns_lookup_realm = false       dns_lookup_kdc = false       ticket_lifetime = 24h       renew_lifetime = 7d       forwardable = true        [realms]       *.RU = {         kdc = ru-dtc-.*.ru         admin_server = ru-dtc-.*.ru       }        [domain_realm]       .*.ru = *       *.ru = *    # Deployment --- apiVersion: apps\/v1 kind: Deployment metadata:   name: apache-1c spec:   replicas: 1   selector:     matchLabels:       app: apache-1c   template:     metadata:       labels:         app: apache-1c     spec:       hostAliases:         - ip: \"10.101.192.190\"           hostnames:             - ru-rzn-t1capp            containers:         - name: apache-1c           image: docker-images-local-lsus.*.ru\/apache-1c:http           ports:             - containerPort: 80           volumeMounts:             - name: default-vrd               mountPath: \/var\/www\/test_database\/default.vrd               subPath: default.vrd             - name: www-data               mountPath: \/var\/www             - name: krb5-conf               mountPath: \/etc\/krb5.conf               subPath: krb5.conf       volumes:         - name: default-vrd           configMap:             name: default-vrd         - name: www-data           persistentVolumeClaim:             claimName: www-data-pvc         - name: krb5-conf           configMap:             name: krb5-conf ---   # Service apiVersion: v1 kind: Service metadata:   name: apache-1c-service spec:   selector:     app: apache-1c   ports:     - protocol: TCP       port: 80       targetPort: 80   type: ClusterIP --- apiVersion: networking.k8s.io\/v1 kind: Ingress metadata:   name: apache-1c-ingress   annotations:     traefik.ingress.kubernetes.io\/router.entrypoints: websecure     traefik.ingress.kubernetes.io\/router.tls: \"true\"     traefik.ingress.kubernetes.io\/service.serverstransport: insecure-skip-verify@file     traefik.ingress.kubernetes.io\/service.serversscheme: https     traefik.ingress.kubernetes.io\/auth-pass-through: \"true\"     traefik.ingress.kubernetes.io\/auth-response-headers: Authorization spec:   rules:     - host: ru-rzn-tkube01.*.ru       http:         paths:           - path: \/             pathType: Prefix             backend:               service:                 name: apache-1c-service                 port:                   number: 80   tls:     - hosts:         - ru-rzn-tkube01.*.ru       secretName: apache-1c-tls  <\/code><\/pre>\n<p>\u0417\u0430\u043c\u0435\u0447\u0443, \u0447\u0442\u043e .vrd \u0438 krb.conf \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0432 ConfigMaps \u0438 \u043d\u0435 \u0437\u0430\u0431\u044b\u0432\u0430\u0435\u043c \u043f\u0440\u043e\u00a0\u00a0kinit -V -k -t \/etc\/apache2\/apache.keytab HTTP\/ru-rzn-tkube01.* \u00a0\u043e\u0442 \u0438\u043c\u0435\u043d\u0438 usr1cv8, \u043b\u044e\u0431\u044b\u043c, \u0443\u0434\u043e\u0431\u043d\u044b\u043c \u0434\u043b\u044f \u0432\u0430\u0441 \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u043c (exec, init, post\u2026)<\/p>\n<p>\u0412\u0441\u0451 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0438\u0441\u043f\u0440\u0430\u0432\u043d\u043e \u0434\u0432\u0435 \u043d\u0435\u0434\u0435\u043b\u0438 \u043f\u043e\u0434\u0440\u044f\u0434. \u041f\u043e\u0434 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u043e\u0439 \u043f\u043e\u043a\u0430 \u043d\u0435 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043b\u0441\u044f, \u043d\u043e \u0447\u0443\u0432\u0441\u0442\u0432\u0443\u044e, \u0447\u0442\u043e \u0431\u0443\u0434\u0443\u0442 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u043d\u0430 \u043f\u0435\u0440\u0432\u044b\u0445 \u043f\u0430\u0440\u0430\u0445.<\/p>\n<p>\u0421\u043f\u0430\u0441\u0438\u0431\u043e \u0437\u0430 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u0438 \u0436\u0434\u0443 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0435\u0432 \u0443\u0436\u0435 &#171;\u043f\u0440\u043e\u0445\u0430\u0432\u0430\u0432\u0448\u0438\u0445&#187; \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0439 \u043a\u0435\u0439\u0441 \u0441 1\u0421) <\/p>\n<\/div>\n<\/div>\n<\/div>\n<p><!----><!----><\/div>\n<p><!----><!----><br \/> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/articles\/918604\/\"> https:\/\/habr.com\/ru\/articles\/918604\/<\/a><br \/><\/br><\/br><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-463493","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/463493","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=463493"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/463493\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=463493"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=463493"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=463493"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}