{"id":26393,"date":"2026-07-08T02:29:24","date_gmt":"2026-07-08T02:29:24","guid":{"rendered":"https:\/\/umang.pk\/2026\/07\/08\/spiffe%d8%8c-spire%d8%8c-%d8%a7%d9%88%d8%b1-cilium-%da%a9%d8%a7-%d8%a7%d8%b3%d8%aa%d8%b9%d9%85%d8%a7%d9%84-%da%a9%d8%b1%d8%aa%db%92-%db%81%d9%88%d8%a6%db%92-kubernetes-%d9%be%d8%b1-%d8%b2%db%8c%d8%b1\/"},"modified":"2026-07-08T02:29:26","modified_gmt":"2026-07-08T02:29:26","slug":"spiffe%d8%8c-spire%d8%8c-%d8%a7%d9%88%d8%b1-cilium-%da%a9%d8%a7-%d8%a7%d8%b3%d8%aa%d8%b9%d9%85%d8%a7%d9%84-%da%a9%d8%b1%d8%aa%db%92-%db%81%d9%88%d8%a6%db%92-kubernetes-%d9%be%d8%b1-%d8%b2%db%8c%d8%b1","status":"publish","type":"post","link":"https:\/\/umang.pk\/ur\/2026\/07\/08\/spiffe%d8%8c-spire%d8%8c-%d8%a7%d9%88%d8%b1-cilium-%da%a9%d8%a7-%d8%a7%d8%b3%d8%aa%d8%b9%d9%85%d8%a7%d9%84-%da%a9%d8%b1%d8%aa%db%92-%db%81%d9%88%d8%a6%db%92-kubernetes-%d9%be%d8%b1-%d8%b2%db%8c%d8%b1\/","title":{"rendered":"SPIFFE\u060c SPIRE\u060c \u0627\u0648\u0631 Cilium \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u0648\u0626\u06d2 Kubernetes \u067e\u0631 \u0632\u06cc\u0631\u0648 \u0679\u0631\u0633\u0679 \u0648\u0631\u06a9 \u0628\u0648\u062c\u06be \u06a9\u06cc \u0634\u0646\u0627\u062e\u062a \u06a9\u0648 \u06a9\u06cc\u0633\u06d2 \u0646\u0627\u0641\u0630 \u06a9\u06cc\u0627 \u062c\u0627\u0626\u06d2"},"content":{"rendered":"\n<div id=\"\">\n<p>\u0646\u06cc\u0679 \u0648\u0631\u06a9 \u06a9\u06cc \u067e\u0627\u0644\u06cc\u0633\u06cc \u062f\u0631\u062c \u0630\u06cc\u0644 \u0679\u0631\u06cc\u0641\u06a9 \u06a9\u06cc \u0627\u062c\u0627\u0632\u062a \u062f\u06cc\u062a\u06cc \u06c1\u06d2: <code>10.0.1.45<\/code>.<\/p>\n<p>\u06a9\u0644\u060c <code>10.0.1.45<\/code> \u06cc\u06c1 \u0622\u067e \u06a9\u06cc \u0627\u062f\u0627\u0626\u06cc\u06af\u06cc \u06a9\u06cc \u062e\u062f\u0645\u062a \u062a\u06be\u06cc\u06d4 \u0645\u0648\u062c\u0648\u062f\u06c1 \u0631\u0648\u0644\u0646\u06af \u062a\u0639\u06cc\u0646\u0627\u062a\u06cc \u06a9\u06d2 \u0628\u0639\u062f\u060c \u06cc\u06c1 \u0644\u0627\u06af\u0646\u06af \u0627\u06cc\u062c\u0646\u0679 \u0628\u0646 \u062c\u0627\u0626\u06d2 \u06af\u0627\u06d4 \u0622\u067e \u06a9\u06cc \u0627\u062f\u0627\u0626\u06cc\u06af\u06cc \u06a9\u06cc \u062e\u062f\u0645\u062a \u0641\u06cc \u0627\u0644\u062d\u0627\u0644 \u06c1\u06d2\u06d4 <code>10.0.1.89<\/code>.<\/p>\n<p>Kubernetes \u0646\u06d2 \u067e\u06c1\u0644\u06d2 \u06c1\u06cc \u062a\u0645\u0627\u0645 \u0627\u06cc\u0646\u0688 \u067e\u0648\u0627\u0626\u0646\u0679\u0633 \u0627\u0648\u0631 \u0633\u0631\u0648\u0633 \u0631\u06cc\u06a9\u0627\u0631\u0688\u0632 \u06a9\u0648 \u0627\u067e \u0688\u06cc\u0679 \u06a9\u0631 \u062f\u06cc\u0627 \u06c1\u06d2\u060c \u0644\u06cc\u06a9\u0646 \u0646\u06cc\u0679 \u0648\u0631\u06a9 \u06a9\u06cc \u067e\u0627\u0644\u06cc\u0633\u06cc\u0648\u06ba \u06a9\u0627 \u06a9\u0648\u0626\u06cc \u0639\u0644\u0645 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4 \u062e\u0648\u062f\u06a9\u0627\u0631 \u0637\u0648\u0631 \u067e\u0631 IP \u067e\u062a\u0648\u06ba \u067e\u0631 \u0645\u0628\u0646\u06cc \u0679\u0631\u06cc\u0641\u06a9 \u06a9\u06cc \u0627\u062c\u0627\u0632\u062a \u062f\u06cc\u062a\u0627 \u06c1\u06d2 \u062c\u0648 \u0627\u0628 \u0627\u0633 \u06a9\u0627\u0645 \u06a9\u06d2 \u0628\u0648\u062c\u06be \u0633\u06d2 \u062a\u0639\u0644\u0642 \u0646\u06c1\u06cc\u06ba \u0631\u06a9\u06be\u062a\u06d2 \u062c\u0633 \u067e\u0631 \u0622\u067e \u0628\u06be\u0631\u0648\u0633\u06c1 \u06a9\u0631\u0646\u0627 \u0686\u0627\u06c1\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u06cc\u06c1 \u06a9\u0627\u0645 \u06a9\u06d2 \u0628\u0648\u062c\u06be \u06a9\u06cc \u0634\u0646\u0627\u062e\u062a \u06a9\u0627 \u0645\u0633\u0626\u0644\u06c1 \u06c1\u06d2\u06d4 \u0622\u067e \u06a9\u0627 IP \u067e\u062a\u06c1 \u0622\u067e \u06a9\u0627 \u0645\u0642\u0627\u0645 \u06c1\u06d2\u060c \u0622\u067e \u06a9\u06cc \u0634\u0646\u0627\u062e\u062a \u0646\u06c1\u06cc\u06ba\u06d4 \u0627\u0648\u0631 Kubernetes \u06a9\u0644\u0633\u0679\u0631\u0632 \u0645\u06cc\u06ba\u060c \u0645\u0642\u0627\u0645 \u0645\u0633\u0644\u0633\u0644 \u0628\u062f\u0644\u062a\u0627 \u0631\u06c1\u062a\u0627 \u06c1\u06d2\u06d4 \u0622\u0626\u06cc \u067e\u06cc \u0627\u06cc\u0688\u0631\u06cc\u0633\u0632 \u06a9\u06d2 \u0627\u0648\u067e\u0631 \u0633\u06cc\u06a9\u06cc\u0648\u0631\u0679\u06cc \u067e\u0627\u0644\u06cc\u0633\u06cc\u0627\u06ba \u0628\u0646\u0627\u0646\u06d2 \u0633\u06d2\u060c \u062c\u0628 \u0628\u06be\u06cc \u06a9\u0648\u0626\u06cc \u067e\u0648\u0688 \u0634\u06cc\u0688\u0648\u0644\u060c \u0631\u06cc \u0634\u06cc\u0688\u0648\u0644\u060c \u06cc\u0627 \u0628\u0691\u06be\u0627\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2 \u062a\u0648 \u0622\u067e \u06a9\u06cc \u0633\u06cc\u06a9\u06cc\u0648\u0631\u0679\u06cc \u067e\u0648\u0632\u06cc\u0634\u0646 \u062e\u0648\u062f \u0628\u062e\u0648\u062f \u06af\u0631 \u062c\u0627\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<p>\u062c\u0648\u0627\u0628 \u06a9\u0631\u067e\u0679\u0648\u06af\u0631\u0627\u0641\u06a9 \u0648\u0631\u06a9 \u0644\u0648\u0688 \u0622\u0626\u06cc\u0688\u06cc\u0646\u0679\u06cc\u0679\u06cc \u06c1\u06d2\u06d4 \u06c1\u0631 \u06a9\u0627\u0645 \u06a9\u06d2 \u0628\u0648\u062c\u06be \u06a9\u0648 \u0633\u0631\u0679\u06cc\u0641\u06a9\u06cc\u0679 \u06a9\u06cc \u062d\u0645\u0627\u06cc\u062a \u06cc\u0627\u0641\u062a\u06c1 \u0634\u0646\u0627\u062e\u062a \u0645\u0644\u062a\u06cc \u06c1\u06d2 \u062c\u0648 \u062b\u0627\u0628\u062a \u06a9\u0631\u062a\u06cc \u06c1\u06d2 \u06a9\u06c1 \u0648\u06c1 \u06a9\u0648\u0646 \u06c1\u06cc\u06ba\u060c \u0646\u06c1 \u06a9\u06c1 \u0648\u06c1 \u06a9\u06c1\u0627\u06ba \u06c1\u06cc\u06ba\u06d4 \u0633\u0631\u0648\u0633\u0632 \u0688\u06cc\u0679\u0627 \u06a9\u06d2 \u062a\u0628\u0627\u062f\u0644\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u0627\u06cc\u06a9 \u062f\u0648\u0633\u0631\u06d2 \u06a9\u06cc \u062a\u0635\u062f\u06cc\u0642 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u067e\u0646\u06d2 \u0633\u0631\u0679\u06cc\u0641\u06a9\u06cc\u0679 \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06cc \u06c1\u06cc\u06ba\u06d4 \u0627\u06af\u0631 \u0633\u0631\u0679\u06cc\u0641\u06a9\u06cc\u0679 \u0645\u0645\u0627\u062b\u0644 \u0646\u06c1\u06cc\u06ba \u06c1\u0648\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u062a\u0648 \u06a9\u0646\u06a9\u0634\u0646 \u0627\u0633 \u06a9\u06d2 IP \u0627\u06cc\u0688\u0631\u06cc\u0633 \u0633\u06d2 \u0642\u0637\u0639 \u0646\u0638\u0631 \u0645\u0633\u062a\u0631\u062f \u06a9\u0631 \u062f\u06cc\u0627 \u062c\u0627\u0626\u06d2 \u06af\u0627\u06d4<\/p>\n<p>\u06cc\u06c1 \u0648\u06c1\u06cc \u06c1\u06d2 \u062c\u0648 SPIFFE \u0627\u0648\u0631 SPIRE \u067e\u06cc\u0634 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0627\u0633 \u0637\u0631\u062d Cilium eBPF \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u0648\u0626\u06d2 \u06c1\u0631 \u067e\u0648\u0688 \u0645\u06cc\u06ba \u0633\u0627\u0626\u06cc\u0688 \u06a9\u0627\u0631 \u06a9\u0648 \u0627\u0646\u062c\u06cc\u06a9\u0634\u0646 \u0644\u06af\u0627\u0626\u06d2 \u0628\u063a\u06cc\u0631 \u0627\u0633\u06d2 \u0646\u0627\u0641\u0630 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u0633 \u0622\u0631\u0679\u06cc\u06a9\u0644 \u0645\u06cc\u06ba\u060c \u0622\u067e \u0633\u0645\u062c\u06be\u06cc\u06ba \u06af\u06d2 \u06a9\u06c1 SPIFFE \u0634\u0646\u0627\u062e\u062a\u06cc \u0645\u0627\u0688\u0644 \u06a9\u0633 \u0637\u0631\u062d \u06a9\u0627\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u060c \u0627\u067e\u0646\u06d2 \u06a9\u0627\u0645 \u06a9\u06d2 \u0628\u0648\u062c\u06be \u067e\u0631 \u062e\u0641\u06cc\u06c1 \u0634\u0646\u0627\u062e\u062a \u062c\u0627\u0631\u06cc \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 SPIRE \u06a9\u0648 \u06a9\u06cc\u0633\u06d2 \u062a\u0639\u06cc\u0646\u0627\u062a \u06a9\u06cc\u0627 \u062c\u0627\u0626\u06d2\u060c \u0627\u0648\u0631 \u0622\u067e \u06a9\u06d2 \u0627\u06cc\u067e\u0644\u06cc\u06a9\u06cc\u0634\u0646 \u06a9\u0648\u0688 \u06a9\u0648 \u0686\u06be\u0648\u0626\u06d2 \u0628\u063a\u06cc\u0631 \u062e\u062f\u0645\u0627\u062a \u06a9\u06d2 \u062f\u0631\u0645\u06cc\u0627\u0646 \u0628\u0627\u06c1\u0645\u06cc TLS \u06a9\u0648 \u0646\u0627\u0641\u0630 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 Cilium \u06a9\u06d2 \u0628\u0644\u0679 \u0627\u0646 SPIRE \u0627\u0646\u0679\u06cc\u06af\u0631\u06cc\u0634\u0646 \u06a9\u0648 \u06a9\u06cc\u0633\u06d2 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u06cc\u0627 \u062c\u0627\u0626\u06d2\u06d4<\/p>\n<h2 id=\"heading-prerequisites\">\u0634\u0631\u0637\u06cc\u06ba<\/h2>\n<ul>\n<li>\n<p>Kubernetes RBAC \u0627\u0648\u0631 \u067e\u0648\u0688 \u0633\u06cc\u06a9\u06cc\u0648\u0631\u0679\u06cc \u0633\u06d2 \u0648\u0627\u0642\u0641\u06cc\u062a &#8211; \u06cc\u06c1 \u06c1\u06cc\u0646\u0688 \u0628\u06a9 \u0628\u0646\u06cc\u0627\u062f\u06cc \u0628\u0627\u062a\u0648\u06ba \u06a9\u0627 \u0627\u062d\u0627\u0637\u06c1 \u06a9\u0631\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<\/li>\n<li>\n<p>TLS \u0633\u0631\u0679\u06cc\u0641\u06a9\u06cc\u0679\u0633 \u0627\u0648\u0631 Kubernetes \u06a9\u06d2 \u0631\u0627\u0632\u0648\u06ba \u0633\u06d2 \u0627\u067e\u0646\u06d2 \u0622\u067e \u06a9\u0648 \u0648\u0627\u0642\u0641 \u06a9\u0631\u06cc\u06ba &#8211; \u06cc\u06c1 \u06c1\u06cc\u0646\u0688 \u0628\u06a9 \u0633\u0631\u0679\u06cc\u0641\u06a9\u06cc\u0679 \u0645\u06cc\u0646\u06cc\u062c\u0631\u0632 \u0627\u0648\u0631 \u0633\u0631\u0679\u06cc\u0641\u06a9\u06cc\u0679 \u06a9\u06d2 \u062a\u0635\u0648\u0631\u0627\u062a \u06a9\u0627 \u0627\u062d\u0627\u0637\u06c1 \u06a9\u0631\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<\/li>\n<li>\n<p>Helm 3 \u0627\u0648\u0631 Cilium CLI \u0627\u0646\u0633\u0679\u0627\u0644 \u06a9\u0631\u06cc\u06ba\u06d4<\/p>\n<\/li>\n<li>\n<p>\u062f\u0648\u0633\u062a\u0627\u0646\u06c1 \u06a9\u0644\u0633\u0679\u0631 \u2014 \u0627\u0633 \u0645\u0636\u0645\u0648\u0646 \u0645\u06cc\u06ba\u060c \u06c1\u0645 CLI \u06a9\u0648 \u0628\u0637\u0648\u0631 CNI \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u0648\u0626\u06d2 \u0627\u06cc\u06a9 \u0646\u06cc\u0627 \u06a9\u0644\u0633\u0679\u0631 \u0628\u0646\u0627\u0626\u06cc\u06ba \u06af\u06d2\u06d4<\/p>\n<\/li>\n<li>\n<p>\u0635\u0628\u0631: \u06cc\u06c1 \u0633\u0628 \u0633\u06d2 \u067e\u06cc\u0686\u06cc\u062f\u06c1 \u0688\u06cc\u0645\u0648 \u06c1\u06d2 \u062c\u0633 \u06a9\u0627 \u0645\u06cc\u06ba \u0646\u06d2 \u0645\u0636\u0627\u0645\u06cc\u0646 \u06a9\u06d2 \u0627\u0633 \u06af\u0631\u0648\u067e \u0645\u06cc\u06ba \u0627\u062d\u0627\u0637\u06c1 \u06a9\u06cc\u0627 \u06c1\u06d2\u06d4 SPIRE \u0645\u06cc\u06ba \u06a9\u0633\u06cc \u0628\u06be\u06cc \u0686\u06cc\u0632 \u0633\u06d2 \u0632\u06cc\u0627\u062f\u06c1 \u0645\u062a\u062d\u0631\u06a9 \u062d\u0635\u06d2 \u06c1\u06cc\u06ba \u062c\u0648 \u06c1\u0645 \u0646\u06d2 \u0627\u0628 \u062a\u06a9 \u06a9\u0648\u0631 \u06a9\u06cc\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<\/li>\n<\/ul>\n<p>\u062a\u0645\u0627\u0645 \u0688\u06cc\u0645\u0648 \u0641\u0627\u0626\u0644\u06cc\u06ba \u0633\u0627\u062a\u06be \u0648\u0627\u0644\u06d2 GitHub \u0631\u06cc\u067e\u0648\u0632\u0679\u0631\u06cc \u0645\u06cc\u06ba \u06c1\u06cc\u06ba\u06d4<\/p>\n<h2 id=\"heading-table-of-contents\">\u0627\u0646\u0688\u06cc\u06a9\u0633<\/h2>\n<h2 id=\"heading-the-workload-identity-problem\">\u06a9\u0627\u0645 \u06a9\u06d2 \u0628\u0648\u062c\u06be \u06a9\u06cc \u0634\u0646\u0627\u062e\u062a \u06a9\u06d2 \u0645\u0633\u0627\u0626\u0644<\/h2>\n<p>\u0627\u0641\u062a\u062a\u0627\u062d\u06cc \u0645\u0646\u0638\u0631 \u0646\u0627\u0645\u06c1 \u0646\u0638\u0631\u06cc\u0627\u062a\u06cc \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4 Kubernetes \u0645\u06cc\u06ba\u060c pods \u0639\u0627\u0631\u0636\u06cc \u06c1\u06cc\u06ba. \u0634\u06cc\u0688\u06cc\u0648\u0644\u0631 \u06a9\u0633\u06cc \u0628\u06be\u06cc \u0646\u0648\u0688 \u067e\u0631 \u067e\u0648\u0688 \u0631\u06a9\u06be \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u060c \u0627\u0648\u0631 \u067e\u0648\u0688 \u06a9\u0627 \u0622\u0626\u06cc \u067e\u06cc \u0627\u06cc\u0688\u0631\u06cc\u0633 \u0634\u06cc\u0688\u0648\u0644\u0646\u06af \u06a9\u06d2 \u0648\u0642\u062a \u0646\u0648\u0688 \u06a9\u06d2 \u0622\u0626\u06cc \u067e\u06cc \u067e\u0648\u0644 \u0633\u06d2 \u062a\u0641\u0648\u06cc\u0636 \u06a9\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u062c\u0628 \u06a9\u0633\u06cc \u067e\u0648\u0688 \u06a9\u0648 \u0631\u0648\u0644\u0646\u06af \u062a\u0639\u06cc\u0646\u0627\u062a\u06cc\u060c \u0646\u0648\u0688 \u0688\u0631\u06cc\u0646\u060c \u06cc\u0627 \u0622\u0679\u0648 \u0627\u0633\u06a9\u06cc\u0644 \u0627\u06cc\u0648\u0646\u0679 \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u062d\u0630\u0641 \u0627\u0648\u0631 \u062f\u0648\u0628\u0627\u0631\u06c1 \u0628\u0646\u0627\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u060c \u062a\u0648 \u06cc\u06c1 \u0627\u06cc\u06a9 \u0646\u06cc\u0627 IP \u0627\u06cc\u0688\u0631\u06cc\u0633 \u062d\u0627\u0635\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u06af\u0631 \u0622\u067e \u0646\u06d2 \u0627\u06cc\u06a9 \u0646\u06cc\u0679 \u0648\u0631\u06a9 \u067e\u0627\u0644\u06cc\u0633\u06cc \u0644\u06a9\u06be\u06cc \u06c1\u06d2 \u062c\u0633 \u0645\u06cc\u06ba \u0644\u06a9\u06be\u0627 \u06c1\u06d2 \u06a9\u06c1 &quot;\u0627\u0633 \u0622\u0626\u06cc \u067e\u06cc \u0633\u06d2 \u0679\u0631\u06cc\u0641\u06a9 \u06a9\u06cc \u0627\u062c\u0627\u0632\u062a \u062f\u06cc\u06ba&#8221;\u060c \u062a\u0648 \u0648\u06c1 \u067e\u0627\u0644\u06cc\u0633\u06cc \u0627\u0628 \u06a9\u0686\u06be \u0628\u06be\u06cc \u0646\u06c1\u06cc\u06ba\u060c \u06cc\u0627 \u0627\u0633 \u0633\u06d2 \u0628\u06be\u06cc \u0628\u062f\u062a\u0631\u060c \u0627\u06cc\u06a9 \u0645\u062e\u062a\u0644\u0641 \u06a9\u0627\u0645 \u06a9\u06d2 \u0628\u0648\u062c\u06be \u06a9\u06cc \u0637\u0631\u0641 \u0627\u0634\u0627\u0631\u06c1 \u06a9\u0631\u06d2 \u06af\u06cc\u06d4<\/p>\n<p>Kubernetes \u0633\u0631\u0648\u0633 \u06a9\u06d2 \u0646\u0627\u0645 \u06cc\u06c1\u0627\u06ba \u0645\u0634\u0631\u0642 \u0648 \u0645\u063a\u0631\u0628 \u06a9\u06cc \u0679\u0631\u06cc\u0641\u06a9 \u0645\u06cc\u06ba \u0645\u062f\u062f \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0633\u0631\u0648\u0633 \u06a9\u06d2 \u0646\u0627\u0645\u0648\u06ba \u06a9\u0648 \u0645\u0633\u062a\u0642\u0644 \u0637\u0648\u0631 \u067e\u0631 \u062d\u0644 \u06a9\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2 \u0627\u0633 \u0633\u06d2 \u0642\u0637\u0639 \u0646\u0638\u0631 \u06a9\u06c1 \u06a9\u0648\u0646 \u0633\u0627 \u067e\u0648\u0688 \u0627\u0646 \u06a9\u06cc \u062d\u0645\u0627\u06cc\u062a \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u062a\u0627\u06c1\u0645\u060c \u0633\u0631\u0648\u0633 \u06a9\u06d2 \u0646\u0627\u0645 \u067e\u0631 \u0645\u0628\u0646\u06cc \u0646\u06cc\u0679 \u0648\u0631\u06a9 \u067e\u0627\u0644\u06cc\u0633\u06cc \u0627\u0628 \u0628\u06be\u06cc \u0627\u06cc\u06a9 \u06a9\u0631\u067e\u0679\u0648\u06af\u0631\u0627\u0641\u06a9 \u062f\u0639\u0648\u06d2 \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2 \u0644\u06cc\u0628\u0644 \u0633\u0644\u06cc\u06a9\u0679\u0631 \u0645\u06cc\u0686 \u06c1\u06d2\u06d4 \u06a9\u0648\u0626\u06cc \u0628\u06be\u06cc \u067e\u0648\u0688 \u062c\u0648 \u0635\u062d\u06cc\u062d \u0644\u06cc\u0628\u0644 \u06a9\u0648 \u062f\u06be\u0648\u06a9\u06c1 \u062f\u06d2 \u0633\u06a9\u062a\u0627 \u06c1\u06d2 \u0648\u06c1 \u0627\u0633\u06d2 \u0646\u0638\u0631\u0627\u0646\u062f\u0627\u0632 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0642\u0627\u0628\u0644 \u06c1\u0648\u06af\u0627\u06d4<\/p>\n<p>\u0622\u067e \u0648\u0627\u0642\u0639\u06cc \u06a9\u06cc\u0627 \u0686\u0627\u06c1\u062a\u06d2 \u06c1\u06cc\u06ba \u06a9\u06c1 \u0633\u0631\u0648\u0633 B \u06a9\u0648 \u062e\u0641\u06cc\u06c1 \u0637\u0648\u0631 \u067e\u0631 \u0627\u067e\u0646\u06cc \u0634\u0646\u0627\u062e\u062a \u062b\u0627\u0628\u062a \u06a9\u0631\u0646\u0627 \u06c1\u06d2 \u0627\u0633 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u06a9\u06c1 \u0633\u0631\u0648\u0633 A \u0633\u0631\u0648\u0633 B \u06a9\u0648 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0628\u06be\u06cc\u062c\u06d2\u06d4 \u0627\u06af\u0631 \u0633\u0631\u0648\u0633 B \u06cc\u06c1 \u062b\u0627\u0628\u062a \u0646\u06c1\u06cc\u06ba \u06a9\u0631 \u0633\u06a9\u062a\u0627 \u06a9\u06c1 \u0648\u06c1 \u0648\u06c1\u06cc \u06c1\u06cc\u06ba \u062c\u0633 \u06a9\u0627 \u0648\u06c1 \u062f\u0639\u0648\u06cc\u0670 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u0633\u0631\u0648\u0633 A \u06a9\u0646\u06a9\u0634\u0646 \u0633\u06d2 \u0627\u0646\u06a9\u0627\u0631 \u06a9\u0631 \u062f\u06d2 \u06af\u06cc\u06d4 \u06cc\u06c1 \u0628\u0627\u06c1\u0645\u06cc TLS \u06c1\u06d2 \u0627\u0648\u0631 \u0627\u06c1\u0645 \u0633\u0648\u0627\u0644 \u06cc\u06c1 \u06c1\u06d2 \u06a9\u06c1 \u0634\u0646\u0627\u062e\u062a \u06a9\u06c1\u0627\u06ba \u0633\u06d2 \u0622\u062a\u06cc \u06c1\u06d2\u061f<\/p>\n<p>SPIFFE \u0627\u0633 \u0633\u0648\u0627\u0644 \u06a9\u0627 \u062c\u0648\u0627\u0628 \u062f\u06cc\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<h2 id=\"heading-how-spiffe-works\">SPIFFE \u06a9\u06cc\u0633\u06d2 \u06a9\u0627\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/h2>\n<p>SPIFFE (Secure Production Identity Framework for everyone) \u0627\u06cc\u06a9 CNCF \u0645\u0639\u06cc\u0627\u0631 \u06c1\u06d2 \u062c\u0648 \u06a9\u0627\u0645 \u06a9\u06d2 \u0628\u0648\u062c\u06be \u06a9\u06cc \u0634\u0646\u0627\u062e\u062a \u06a9\u06d2 \u0645\u0627\u0688\u0644 \u06a9\u06cc \u0648\u0636\u0627\u062d\u062a \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u0628\u0630\u0627\u062a \u062e\u0648\u062f \u06cc\u06c1 \u06a9\u0686\u06be \u0628\u06be\u06cc \u0646\u0627\u0641\u0630 \u0646\u06c1\u06cc\u06ba \u06a9\u0631\u062a\u0627\u06d4 \u06cc\u06c1 \u0634\u0646\u0627\u062e\u062a\u06cc \u0641\u0627\u0631\u0645\u06cc\u0679\u060c \u0627\u0633 \u06a9\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 API\u060c \u0627\u0648\u0631 \u0679\u0631\u0633\u0679 \u0645\u0627\u0688\u0644 \u06a9\u06cc \u0648\u0636\u0627\u062d\u062a \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u062c\u0648 \u062e\u062f\u0645\u0627\u062a\u060c \u06a9\u0644\u0633\u0679\u0631\u0632 \u0627\u0648\u0631 \u06a9\u0644\u0627\u0624\u0688\u0632 \u0645\u06cc\u06ba \u0634\u0646\u0627\u062e\u062a \u06a9\u0648 \u0642\u0627\u0628\u0644 \u062a\u0635\u062f\u06cc\u0642 \u0628\u0646\u0627\u062a\u0627 \u06c1\u06d2\u06d4 SPIRE \u0627\u0633 \u062a\u0635\u0631\u06cc\u062d \u06a9\u0627 \u062d\u0648\u0627\u0644\u06c1 \u0646\u0641\u0627\u0630 \u06c1\u06d2\u06d4<\/p>\n<h3 id=\"heading-spiffe-ids-and-trust-domains\">SPIFFE \u0634\u0646\u0627\u062e\u062a \u0627\u0648\u0631 \u0627\u0639\u062a\u0645\u0627\u062f \u06a9\u0627 \u0688\u0648\u0645\u06cc\u0646<\/h3>\n<p>\u0627\u06cc\u06a9 SPIFFE ID \u0627\u06cc\u06a9 \u0645\u062e\u0635\u0648\u0635 \u0641\u0627\u0631\u0645\u06cc\u0679 \u0645\u06cc\u06ba URI \u06c1\u06d2\u06d4<\/p>\n<pre><code class=\"language-plaintext\">spiffe:\/\/<trust-domain>\/<workload-path>\n<\/workload-path><\/trust-domain><\/code><\/pre>\n<p>\u0679\u0631\u0633\u0679 \u0688\u0648\u0645\u06cc\u0646 \u0627\u06cc\u06a9 \u0633\u0679\u0631\u0646\u06af \u06c1\u06d2 \u062c\u0648 \u0627\u06cc\u06a9 \u0627\u0646\u062a\u0638\u0627\u0645\u06cc \u062d\u062f (\u0639\u0627\u0645 \u0637\u0648\u0631 \u067e\u0631 \u0627\u06cc\u06a9 \u062a\u0646\u0638\u06cc\u0645\u060c \u06a9\u0644\u0633\u0679\u0631\u060c \u06cc\u0627 \u0645\u0627\u062d\u0648\u0644) \u06a9\u06cc \u0646\u0634\u0627\u0646\u062f\u06c1\u06cc \u06a9\u0631\u062a\u06cc \u06c1\u06d2\u06d4 \u0627\u06cc\u06a9 \u06c1\u06cc \u0679\u0631\u0633\u0679 \u0688\u0648\u0645\u06cc\u0646 \u06a9\u06d2 \u0627\u0646\u062f\u0631 \u06c1\u0631 \u0686\u06cc\u0632 \u0627\u06cc\u06a9 \u062f\u0648\u0633\u0631\u06d2 \u06a9\u06cc \u0634\u0646\u0627\u062e\u062a \u06a9\u06cc \u062a\u0635\u062f\u06cc\u0642 \u06a9\u0631 \u0633\u06a9\u062a\u06cc \u06c1\u06d2\u06d4 \u0645\u062e\u062a\u0644\u0641 \u0679\u0631\u0633\u0679 \u0688\u0648\u0645\u06cc\u0646\u0632 \u0633\u06d2 \u0634\u0646\u0627\u062e\u062a \u06a9\u06d2 \u0644\u06cc\u06d2 \u0648\u0627\u0636\u062d \u0641\u06cc\u0688\u0631\u06cc\u0634\u0646 \u06a9\u0646\u0641\u06cc\u06af\u0631\u06cc\u0634\u0646 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u0648\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<p>\u06a9\u0686\u06be \u0645\u062e\u0635\u0648\u0635 \u0645\u062b\u0627\u0644\u06cc\u06ba:<\/p>\n<pre><code class=\"language-plaintext\">spiffe:\/\/payments.corp\/ns\/production\/sa\/checkout\nspiffe:\/\/analytics.corp\/ns\/data\/sa\/pipeline-worker\nspiffe:\/\/cluster.local\/ns\/monitoring\/sa\/prometheus\n<\/code><\/pre>\n<p>\u0679\u0631\u0633\u0679 \u0688\u0648\u0645\u06cc\u0646 \u06a9\u06d2 \u067e\u06cc\u0686\u06be\u06d2 \u06a9\u0627 \u0631\u0627\u0633\u062a\u06c1 \u0628\u06d2 \u062a\u0631\u062a\u06cc\u0628 \u06c1\u06d2\u06d4 \u0627\u0633 \u06a9\u06cc \u0648\u0636\u0627\u062d\u062a SPIRE \u06a9\u0646\u0641\u06cc\u06af\u0631\u06cc\u0634\u0646 \u0633\u06d2 \u06c1\u0648\u062a\u06cc \u06c1\u06d2 \u0627\u0648\u0631 \u0639\u0627\u0645 \u0637\u0648\u0631 \u067e\u0631 \u06a9\u0627\u0645 \u06a9\u06d2 \u0628\u0648\u062c\u06be \u06a9\u06d2 Kubernetes \u0646\u0627\u0645 \u06a9\u06cc \u062c\u06af\u06c1 \u0627\u0648\u0631 \u0633\u0631\u0648\u0633 \u0627\u06a9\u0627\u0624\u0646\u0679 \u06a9\u0648 \u0627\u0646\u06a9\u0648\u0688 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<h3 id=\"heading-svids-the-cryptographic-identity-document\">SVID: \u06a9\u0631\u067e\u0679\u0648\u06af\u0631\u0627\u0641\u06a9 \u0634\u0646\u0627\u062e\u062a\u06cc \u062f\u0633\u062a\u0627\u0648\u06cc\u0632<\/h3>\n<p>SPIFFE \u0642\u0627\u0628\u0644 \u062a\u0635\u062f\u06cc\u0642 \u0634\u0646\u0627\u062e\u062a\u06cc \u062f\u0633\u062a\u0627\u0648\u06cc\u0632 (SVID) \u06cc\u06c1 \u06c1\u06d2 \u06a9\u06c1 \u06a9\u0633 \u0637\u0631\u062d \u0627\u06cc\u06a9 SPIFFE \u0634\u0646\u0627\u062e\u062a \u06a9\u0648 \u06a9\u0633\u06cc \u0627\u06cc\u0633\u06cc \u0686\u06cc\u0632 \u0645\u06cc\u06ba \u062a\u0628\u062f\u06cc\u0644 \u06a9\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2 \u062c\u0648 \u062f\u0631\u062d\u0642\u06cc\u0642\u062a \u06a9\u0633\u06cc \u0633\u0631\u0648\u0633 \u067e\u0631 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u06cc\u0627 \u062c\u0627 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u062f\u0648 SVID \u0641\u0627\u0631\u0645\u06cc\u0679\u0633 \u06c1\u06cc\u06ba:<\/p>\n<p>\u0646\u06c1\u06cc\u06ba <strong>X.509 SWID<\/strong> \u0633\u0628\u062c\u06cc\u06a9\u0679 \u0645\u062a\u0628\u0627\u062f\u0644 \u0646\u0627\u0645 (SAN) URI \u0641\u06cc\u0644\u0688 \u0645\u06cc\u06ba \u0634\u0627\u0645\u0644 SPIFFE ID \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0645\u0639\u06cc\u0627\u0631\u06cc TLS \u0633\u0631\u0679\u06cc\u0641\u06a9\u06cc\u0679\u06d4 \u0686\u0648\u0646\u06a9\u06c1 \u06cc\u06c1 \u0627\u06cc\u06a9 \u0645\u0639\u06cc\u0627\u0631\u06cc X.509 \u0633\u0631\u0679\u06cc\u0641\u06a9\u06cc\u0679 \u06c1\u06d2\u060c \u0627\u0633 \u0644\u06cc\u06d2 \u0627\u0633\u06d2 \u06a9\u0633\u06cc \u0628\u06be\u06cc TLS \u0644\u0627\u0626\u0628\u0631\u06cc\u0631\u06cc \u0645\u06cc\u06ba \u062a\u0631\u0645\u06cc\u0645 \u06a9\u06d2 \u0628\u063a\u06cc\u0631 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u06cc\u0627 \u062c\u0627 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u06a9\u0627\u0645 \u06a9\u0627 \u0628\u0648\u062c\u06be \u0627\u0633 \u0633\u0631\u0679\u06cc\u0641\u06a9\u06cc\u0679 \u06a9\u0648 TLS \u06c1\u06cc\u0646\u0688 \u0634\u06cc\u06a9 \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u067e\u06cc\u0634 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u060c \u0627\u0648\u0631 \u0633\u0627\u062a\u06be\u06cc \u062a\u0635\u062f\u06cc\u0642 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u0633\u0631\u0679\u06cc\u0641\u06a9\u06cc\u0679 \u067e\u0631 \u0627\u06cc\u06a9 \u0642\u0627\u0628\u0644 \u0627\u0639\u062a\u0645\u0627\u062f SPIRE \u0633\u0631\u0648\u0631 \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u062f\u0633\u062a\u062e\u0637 \u06a9\u06cc\u06d2 \u06af\u0626\u06d2 \u06c1\u06cc\u06ba\u06d4 \u06cc\u06c1 \u0648\u06c1 \u0641\u0627\u0631\u0645\u06cc\u0679 \u06c1\u06d2 \u062c\u0648 \u0637\u0648\u06cc\u0644 \u0627\u0644\u0645\u062f\u062a \u0631\u0627\u0628\u0637\u0648\u06ba \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u060c \u062c\u06cc\u0633\u06d2 \u06a9\u06c1 gRPC \u0627\u0633\u0679\u0631\u06cc\u0645\u0632\u06d4<\/p>\n<p>\u06a9\u0648\u0626\u06cc \u0631\u0627\u0633\u062a\u06c1 \u0646\u06c1\u06cc\u06ba <strong>JWT SVID<\/strong> \u0627\u06cc\u06a9 \u062f\u0633\u062a\u062e\u0637 \u0634\u062f\u06c1 JSON \u0648\u06cc\u0628 \u0679\u0648\u06a9\u0646 \u062c\u0633 \u0645\u06cc\u06ba SPIFFE ID \u0628\u0637\u0648\u0631 \u062f\u0639\u0648\u06cc \u06c1\u06d2\u06d4 HTTP \u067e\u0631 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u067e\u0631 \u0645\u0628\u0646\u06cc \u062a\u0648\u062b\u06cc\u0642 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0645\u0648\u0632\u0648\u06ba \u06c1\u06d2\u06d4 \u0627\u0633\u06d2 \u0627\u062c\u0627\u0632\u062a \u0646\u0627\u0645\u06d2 \u06a9\u06d2 \u06c1\u06cc\u0688\u0631 \u0645\u06cc\u06ba \u067e\u0627\u0633 \u06a9\u0631\u06cc\u06ba \u0627\u0648\u0631 \u0648\u0635\u0648\u0644 \u06a9\u0631\u0646\u06d2 \u0648\u0627\u0644\u06cc \u0633\u0631\u0648\u0633 \u062f\u0633\u062a\u062e\u0637 \u06a9\u06cc \u062a\u0635\u062f\u06cc\u0642 \u06a9\u0631\u06d2 \u06af\u06cc\u06d4<\/p>\n<p>JWT SVIDs \u06a9\u06cc \u0639\u0645\u0631 X.509 SVIDs \u0633\u06d2 \u06a9\u0645 \u06c1\u0648\u062a\u06cc \u06c1\u06d2 \u0627\u0648\u0631 \u0627\u0646 \u06a9\u0627 \u062f\u0627\u0626\u0631\u06c1 \u0627\u06cc\u06a9 \u0645\u062e\u0635\u0648\u0635 \u06c1\u062f\u0641 \u062a\u06a9 \u06c1\u0648\u062a\u0627 \u06c1\u06d2 \u062a\u0627\u06a9\u06c1 \u062a\u0645\u0627\u0645 \u0633\u0631\u0648\u0633\u0632 \u0645\u06cc\u06ba \u0679\u0648\u06a9\u0646 \u06a9\u06d2 \u062f\u0648\u0628\u0627\u0631\u06c1 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0648 \u0631\u0648\u06a9\u0627 \u062c\u0627 \u0633\u06a9\u06d2\u06d4<\/p>\n<p>Cilium \u0645\u06cc\u06ba \u0628\u0627\u06c1\u0645\u06cc \u062a\u0635\u062f\u06cc\u0642 X.509 SVID \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06cc \u06c1\u06d2\u06d4 \u0627\u0633 \u0645\u0636\u0645\u0648\u0646 \u06a9\u0627 \u0628\u0642\u06cc\u06c1 \u062d\u0635\u06c1 X.509 \u067e\u0631 \u0645\u0631\u06a9\u0648\u0632 \u06c1\u06d2\u06d4<\/p>\n<h3 id=\"heading-the-trust-bundle\">\u0627\u0639\u062a\u0645\u0627\u062f \u0628\u0646\u0688\u0644<\/h3>\n<p>\u0633\u0631\u0648\u0633 A \u06a9\u06d2 \u0644\u06cc\u06d2 \u0633\u0631\u0648\u0633 B \u06a9\u06d2 \u0633\u0631\u0679\u06cc\u0641\u06a9\u06cc\u0679 \u06a9\u06cc \u062a\u0635\u062f\u06cc\u0642 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2\u060c \u0633\u0631\u0648\u0633 A \u06a9\u0648 \u06cc\u06c1 \u062c\u0627\u0646\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u06d2 \u06a9\u06c1 \u06a9\u0633 \u0633\u0631\u0679\u06cc\u0641\u06a9\u06cc\u0679 \u0627\u062a\u06be\u0627\u0631\u0679\u06cc \u0646\u06d2 \u0627\u0633 \u067e\u0631 \u062f\u0633\u062a\u062e\u0637 \u06a9\u06cc\u06d2 \u06c1\u06cc\u06ba\u06d4 SPIFFE \u0645\u06cc\u06ba\u060c \u0627\u0633\u06d2 \u0679\u0631\u0633\u0679 \u0628\u0646\u0688\u0644 \u06a9\u06c1\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u060c \u062c\u0648 \u06a9\u06c1 CA \u0633\u0631\u0679\u06cc\u0641\u06cc\u06a9\u06cc\u0679\u0633 \u06a9\u0627 \u0627\u06cc\u06a9 \u0633\u06cc\u0679 \u06c1\u06d2 \u062c\u0648 \u06a9\u06c1 \u0679\u0631\u0633\u0679 \u0688\u0648\u0645\u06cc\u0646 \u06a9\u06d2 \u0627\u0646\u062f\u0631 \u0628\u06be\u0631\u0648\u0633\u06c1 \u06a9\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>SPIRE \u0648\u0631\u06a9 \u0644\u0648\u0688 API \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u0679\u0631\u0633\u0679 \u0628\u0646\u0688\u0644\u0632 \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u062c\u0628 \u06a9\u0627\u0645 \u06a9\u0627 \u0628\u0648\u062c\u06be \u0627\u06cc\u06a9 \u0634\u0646\u0627\u062e\u062a \u06a9\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u060c \u062a\u0648 \u0627\u0633\u06d2 \u0645\u0648\u062c\u0648\u062f\u06c1 \u0627\u0639\u062a\u0645\u0627\u062f \u06a9\u0627 \u0628\u0646\u0688\u0644 \u0628\u06be\u06cc \u0645\u0644\u062a\u0627 \u06c1\u06d2\u06d4 \u062c\u0628 SPIRE \u0633\u0631\u0648\u0631 CA \u06a9\u06cc \u062c\u06af\u06c1 \u0644\u06d2 \u0644\u06cc\u062a\u0627 \u06c1\u06d2\u060c \u062a\u0648 \u06cc\u06c1 \u0646\u0626\u06d2 \u0679\u0631\u0633\u0679 \u0628\u0646\u0688\u0644 \u06a9\u0648 \u062a\u0645\u0627\u0645 \u0627\u06cc\u062c\u0646\u0679\u0648\u06ba \u0645\u06cc\u06ba \u062a\u0642\u0633\u06cc\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0627\u0633\u06d2 \u062a\u0645\u0627\u0645 \u06a9\u0627\u0645 \u06a9\u06d2 \u0628\u0648\u062c\u06be \u0645\u06cc\u06ba \u062f\u06be\u06a9\u06cc\u0644 \u062f\u06cc\u062a\u0627 \u06c1\u06d2\u06d4 \u062f\u0631\u062e\u0648\u0627\u0633\u062a\u0648\u06ba \u06a9\u0648 \u0679\u0631\u0633\u0679 \u0628\u0646\u0688\u0644\u0632 \u06a9\u0648 \u062f\u0633\u062a\u06cc \u0637\u0648\u0631 \u067e\u0631 \u0645\u0646\u0638\u0645 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4<\/p>\n<h2 id=\"heading-how-spire-works\">SPIRE \u06a9\u06cc\u0633\u06d2 \u06a9\u0627\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/h2>\n<p>SPIRE \u0648\u06c1 \u0627\u0646\u062c\u0646 \u06c1\u06d2 \u062c\u0648 SVID \u062c\u0627\u0631\u06cc \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 ID \u0644\u0627\u0626\u0641 \u0633\u0627\u0626\u06cc\u06a9\u0644 \u06a9\u0627 \u0627\u0646\u062a\u0638\u0627\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u0641\u0646 \u062a\u0639\u0645\u06cc\u0631 \u06a9\u0648 \u0633\u0645\u062c\u06be\u0646\u0627 Cilium \u06a9\u06d2 \u0627\u0646\u0636\u0645\u0627\u0645 \u06a9\u0648 \u0645\u0639\u0646\u06cc \u062e\u06cc\u0632 \u0628\u0646\u0627\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<h3 id=\"heading-spire-server-and-spire-agent\">SPIRE \u0633\u0631\u0648\u0631 \u0627\u0648\u0631 SPIRE \u0627\u06cc\u062c\u0646\u0679<\/h3>\n<p>SPIRE \u06a9\u06d2 \u062f\u0648 \u0627\u06c1\u0645 \u0627\u062c\u0632\u0627\u0621 \u06c1\u06cc\u06ba: \u0648\u06c1 <strong>\u0627\u0633\u067e\u0627\u0626\u0631 \u0633\u0631\u0648\u0631<\/strong> \u0633\u06cc\u0646\u0679\u0631\u0644 CA \u06a9\u0627\u0645 \u06a9\u06d2 \u0628\u0648\u062c\u06be \u06a9\u06d2 \u0627\u0646\u062f\u0631\u0627\u062c\u0627\u062a \u06a9\u06cc \u0631\u062c\u0633\u0679\u0631\u06cc \u06a9\u0648 \u0628\u0631\u0642\u0631\u0627\u0631 \u0631\u06a9\u06be\u062a\u0627 \u06c1\u06d2 (\u0631\u06cc\u06a9\u0627\u0631\u0688 \u062c\u0648 \u06cc\u06c1 \u0628\u06cc\u0627\u0646 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba \u06a9\u06c1 \u06a9\u0648\u0646 \u0633\u06d2 SPIFFE IDs \u06a9\u0648 \u06a9\u0627\u0645 \u06a9\u06d2 \u0628\u0648\u062c\u06be \u06a9\u0648 \u062c\u0627\u0631\u06cc \u06a9\u06cc\u0627 \u062c\u0627\u0646\u0627 \u0686\u0627\u06c1\u0626\u06d2)\u06d4 \u06a9\u0627\u0645 \u06a9\u06d2 \u0628\u0648\u062c\u06be \u06a9\u06cc \u0637\u0631\u0641 \u0633\u06d2 \u0627\u06cc\u062c\u0646\u0679\u0648\u06ba \u06a9\u0648 SVID \u062c\u0627\u0631\u06cc \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u067e\u0648\u0631\u06d2 \u0679\u0631\u0633\u0679 \u0688\u0648\u0645\u06cc\u0646 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u0639\u062a\u0645\u0627\u062f \u06a9\u06cc \u062c\u0691 \u06c1\u06d2\u06d4<\/p>\n<p>\u06a9\u06c1 <strong>\u0627\u0633\u067e\u0627\u0626\u0631 \u0627\u06cc\u062c\u0646\u0679<\/strong> \u06cc\u06c1 \u062a\u0645\u0627\u0645 \u0646\u0648\u0688\u0633 \u067e\u0631 \u0688\u06cc\u0645\u0648\u0646 \u0633\u06cc\u0679 \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631 \u0686\u0644\u062a\u0627 \u06c1\u06d2\u06d4 \u0645\u06cc\u0631\u06d2 \u067e\u0627\u0633 \u062f\u0648 \u06a9\u0627\u0645 \u06c1\u06cc\u06ba\u06d4 \u0633\u0628 \u0633\u06d2 \u067e\u06c1\u0644\u06d2\u060c \u06cc\u06c1 SPIRE \u0633\u0631\u0648\u0631 \u06a9\u0648 \u062b\u0627\u0628\u062a \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u06cc\u06c1 \u0627\u06cc\u06a9 \u062c\u0627\u0626\u0632 \u0646\u0648\u0688 \u067e\u0631 \u0686\u0644 \u0631\u06c1\u0627 \u06c1\u06d2\u06d4 \u0627\u0633\u06d2 \u0646\u0648\u0688 \u067e\u0631\u0648\u0641 \u06a9\u06c1\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4 \u062f\u0648\u0633\u0631\u0627\u060c \u06cc\u06c1 \u0646\u0648\u0688 \u067e\u0631 \u06cc\u0648\u0646\u06a9\u0633 \u0633\u0627\u06a9\u0679 \u067e\u0631 SPIFFE \u0648\u0631\u06a9 \u0644\u0648\u0688 API \u06a9\u0648 \u0628\u06d2 \u0646\u0642\u0627\u0628 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u062c\u0633\u06d2 \u06a9\u0627\u0645 \u06a9\u0627 \u0628\u0648\u062c\u06be SVIDs \u06a9\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u06cc\u062c\u0646\u0679 SVIDs \u06a9\u0648 \u0645\u0642\u0627\u0645\u06cc \u0637\u0648\u0631 \u067e\u0631 \u06a9\u06cc\u0634 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u062a\u0627\u06a9\u06c1 SPIRE \u0633\u0631\u0648\u0631 \u0633\u06d2 \u0631\u0627\u0628\u0637\u06d2 \u06a9\u06d2 \u0639\u0627\u0631\u0636\u06cc \u0646\u0642\u0635\u0627\u0646 \u06a9\u06cc \u0648\u062c\u06c1 \u0633\u06d2 \u06a9\u0627\u0645 \u06a9\u06d2 \u0628\u0648\u062c\u06be \u06a9\u06cc \u0634\u0646\u0627\u062e\u062a \u0645\u06cc\u06ba \u0641\u0648\u0631\u06cc \u062e\u0644\u0644 \u0633\u06d2 \u0628\u0686\u0627 \u062c\u0627 \u0633\u06a9\u06d2\u06d4<\/p>\n<p>\u06cc\u06c1 \u062a\u0642\u0633\u06cc\u0645 (\u0645\u0631\u06a9\u0632\u06cc \u0633\u0631\u0648\u0631\u060c \u0627\u06cc\u062c\u0646\u0679 \u0641\u06cc \u0646\u0648\u0688) \u062c\u0627\u0646 \u0628\u0648\u062c\u06be \u06a9\u0631 \u06c1\u06d2\u06d4 \u06a9\u0627\u0645 \u06a9\u0627 \u0628\u0648\u062c\u06be \u0628\u0631\u0627\u06c1 \u0631\u0627\u0633\u062a SPIRE \u0633\u0631\u0648\u0631 \u0633\u06d2 \u0645\u0631\u0628\u0648\u0637 \u0646\u06c1\u06cc\u06ba \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4 \u0648\u06c1 \u0635\u0631\u0641 \u0627\u067e\u0646\u06d2 \u0646\u0648\u0688\u0633 \u067e\u0631 \u0627\u06cc\u062c\u0646\u0679\u0648\u06ba \u0633\u06d2 \u0628\u0627\u062a \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0627\u06cc\u062c\u0646\u0679 \u062a\u0645\u0627\u0645 ID \u062f\u0631\u062e\u0648\u0627\u0633\u062a\u0648\u06ba \u0645\u06cc\u06ba \u062b\u0627\u0644\u062b\u06cc \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u060c \u06a9\u0633\u06cc \u0646\u0648\u0688 \u0633\u06d2 \u0633\u0645\u062c\u06be\u0648\u062a\u06c1 \u06c1\u0648\u0646\u06d2 \u06a9\u06cc \u0635\u0648\u0631\u062a \u0645\u06cc\u06ba \u062f\u06be\u0645\u0627\u06a9\u06d2 \u06a9\u06d2 \u0631\u062f\u0627\u0633 \u06a9\u0648 \u0645\u062d\u062f\u0648\u062f \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<h3 id=\"heading-node-attestation\">\u0646\u0648\u0688 \u062b\u0628\u0648\u062a<\/h3>\n<p>\u062c\u0628 \u0627\u06cc\u06a9 SPIRE \u0627\u06cc\u062c\u0646\u0679 \u0646\u0626\u06d2 \u0646\u0648\u0688 \u067e\u0631 \u0634\u0631\u0648\u0639 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u060c \u062a\u0648 \u0627\u0633\u06d2 \u06a9\u0627\u0645 \u06a9\u06d2 \u0628\u0648\u062c\u06be \u06a9\u0648 \u0627\u067e\u0646\u06cc \u0634\u0646\u0627\u062e\u062a \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0631\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 SPIRE \u0633\u0631\u0648\u0631 \u06a9\u0648 \u0627\u067e\u0646\u06cc \u0634\u0646\u0627\u062e\u062a \u062b\u0627\u0628\u062a \u06a9\u0631\u0646\u06cc \u06c1\u0648\u06af\u06cc\u06d4 \u06cc\u06c1 \u0646\u0648\u0688 \u067e\u0631\u0648\u0641 \u06c1\u06d2\u06d4<\/p>\n<p>\u06a9\u0628\u0631\u0646\u06cc\u0679\u0633 \u067e\u0631 \u0627\u0633\u067e\u0627\u0626\u0631 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2: <strong>\u067e\u06cc \u0627\u06cc\u0633 \u0627\u06d2 \u0679\u06cc<\/strong> &#8211; \u0645\u062a\u0648\u0642\u0639 \u0633\u0631\u0648\u0633 \u0627\u06a9\u0627\u0624\u0646\u0679 \u0679\u0648\u06a9\u0646 &#8211; \u0646\u0648\u0688 \u067e\u0631\u0648\u0641\u0646\u06af \u06a9\u06d2 \u0644\u06cc\u06d2\u06d4 \u0627\u06cc\u062c\u0646\u0679 \u0627\u06cc\u06a9 Kubernetes \u0633\u0631\u0648\u0633 \u0627\u06a9\u0627\u0624\u0646\u0679 \u0679\u0648\u06a9\u0646 \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u062c\u0633 \u06a9\u06cc \u062a\u0648\u0642\u0639 \u062e\u0627\u0635 \u0637\u0648\u0631 \u067e\u0631 SPIRE \u0633\u0631\u0648\u0631 \u06a9\u06d2 \u06c1\u062f\u0641 \u06a9\u06d2 \u0644\u06cc\u06d2 \u06c1\u0648\u062a\u06cc \u06c1\u06d2\u06d4 SPIRE \u0633\u0631\u0648\u0631 Kubernetes API \u0633\u06d2 \u0631\u0627\u0628\u0637\u06c1 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u060c \u0679\u0648\u06a9\u0646 \u06a9\u06cc \u062a\u0635\u062f\u06cc\u0642 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u060c \u062a\u0635\u062f\u06cc\u0642 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u0627\u06cc\u062c\u0646\u0679 \u0645\u062a\u0648\u0642\u0639 \u0633\u0631\u0648\u0633 \u0627\u06a9\u0627\u0624\u0646\u0679 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0645\u062a\u0648\u0642\u0639 \u0646\u0627\u0645 \u06a9\u06cc \u062c\u06af\u06c1 \u067e\u0631 \u0686\u0644 \u0631\u06c1\u0627 \u06c1\u06d2\u060c \u0627\u0648\u0631 \u067e\u06be\u0631 \u0627\u06cc\u062c\u0646\u0679 \u06a9\u0648 \u0627\u067e\u0646\u0627 SVID \u062c\u0627\u0631\u06cc \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u06cc\u06c1\u06cc \u0648\u062c\u06c1 \u06c1\u06d2 \u06a9\u06c1 SPIRE \u06a9\u0648 \u0645\u062e\u0635\u0648\u0635 Kubernetes API \u062c\u06be\u0646\u0688\u0648\u06ba \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u06d2\u06d4 kube-apiserver \u06a9\u0648 \u0645\u0646\u0627\u0633\u0628 \u0627\u06c1\u062f\u0627\u0641 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0645\u062a\u0648\u0642\u0639 \u0633\u0631\u0648\u0633 \u0627\u06a9\u0627\u0624\u0646\u0679 \u0679\u0648\u06a9\u0646 \u06a9\u06cc \u062d\u0645\u0627\u06cc\u062a \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u062a\u0631\u062a\u06cc\u0628 \u062f\u06cc\u0627 \u062c\u0627\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u06d4 \u06cc\u06c1\u06cc \u0648\u062c\u06c1 \u06c1\u06d2 \u06a9\u06c1 \u0630\u06cc\u0644 \u0645\u06cc\u06ba \u0688\u06cc\u0645\u0648 \u0645\u06cc\u06ba \u06a9\u0644\u0633\u0679\u0631 \u06a9\u0646\u0641\u06cc\u06af\u0631\u06cc\u0634\u0646 \u06a9\u06cc \u0642\u0633\u0645 \u062a\u0631\u062a\u06cc\u0628 \u062f\u06cc \u06af\u0626\u06cc \u06c1\u06d2\u06d4 <code>--api-audiences<\/code> \u0627\u0648\u0631 <code>--service-account-issuer<\/code>.<\/p>\n<h3 id=\"heading-workload-attestation\">\u06a9\u0627\u0645 \u06a9\u06d2 \u0628\u0648\u062c\u06be \u06a9\u0627 \u062b\u0628\u0648\u062a<\/h3>\n<p>\u0627\u06cc\u06a9 \u0628\u0627\u0631 \u062c\u0628 \u0646\u0648\u0688 \u06a9\u06cc \u062a\u0635\u062f\u06cc\u0642 \u06c1\u0648 \u062c\u0627\u062a\u06cc \u06c1\u06d2\u060c \u062a\u0648 \u0627\u0633 \u06a9\u06d2 \u0627\u06cc\u062c\u0646\u0679 \u0627\u067e\u0646\u06d2 \u06a9\u0627\u0645 \u06a9\u06d2 \u0628\u0648\u062c\u06be \u06a9\u06cc \u062a\u0635\u062f\u06cc\u0642 \u06a9\u0631 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u062c\u0628 \u06a9\u0627\u0645 \u06a9\u0627 \u0628\u0648\u062c\u06be \u06a9\u0633\u06cc \u0648\u0631\u06a9 \u0644\u0648\u0688 API \u0633\u0627\u06a9\u0679 \u0633\u06d2 \u062c\u0691\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 SVID \u06a9\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u060c \u062a\u0648 \u0627\u06cc\u062c\u0646\u0679 \u0627\u0633 \u06a9\u0627\u0645 \u06a9\u06d2 \u0628\u0648\u062c\u06be \u06a9\u06d2 \u0628\u0627\u0631\u06d2 \u0645\u06cc\u06ba \u0645\u0639\u0644\u0648\u0645\u0627\u062a \u0627\u06a9\u0679\u06be\u0627 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 Kubernetes API \u0633\u06d2 \u0627\u0633\u062a\u0641\u0633\u0627\u0631 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 (Kubernetes namespace\u060c \u0633\u0631\u0648\u0633 \u0627\u06a9\u0627\u0624\u0646\u0679\u060c Pod name\u060c label\u060c \u0648\u063a\u06cc\u0631\u06c1)\u06d4 \u06cc\u06c1 \u0627\u0633 \u062d\u0642\u06cc\u0642\u062a \u0633\u06d2 \u0645\u06cc\u0644 \u06a9\u06be\u0627\u062a\u0627 \u06c1\u06d2 SPIRE \u0633\u0631\u0648\u0631 \u067e\u0631 \u0631\u062c\u0633\u0679\u0631\u0688 \u0648\u0631\u06a9 \u0644\u0648\u0688 \u0627\u0646\u062f\u0631\u0627\u062c\u0627\u062a \u0633\u06d2\u06d4 \u0627\u06af\u0631 \u06a9\u0648\u0626\u06cc \u0645\u0645\u0627\u062b\u0644\u062a \u067e\u0627\u0626\u06cc \u062c\u0627\u062a\u06cc \u06c1\u06d2\u060c \u062a\u0648 \u0627\u06cc\u062c\u0646\u0679 \u0645\u062a\u0639\u0644\u0642\u06c1 SVID \u062c\u0627\u0631\u06cc \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u06a9\u0627\u0645 \u06a9\u06d2 \u0628\u0648\u062c\u06be \u06a9\u06cc \u0627\u0634\u06cc\u0627\u0621 \u0645\u06cc\u06ba \u0634\u0627\u0645\u0644 \u06c1\u06cc\u06ba:<\/p>\n<pre><code class=\"language-plaintext\">SPIFFE ID: spiffe:\/\/example.org\/ns\/production\/sa\/checkout\nParent ID: spiffe:\/\/example.org\/spire\/agent\/k8s_psat\/default\/<node-uid>\nSelectors:\n  k8s:ns:production\n  k8s:sa:checkout\n<\/node-uid><\/code><\/pre>\n<p>\u0627\u06cc\u06a9 \u0633\u0644\u06cc\u06a9\u0679\u0631 \u0627\u06cc\u06a9 Kubernetes \u062d\u0642\u06cc\u0642\u062a \u0628\u06cc\u0627\u0646 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u062c\u0633 \u06a9\u0627 \u0645\u0645\u0627\u062b\u0644 \u06c1\u0648\u0646\u0627 \u0636\u0631\u0648\u0631\u06cc \u06c1\u06d2\u06d4 \u067e\u06be\u0644\u06cc\u0627\u06ba \u0686\u0644 \u0631\u06c1\u06cc \u06c1\u06cc\u06ba\u06d4 <code>production<\/code> \u0633\u0631\u0648\u0633 \u0627\u06a9\u0627\u0624\u0646\u0679 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0646\u0627\u0645 \u06a9\u06cc \u062c\u06af\u06c1 <code>checkout<\/code> \u0622\u067e \u06a9\u0648 \u0627\u06cc\u06a9 SPIFFE ID \u0645\u0648\u0635\u0648\u0644 \u06c1\u0648\u06af\u06cc\u06d4 <code>spiffe:\/\/example.org\/ns\/production\/sa\/checkout<\/code>. \u062f\u0648\u0633\u0631\u06d2 \u0641\u0648\u0631\u0688 \u0646\u06c1\u06cc\u06ba \u06a9\u0631\u062a\u06d2\u06d4<\/p>\n<h3 id=\"heading-svid-issuance-and-rotation\">SVID \u06a9\u0627 \u0627\u062c\u0631\u0627\u0621 \u0627\u0648\u0631 \u06af\u0631\u062f\u0634<\/h3>\n<p>SVID \u0688\u06cc\u0632\u0627\u0626\u0646 \u06a9\u06d2 \u0644\u062d\u0627\u0638 \u0633\u06d2 \u0642\u0644\u06cc\u0644 \u0627\u0644\u0645\u062f\u062a \u06c1\u06d2\u06d4 SPIRE \u0645\u06cc\u06ba X.509 SVID \u06a9\u06d2 \u0644\u06cc\u06d2 \u0688\u06cc\u0641\u0627\u0644\u0679 TTL 1 \u06af\u06be\u0646\u0679\u06c1 \u06c1\u06d2\u06d4 \u0627\u0633\u067e\u0627\u0626\u0631 \u0627\u06cc\u062c\u0646\u0679 \u067e\u0633 \u0645\u0646\u0638\u0631 \u0645\u06cc\u06ba \u062e\u0648\u062f \u0628\u062e\u0648\u062f \u0627\u0633 \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u0686\u06a9\u0631 \u0644\u06af\u0627\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u0633 \u06a9\u0627 \u0645\u0637\u0644\u0628 \u06c1\u06d2 \u0627\u06cc\u06a9 \u0646\u06cc\u0627 \u06a9\u0644\u06cc\u062f\u06cc \u062c\u0648\u0691\u0627 \u0628\u0646\u0627\u0646\u0627\u060c \u0633\u0631\u0648\u0631 \u0633\u06d2 \u0627\u06cc\u06a9 \u0646\u0626\u06d2 SVID \u06a9\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u06a9\u0631\u0646\u0627\u060c \u0627\u0648\u0631 \u067e\u0631\u0627\u0646\u06d2 SVID \u06a9\u06cc \u0645\u06cc\u0639\u0627\u062f \u062e\u062a\u0645 \u06c1\u0648\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u0646\u0626\u06d2 SVID \u06a9\u0648 Workload API \u06a9\u0648 \u062f\u0633\u062a\u06cc\u0627\u0628 \u06a9\u0631\u0627\u0646\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0648\u0631\u06a9 \u0628\u0648\u062c\u06be \u062c\u0648 \u0648\u0631\u06a9 \u0644\u0648\u0688 API \u06a9\u0627 \u0628\u0631\u0627\u06c1 \u0631\u0627\u0633\u062a \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba \u06cc\u0627 \u0679\u0648\u0644\u0632 \u062c\u06cc\u0633\u06d2 \u06a9\u06c1 SPIFFE CSI \u0688\u0631\u0627\u0626\u06cc\u0648\u0631 \u0646\u06cc\u0627 SVID \u0634\u0641\u0627\u0641 \u0637\u0631\u06cc\u0642\u06d2 \u0633\u06d2 \u062d\u0627\u0635\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u0642\u0644\u06cc\u0644 \u0645\u062f\u062a\u06cc \u0627\u0633\u0646\u0627\u062f \u0627\u06cc\u06a9 \u0632\u06cc\u0631\u0648 \u0679\u0631\u0633\u0679 \u0627\u067e\u0631\u0648\u0686 \u06c1\u06cc\u06ba\u06d4 \u0627\u06af\u0631 \u06a9\u0633\u06cc \u06a9\u0627\u0645 \u06a9\u06d2 \u0628\u0648\u062c\u06be \u06a9\u06d2 SVID \u0633\u06d2 \u0633\u0645\u062c\u06be\u0648\u062a\u06c1 \u06a9\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u060c \u062a\u0648 \u06cc\u06c1 \u0635\u0631\u0641 \u0627\u06cc\u06a9 \u06af\u06be\u0646\u0679\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u062f\u0631\u0633\u062a \u06c1\u06d2\u06d4 \u0627\u0633 \u06a9\u0627 \u0645\u0648\u0627\u0632\u0646\u06c1 Kubernetes \u0633\u0631\u0648\u0633 \u0627\u06a9\u0627\u0624\u0646\u0679 \u0679\u0648\u06a9\u0646\u0632 \u0633\u06d2 \u06a9\u0631\u06cc\u06ba\u060c \u062c\u0648 \u062a\u0627\u0631\u06cc\u062e\u06cc \u0637\u0648\u0631 \u067e\u0631 \u06c1\u0645\u06cc\u0634\u06c1 \u06a9\u06d2 \u0644\u06cc\u06d2 \u062f\u0631\u0633\u062a \u06c1\u06cc\u06ba\u06d4<\/p>\n<h2 id=\"heading-how-cilium-implements-mutual-tls-with-spiffe\">\u06a9\u0633 \u0637\u0631\u062d Cilium SPIFFE \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u0648\u0626\u06d2 \u0628\u0627\u06c1\u0645\u06cc TLS \u06a9\u0648 \u0644\u0627\u06af\u0648 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/h2>\n<p>\u0633\u0631\u0648\u0633 \u0645\u06cc\u0634 \u0627\u06cc\u0645 \u0679\u06cc \u0627\u06cc\u0644 \u0627\u06cc\u0633 (\u062c\u06cc\u0633\u06d2 \u0627\u0633\u0679\u06cc\u0648 \u06cc\u0627 \u0644\u0646\u06a9\u0631\u0688) \u06a9\u06d2 \u0631\u0648\u0627\u06cc\u062a\u06cc \u0637\u0631\u06cc\u0642\u06d2 \u06c1\u0631 \u067e\u0648\u0688 \u0645\u06cc\u06ba \u0633\u0627\u0626\u0688 \u06a9\u0627\u0631 \u067e\u0631\u0627\u06a9\u0633\u06cc \u062f\u0627\u062e\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u067e\u0631\u0627\u06a9\u0633\u06cc \u062a\u0645\u0627\u0645 \u0679\u0631\u06cc\u0641\u06a9 \u06a9\u0648 \u0631\u0648\u06a9\u062a\u06cc \u06c1\u06d2 \u0627\u0648\u0631 TLS \u06c1\u06cc\u0646\u0688 \u0634\u06cc\u06a9 \u06a9\u0648 \u06c1\u06cc\u0646\u0688\u0644 \u06a9\u0631\u062a\u06cc \u06c1\u06d2\u06d4 \u0627\u06cc\u067e\u0644\u06cc\u06a9\u06cc\u0634\u0646 \u06a9\u0648 \u06a9\u0648\u0626\u06cc \u0627\u0646\u062f\u0627\u0632\u06c1 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2 \u06a9\u06c1 TLS \u06c1\u0648 \u0631\u06c1\u0627 \u06c1\u06d2\u06d4 \u0633\u0627\u0626\u06cc\u0688 \u06a9\u0627\u0631\u0632 \u0645\u06cc\u0645\u0648\u0631\u06cc \u0627\u0648\u0648\u0631 \u06c1\u06cc\u0688 (Envoy \u06a9\u06d2 \u0644\u06cc\u06d2 \u062a\u0642\u0631\u06cc\u0628\u0627\u064b 50 \u0633\u06d2 100 MB \u0641\u06cc \u067e\u0648\u0688)\u060c \u06c1\u0631 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u06cc\u06a9 \u0627\u0636\u0627\u0641\u06cc \u0646\u06cc\u0679 \u0648\u0631\u06a9 \u06c1\u0627\u067e\u060c \u0627\u0648\u0631 \u0627\u06cc\u06a9 \u067e\u06cc\u0686\u06cc\u062f\u06c1 \u0633\u0631\u0679\u06cc\u0641\u06a9\u06cc\u0679 \u0627\u0646\u062c\u06cc\u06a9\u0634\u0646 \u0645\u06cc\u06a9\u0627\u0646\u0632\u0645 \u0634\u0627\u0645\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>Cilium \u0627\u06cc\u06a9 \u0645\u062e\u062a\u0644\u0641 \u0631\u0627\u0633\u062a\u06c1 \u0644\u06cc\u062a\u0627 \u06c1\u06d2. \u067e\u0631\u0627\u06a9\u0633\u06cc \u0627\u0646\u062c\u06cc\u06a9\u0634\u0646 \u0644\u06af\u0627\u0646\u06d2 \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2\u060c \u06c1\u0645 \u0646\u06cc\u0679 \u0648\u0631\u06a9 \u067e\u0631\u062a \u067e\u0631 \u062a\u0635\u062f\u06cc\u0642 \u06a9\u0648 \u0633\u0646\u0628\u06be\u0627\u0644\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 eBPF \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u06c1\u0631 \u0646\u0648\u0688 \u067e\u0631 \u0686\u0644\u0646\u06d2 \u0648\u0627\u0644\u0627 \u0627\u06cc\u06a9 Cilium \u0627\u06cc\u062c\u0646\u0679 \u06a9\u0646\u06a9\u0634\u0646 \u06a9\u0648 \u0631\u0648\u06a9\u062a\u0627 \u06c1\u06d2\u060c SPIFFE SVID \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u0648\u0626\u06d2 \u0628\u0627\u06c1\u0645\u06cc TLS \u06c1\u06cc\u0646\u0688 \u0634\u06cc\u06a9 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u060c \u0627\u0648\u0631 \u062a\u0635\u062f\u06cc\u0642 \u06a9\u06d2 \u0646\u062a\u0627\u0626\u062c \u06a9\u0648 \u0644\u0627\u06af\u0648 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u06cc\u06c1 \u0633\u0628 \u06a9\u0686\u06be \u06cc\u0648\u0632\u0631 \u0627\u0633\u067e\u06cc\u0633 \u067e\u0631\u0627\u06a9\u0633\u06cc \u06a9\u06d2 \u0628\u063a\u06cc\u0631 \u06a9\u0631\u0646\u0644 \u0645\u06cc\u06ba \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0637\u0631\u06cc\u0642\u06c1 \u06a9\u0627\u0631 \u0627\u0633 \u0637\u0631\u062d \u06a9\u0627\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2: \u062c\u0628 Pod A Pod B \u0633\u06d2 \u06a9\u0646\u06a9\u0634\u0646 \u0634\u0631\u0648\u0639 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u060c Pod A \u0646\u0648\u0688 \u067e\u0631 Cilium \u0627\u06cc\u062c\u0646\u0679 \u06a9\u0646\u06a9\u0634\u0646 \u06a9\u0648 \u0631\u0648\u06a9\u062a\u0627 \u06c1\u06d2\u06d4 SPIRE Workload API \u0633\u06d2 Pod A \u06a9\u06cc SVID \u0628\u0627\u0632\u06cc\u0627\u0641\u062a \u06a9\u0631\u06cc\u06ba\u06d4 \u0686\u06cc\u06a9 \u06a9\u0631\u06cc\u06ba \u06a9\u06c1 \u0622\u06cc\u0627 \u06cc\u06c1 \u0645\u0648\u062c\u0648\u062f \u06c1\u06d2\u06d4 <code>CiliumNetworkPolicy<\/code> \u0627\u0633 \u06a9\u0646\u06a9\u0634\u0646 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0628\u0627\u06c1\u0645\u06cc \u062a\u0635\u062f\u06cc\u0642 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u06d2\u06d4 \u0627\u06af\u0631 \u0645\u0648\u062c\u0648\u062f \u06c1\u0648\u060c \u062a\u0648 \u06cc\u06c1 Pod B \u0646\u0648\u0688 \u067e\u0631 Cilium \u0627\u06cc\u062c\u0646\u0679 \u06a9\u06d2 \u0633\u0627\u062a\u06be TLS \u06c1\u06cc\u0646\u0688 \u0634\u06cc\u06a9 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u060c Pod A \u06a9\u0627 SVID \u067e\u06cc\u0634 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0628\u062f\u0644\u06d2 \u0645\u06cc\u06ba Pod B \u06a9\u06d2 SVID \u06a9\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u062f\u0648\u0646\u0648\u06ba \u0627\u06cc\u062c\u0646\u0679 SPIRE \u0679\u0631\u0633\u0679 \u0628\u0646\u0688\u0644 \u06a9\u06d2 \u062e\u0644\u0627\u0641 SVID \u0686\u06cc\u06a9 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0627\u06af\u0631 \u062f\u0648\u0646\u0648\u06ba SVIDs \u062f\u0631\u0633\u062a \u06c1\u06cc\u06ba \u0627\u0648\u0631 \u067e\u0627\u0644\u06cc\u0633\u06cc \u06a9\u0646\u06a9\u0634\u0646 \u06a9\u06cc \u0627\u062c\u0627\u0632\u062a \u062f\u06cc\u062a\u06cc \u06c1\u06d2 \u062a\u0648 \u06cc\u06c1 \u062c\u0627\u0631\u06cc \u0631\u06c1\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u06af\u0631 SVID \u063a\u0644\u0637 \u06c1\u06d2 \u06cc\u0627 \u063a\u0627\u0626\u0628 \u06c1\u06d2 \u062a\u0648 \u06a9\u0646\u06a9\u0634\u0646 \u0645\u0646\u0642\u0637\u0639 \u06c1\u0648 \u062c\u0627\u0626\u06d2 \u06af\u0627\u06d4<\/p>\n<p>Pod A \u0645\u06cc\u06ba \u0627\u06cc\u067e\u0644\u06cc \u06a9\u06cc\u0634\u0646 Pod B \u0645\u06cc\u06ba \u0645\u0648\u062c\u0648\u062f \u0627\u06cc\u067e\u0644\u06cc\u06a9\u06cc\u0634\u0646 \u0633\u06d2 \u0688\u06cc\u0679\u0627 \u062d\u0627\u0635\u0644 \u06a9\u0631\u062a\u06cc \u06c1\u06d2\u06d4 \u0646\u06c1 \u06c1\u06cc \u0627\u06cc\u067e\u0644\u06cc\u06a9\u06cc\u0634\u0646 \u0646\u06d2 \u06a9\u0648\u0626\u06cc TLS \u06a9\u0648\u0688 \u0644\u06a9\u06be\u0627 \u06c1\u06d2\u06d4 \u0646\u06c1 \u06c1\u06cc \u06a9\u0648\u0626\u06cc \u0633\u0627\u0626\u06cc\u0688 \u06a9\u0627\u0631 \u06c1\u06d2\u06d4 \u062a\u0635\u062f\u06cc\u0642 \u0645\u06a9\u0645\u0644 \u0637\u0648\u0631 \u067e\u0631 \u0627\u0633 \u0646\u0648\u0688 \u067e\u0631 Cilium \u0627\u06cc\u062c\u0646\u0679 \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06c1 \u06a9\u06cc \u06af\u0626\u06cc \u062a\u06be\u06cc\u06d4<\/p>\n<p>Cilium \u0645\u0627\u0688\u0644 \u0645\u06cc\u06ba\u060c Cilium \u0627\u06cc\u062c\u0646\u0679 \u062e\u0648\u062f SPIRE \u0633\u06d2 SPIFFE ID \u062d\u0627\u0635\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u06cc\u06a9 \u0688\u06cc\u0644\u06cc\u06af\u06cc\u0679 ID \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631 \u06a9\u0627\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u062c\u0648 \u06a9\u0627\u0645 \u06a9\u06d2 \u0628\u0648\u062c\u06be \u06a9\u06cc \u062c\u0627\u0646\u0628 \u0633\u06d2 SVIDs \u06a9\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u06a9\u0631 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u06cc\u06c1 \u0627\u0633\u0679\u06cc\u0646\u0688 \u0627\u0633\u0679\u0648\u0646 SPIRE \u0645\u0627\u0688\u0644 \u0633\u06d2 \u0642\u062f\u0631\u06d2 \u0645\u062e\u062a\u0644\u0641 \u06c1\u06d2\u060c \u062c\u06c1\u0627\u06ba \u06c1\u0631 \u06a9\u0627\u0645 \u06a9\u0627 \u0628\u0648\u062c\u06be \u0628\u0631\u0627\u06c1 \u0631\u0627\u0633\u062a \u0627\u067e\u0646\u06d2 SVID \u06a9\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 Cilium \u0622\u067e\u0631\u06cc\u0679\u0631\u0632 SPIRE \u06a9\u06d2 \u0633\u0627\u062a\u06be \u06a9\u0627\u0645 \u06a9\u06d2 \u0628\u0648\u062c\u06be \u06a9\u06d2 \u0627\u0646\u062f\u0631\u0627\u062c\u0627\u062a \u06a9\u0648 \u062e\u0648\u062f \u0628\u062e\u0648\u062f \u0631\u062c\u0633\u0679\u0631 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba \u062c\u0648 \u06a9\u06c1 \u0648\u06c1 Kubernetes IDs \u06a9\u0627 \u0627\u0646\u062a\u0638\u0627\u0645 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u062c\u0633 \u0633\u06d2 \u06c1\u0631 \u067e\u0648\u0688 \u06a9\u06d2 \u0644\u06cc\u06d2 \u062f\u0633\u062a\u06cc \u0637\u0648\u0631 \u067e\u0631 SPIRE \u0627\u0646\u062f\u0631\u0627\u062c\u0627\u062a \u0628\u0646\u0627\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u062e\u062a\u0645 \u06c1\u0648 \u062c\u0627\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<h2 id=\"heading-demo-1-install-cilium-with-spire-integration\">\u0688\u06cc\u0645\u0648 1 &#8211; SPIRE \u0627\u0646\u0636\u0645\u0627\u0645 \u06a9\u06d2 \u0633\u0627\u062a\u06be Cilium \u0627\u0646\u0633\u0679\u0627\u0644 \u06a9\u0631\u0646\u0627<\/h2>\n<p>Cilium \u06a9\u0648 \u0627\u067e\u0646\u06d2 CNI \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u0648\u0626\u06d2 \u0627\u06cc\u06a9 \u0642\u0633\u0645 \u06a9\u0627 \u06a9\u0644\u0633\u0679\u0631 \u0628\u0646\u0627\u0626\u06cc\u06ba \u0627\u0648\u0631 \u0627\u06cc\u06a9 \u06c1\u06cc\u0644\u0645 \u06a9\u0645\u0627\u0646\u0688 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0628\u0644\u0679 \u0627\u0646 SPIRE \u0627\u0646\u0679\u06cc\u06af\u0631\u06cc\u0634\u0646 \u06a9\u0648 \u0641\u0639\u0627\u0644 \u06a9\u0631\u06cc\u06ba\u06d4<\/p>\n<h3 id=\"heading-step-1-install-the-cilium-cli\">\u0645\u0631\u062d\u0644\u06c1 1: Cilium CLI \u0627\u0646\u0633\u0679\u0627\u0644 \u06a9\u0631\u06cc\u06ba\u06d4<\/h3>\n<pre><code class=\"language-bash\"># macOS\nbrew install cilium-cli\n\n# Linux\nCILIUM_CLI_VERSION=$(curl -s https:\/\/raw.githubusercontent.com\/cilium\/cilium-cli\/main\/stable.txt)\ncurl -L --remote-name-all \n  https:\/\/github.com\/cilium\/cilium-cli\/releases\/download\/${CILIUM_CLI_VERSION}\/cilium-linux-amd64.tar.gz\nsudo tar -xzf cilium-linux-amd64.tar.gz -C \/usr\/local\/bin\n<\/code><\/pre>\n<h3 id=\"heading-step-2-create-a-kind-cluster-without-a-default-cni\">\u0645\u0631\u062d\u0644\u06c1 2: \u0688\u06cc\u0641\u0627\u0644\u0679 CNI \u06a9\u06d2 \u0628\u063a\u06cc\u0631 \u0627\u06cc\u06a9 \u0642\u0633\u0645 \u06a9\u0627 \u06a9\u0644\u0633\u0679\u0631 \u0628\u0646\u0627\u0626\u06cc\u06ba<\/h3>\n<p>\u0622\u067e \u06a9\u0648 \u0627\u0633 \u0642\u0633\u0645 \u06a9\u06d2 \u0688\u06cc\u0641\u0627\u0644\u0679 CNI (kindnet) \u06a9\u0648 \u063a\u06cc\u0631 \u0641\u0639\u0627\u0644 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u0648\u06af\u06cc \u062a\u0627\u06a9\u06c1 Cilium \u0627\u0633\u06d2 \u0633\u0646\u0628\u06be\u0627\u0644 \u0633\u06a9\u06d2\u06d4 \u0627\u0633 \u06a9\u0648 \u0628\u0637\u0648\u0631 \u0645\u062d\u0641\u0648\u0638 \u06a9\u0631\u06cc\u06ba\u06d4 <code>kind-cilium.yaml<\/code>:<\/p>\n<pre><code class=\"language-yaml\"># kind-cilium.yaml\nkind: Cluster\napiVersion: kind.x-k8s.io\/v1alpha4\nnodes:\n  - role: control-plane\n  - role: worker\n  - role: worker\nnetworking:\n  disableDefaultCNI: true   # Required: let Cilium be the CNI\n  kubeProxyMode: none       # Cilium replaces kube-proxy too\n<\/code><\/pre>\n<pre><code class=\"language-bash\">kind create cluster --name k8s-mtls --config kind-cilium.yaml\n<\/code><\/pre>\n<p>\u0646\u0648\u0688 \u06c1\u06d2 <code>NotReady<\/code> Cilium \u0627\u0646\u0633\u0679\u0627\u0644 \u06c1\u0648\u0646\u06d2 \u062a\u06a9 \u06cc\u06c1 \u0627\u0633\u06cc \u062d\u0627\u0644\u062a \u0645\u06cc\u06ba \u0631\u06c1\u06d2 \u06af\u0627\u06d4 \u06cc\u06c1 \u0645\u062a\u0648\u0642\u0639 \u06c1\u06d2\u060c \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u0627\u0628\u06be\u06cc \u062a\u06a9 \u06a9\u0648\u0626\u06cc CNI \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4<\/p>\n<h3 id=\"heading-step-3-install-cilium-with-spire-enabled\">\u0645\u0631\u062d\u0644\u06c1 3: SPIRE \u0641\u0639\u0627\u0644 \u06a9\u06d2 \u0633\u0627\u062a\u06be Cilium \u0627\u0646\u0633\u0679\u0627\u0644 \u06a9\u0631\u06cc\u06ba\u06d4<\/h3>\n<p>\u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u0645\u0631\u062d\u0644\u06c1 2 \u0633\u06cc\u0679 \u06c1\u06d2\u06d4 <code>kubeProxyMode: none<\/code>Cilium \u06a9\u0648 \u062e\u0648\u062f \u0627\u06cc\u06a9 \u06a9\u06cc\u0648\u0628 \u067e\u0631\u0627\u06a9\u0633\u06cc \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631 \u06a9\u0627\u0645 \u06a9\u0631\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u06d4 \u0627\u0633 \u06a9\u0627 \u0645\u0637\u0644\u0628 \u06cc\u06c1 \u06c1\u06d2 \u06a9\u06c1 \u0628\u0648\u0679\u0633\u0679\u0631\u06cc\u067e \u067e\u0648\u0688 API \u0633\u0631\u0648\u0631 \u062a\u06a9 \u0646\u06c1\u06cc\u06ba \u067e\u06c1\u0646\u0686 \u0633\u06a9\u062a\u06d2 \u0628\u0630\u0631\u06cc\u0639\u06c1: <code>kubernetes<\/code> \u06a9\u0644\u0633\u0679\u0631 \u0622\u0626\u06cc \u067e\u06cc \u0633\u0631\u0648\u0633\u06d4 \u0627\u0633 \u06a9\u06cc \u0648\u062c\u06c1 \u06cc\u06c1 \u06c1\u06d2 \u06a9\u06c1 \u0627\u0628\u06be\u06cc \u062a\u06a9 \u06a9\u0686\u06be \u0628\u06be\u06cc \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4<\/p>\n<p>\u0622\u067e \u06a9\u0648 API \u0633\u0631\u0648\u0631 \u06a9\u0627 \u0627\u0635\u0644 \u067e\u062a\u06c1 \u067e\u06c1\u0644\u06d2 \u0633\u06d2 \u067e\u0627\u0633 \u06a9\u0631\u0646\u0627 \u06c1\u0648\u06af\u0627\u06d4 Docker \u0645\u06cc\u06ba \u0642\u0633\u0645 \u06a9\u06d2 \u06a9\u0646\u0679\u0631\u0648\u0644 \u0637\u06cc\u0627\u0631\u06d2 \u06a9\u0627 IP \u062d\u0627\u0635\u0644 \u06a9\u0631\u06cc\u06ba\u06d4<\/p>\n<pre><code class=\"language-bash\">API_SERVER_IP=$(docker inspect k8s-mtls-control-plane \n  --format=\"{{ .NetworkSettings.Networks.kind.IPAddress }}\")\necho \"API_SERVER_IP=$API_SERVER_IP\"\n<\/code><\/pre>\n<p>\u067e\u06be\u0631 SPIRE \u06a9\u06d2 \u0633\u0627\u062a\u06be Cilium \u0627\u0646\u0633\u0679\u0627\u0644 \u06a9\u0631\u06cc\u06ba\u06d4<\/p>\n<pre><code class=\"language-bash\">helm repo add cilium https:\/\/helm.cilium.io\/\nhelm repo update\n\nhelm upgrade cilium cilium\/cilium \n  --install \n  --namespace kube-system \n  --set kubeProxyReplacement=true \n  --set k8sServiceHost=${API_SERVER_IP} \n  --set k8sServicePort=6443 \n  --set authentication.enabled=true \n  --set authentication.mutual.spire.enabled=true \n  --set authentication.mutual.spire.install.enabled=true \n  --set authentication.mutual.spire.install.server.dataStorage.enabled=false\n<\/code><\/pre>\n<p>\u0627\u0646 \u0645\u06cc\u06ba \u0633\u06d2 \u06a9\u0686\u06be \u062c\u06be\u0646\u0688\u0648\u06ba \u06a9\u0648 \u06cc\u0627\u062f \u06a9\u0631\u0646\u0627 \u0622\u0633\u0627\u0646 \u06c1\u06d2\u060c \u0644\u06cc\u06a9\u0646 \u06c1\u0631 \u0627\u06cc\u06a9 \u067e\u0631 \u0628\u0648\u062c\u06be \u06c1\u06d2\u06d4<\/p>\n<ul>\n<li>\n<p><code>kubeProxyReplacement=true<\/code>: Cilium kube-proxy \u06a9\u06d2 \u0644\u06cc\u06d2 eBPF \u067e\u0631 \u0645\u0628\u0646\u06cc \u0645\u062a\u0628\u0627\u062f\u0644 \u0627\u0646\u0633\u0679\u0627\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u062c\u0628 \u0628\u06be\u06cc \u0642\u0633\u0645 \u06a9\u06cc \u06a9\u0646\u0641\u06cc\u06af\u0631\u06cc\u0634\u0646 \u0633\u06cc\u0679 \u06a9\u06cc \u062c\u0627\u062a\u06cc \u06c1\u06d2 \u062a\u0648 \u0627\u0633 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u0648\u062a\u06cc \u06c1\u06d2\u06d4 <code>kubeProxyMode: none<\/code>.<\/p>\n<\/li>\n<li>\n<p><code>k8sServiceHost<\/code>    \/ <code>k8sServicePort<\/code>: Cilium \u0633\u0631\u0648\u0633 ClusterIP \u06a9\u0648 \u0631\u0648\u0679 \u06a9\u0631\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u0628\u0648\u0679\u0633\u0679\u0631\u06cc\u067e\u0646\u06af \u06a9\u06d2 \u062f\u0648\u0631\u0627\u0646 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06c1\u0648\u0646\u06d2 \u0648\u0627\u0644\u0627 \u0688\u0627\u0626\u0631\u06cc\u06a9\u0679 API \u0633\u0631\u0648\u0631 \u0627\u06cc\u0688\u0631\u06cc\u0633\u06d4 EKS\/GKE\/AKS \u0645\u06cc\u06ba \u06cc\u06c1 \u0636\u0631\u0648\u0631\u06cc \u0646\u06c1\u06cc\u06ba \u06c1\u06d2 \u06a9\u06cc\u0648\u0646\u06a9\u06c1 kube-proxy \u0627\u0628 \u0628\u06be\u06cc \u0627\u0646\u0633\u0679\u0627\u0644\u06cc\u0634\u0646 \u06a9\u06d2 \u062f\u0648\u0631\u0627\u0646 \u0645\u0648\u062c\u0648\u062f \u06c1\u06d2\u06d4<\/p>\n<\/li>\n<li>\n<p><code>authentication.enabled=true<\/code>: \u06a9\u06d2 \u0633\u0627\u062a\u06be \u062f\u0631\u06a9\u0627\u0631 \u06c1\u06d2\u06d4 <code>authentication.mutual.spire.enabled=true<\/code>. \u0686\u0627\u0631\u0679 \u06a9\u06d2 <code>validate.yaml<\/code> \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u0648\u0626\u06d2 \u0627\u0646\u0633\u0679\u0627\u0644\u06cc\u0634\u0646 \u0633\u06d2 \u0627\u0646\u06a9\u0627\u0631 \u06a9\u0631\u06cc\u06ba: <code>SPIRE integration requires .Values.authentication.enabled=true and .Values.authentication.mutual.spire.enabled=true<\/code> \u0627\u06af\u0631 \u0635\u0631\u0641 \u0628\u0627\u06c1\u0645\u06cc \u062c\u06be\u0646\u0688\u0627 \u0642\u0627\u0626\u0645 \u06a9\u06cc\u0627 \u062c\u0627\u0626\u06d2\u06d4<\/p>\n<\/li>\n<li>\n<p><code>dataStorage.enabled=false<\/code>: SPIRE \u0633\u0631\u0648\u0631 \u06a9\u0648 PVC \u06a9\u06cc \u062d\u0645\u0627\u06cc\u062a \u06cc\u0627\u0641\u062a\u06c1 \u0688\u06cc\u0679\u0627 \u0627\u0633\u0679\u0648\u0631\u06cc\u062c \u0633\u06d2 \u0627\u0646 \u0645\u06cc\u0645\u0648\u0631\u06cc \u0645\u06cc\u06ba \u062a\u0628\u062f\u06cc\u0644 \u06a9\u0631\u06cc\u06ba\u06d4 \u06cc\u06c1 \u0644\u06cc\u0628 \u06a9\u0644\u0633\u0679\u0631\u0632 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0679\u06be\u06cc\u06a9 \u06c1\u06d2\u060c \u0644\u06cc\u06a9\u0646 \u067e\u0631\u0648\u0688\u06a9\u0634\u0646 \u0645\u06cc\u06ba \u0627\u0633\u06d2 \u0641\u0639\u0627\u0644 \u0631\u06c1\u0646\u06d2 \u062f\u06cc\u06ba \u0627\u0648\u0631 \u06cc\u0642\u06cc\u0646\u06cc \u0628\u0646\u0627\u0626\u06cc\u06ba \u06a9\u06c1 \u0622\u067e \u06a9\u06d2 \u06a9\u0644\u0633\u0679\u0631 \u067e\u0631 PertantVolume \u06a9\u06cc \u0633\u06c1\u0648\u0644\u062a \u06c1\u06d2\u06d4<\/p>\n<\/li>\n<\/ul>\n<p>\u0628\u0631\u0627\u06c1 \u06a9\u0631\u0645 \u0646\u0648\u0679 \u06a9\u0631\u06cc\u06ba \u06a9\u06c1 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4 <code>--wait<\/code> \u06cc\u06c1\u0627\u06ba \u0627\u067e\u0646\u0627 \u062c\u06be\u0646\u0688\u0627 \u0644\u06af\u0627\u0626\u06cc\u06ba\u06d4 \u0646\u0626\u06d2 \u06a9\u0644\u0633\u0679\u0631 \u0645\u06cc\u06ba <code>--wait<\/code> \u0627\u06cc\u0633\u0627 \u0644\u06af\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u06cc\u06c1 \u0646\u0627\u06a9\u0627\u0645 \u06c1\u0648 \u062c\u0627\u0626\u06d2 \u06af\u0627 <code>context deadline exceeded<\/code> \u0627\u0633 \u06a9\u06cc \u0648\u062c\u06c1 \u06cc\u06c1 \u06c1\u06d2 \u06a9\u06c1 \u0627\u0633 \u06a9\u06d2 \u0688\u06cc\u0632\u0627\u0626\u0646 \u06a9\u06cc \u0648\u062c\u06c1 \u0633\u06d2 \u062a\u0646\u0635\u06cc\u0628 \u0645\u0634\u06a9\u0644 \u06c1\u06d2\u06d4 SPIRE \u0633\u0631\u0648\u0631\u0632 \u06a9\u0648 \u0645\u0646\u062f\u0631\u062c\u06c1 \u0630\u06cc\u0644 \u0637\u0648\u0631 \u067e\u0631 \u0645\u062d\u0641\u0648\u0638 \u06a9\u06cc\u0627 \u062c\u0627\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2: <code>NotReady<\/code> \u0627\u062c\u0627\u0632\u062a \u06a9\u0627 \u0634\u06a9\u0631\u06cc\u06c1\u060c \u0646\u0648\u0688 \u0641\u0639\u0627\u0644 \u06c1\u0648 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u060c \u0627\u06cc\u06a9 Cilium \u0627\u06cc\u062c\u0646\u0679 SPIRE \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u0648\u0626\u06d2 \u0627\u0628\u06be\u0631\u062a\u0627 \u06c1\u06d2\u060c \u0627\u0648\u0631 \u067e\u06be\u0631 \u0646\u0648\u0688 \u0627\u0633 \u067e\u0631 \u0633\u0648\u0626\u0686 \u06a9\u0631\u062a\u0627 \u06c1\u06d2: <code>Ready<\/code>. \u0627\u0646\u0633\u0679\u0627\u0644\u06cc\u0634\u0646 \u06a9\u0648 \u0641\u0648\u0631\u06cc \u0637\u0648\u0631 \u067e\u0631 \u0648\u0627\u067e\u0633 \u0622\u0646\u06d2 \u062f\u06cc\u06ba \u0627\u0648\u0631 \u0627\u06af\u0644\u06d2 ~2 \u0645\u0646\u0679 \u0645\u06cc\u06ba \u067e\u0648\u0688\u0632 \u06a9\u0648 \u0646\u0645\u0648\u062f\u0627\u0631 \u06c1\u0648\u062a\u06d2 \u062f\u06cc\u06a9\u06be\u06cc\u06ba\u06d4<\/p>\n<pre><code class=\"language-bash\">kubectl get pods -A -w\n<\/code><\/pre>\n<h3 id=\"heading-step-4-verify-the-installation\">\u0645\u0631\u062d\u0644\u06c1 4: \u062a\u0646\u0635\u06cc\u0628 \u06a9\u06cc \u062a\u0635\u062f\u06cc\u0642 \u06a9\u0631\u06cc\u06ba\u06d4<\/h3>\n<pre><code class=\"language-bash\">cilium status --wait\n<\/code><\/pre>\n<pre><code class=\"language-plaintext\">    \/\u00af\u00af\n \/\u00af\u00af__\/\u00af\u00af    Cilium:             OK\n __\/\u00af\u00af__\/    Operator:           OK\n \/\u00af\u00af__\/\u00af\u00af    Envoy DaemonSet:    OK\n __\/\u00af\u00af__\/    Hubble Relay:       disabled\n    __\/       ClusterMesh:        disabled\n\nDaemonSet              cilium             Desired: 3, Ready: 3\/3, Available: 3\/3\nDaemonSet              cilium-envoy       Desired: 3, Ready: 3\/3, Available: 3\/3\nDeployment             cilium-operator    Desired: 2, Ready: 2\/2, Available: 2\/2\n<\/code><\/pre>\n<p>SPIRE \u0627\u062c\u0632\u0627\u0621 \u06a9\u0648 \u0686\u06cc\u06a9 \u06a9\u0631\u06cc\u06ba: 3 Cilium \u0627\u06cc\u062c\u0646\u0679\u0633\u060c \u0627\u06cc\u06a9 \u0641\u06cc \u0646\u0648\u0688\u060c \u0628\u0634\u0645\u0648\u0644 \u06a9\u0646\u0679\u0631\u0648\u0644 \u062c\u06c1\u0627\u0632 (\u0642\u0633\u0645 \u06a9\u06cc \u062a\u0631\u062a\u06cc\u0628 \u0645\u06cc\u06ba \u06a9\u0648\u0626\u06cc \u0622\u0644\u0648\u062f\u06af\u06cc \u0646\u06c1\u06cc\u06ba)\u06d4 <code>cilium-spire<\/code> \u0646\u0627\u0645 \u06a9\u06cc \u062c\u06af\u06c1:<\/p>\n<pre><code class=\"language-bash\">kubectl get all -n cilium-spire\n<\/code><\/pre>\n<pre><code class=\"language-plaintext\">NAME                    READY   STATUS    RESTARTS   AGE\npod\/spire-agent-2cpsr   1\/1     Running   0          3m\npod\/spire-agent-klhjx   1\/1     Running   0          3m\npod\/spire-agent-vhsnc   1\/1     Running   0          3m\npod\/spire-server-0      2\/2     Running   0          3m\n\nNAME                              TYPE        CLUSTER-IP    PORT(S)    AGE\nservice\/spire-server              ClusterIP   10.96.x.x     8081\/TCP   3m\n\nNAME                          DESIRED   CURRENT   READY   AGE\ndaemonset.apps\/spire-agent    3         3         3       3m\n\nNAME                             READY   AGE\nstatefulset.apps\/spire-server    1\/1     3m\n<\/code><\/pre>\n<p>\u0627\u06cc\u06a9 SPIRE \u0627\u06cc\u062c\u0646\u0679 \u0641\u06cc \u0646\u0648\u0688\u06d4 SPIRE \u0633\u0631\u0648\u0631 \u062f\u0648 \u06a9\u0646\u0679\u06cc\u0646\u0631\u0632 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0627\u06cc\u06a9 \u0627\u0633\u0679\u06cc\u0679\u0641\u0648\u0644 \u0633\u06cc\u0679 \u06c1\u06d2: \u0633\u0631\u0648\u0631 \u062e\u0648\u062f \u0627\u0648\u0631 SPIRE \u06a9\u0646\u0679\u0631\u0648\u0644\u0631 \u0645\u06cc\u0646\u06cc\u062c\u0631\u060c \u062c\u0648 \u062e\u0648\u062f \u06a9\u0627\u0631 \u0637\u0631\u06cc\u0642\u06d2 \u0633\u06d2 Cilium ID \u06a9\u06d2 \u0644\u06cc\u06d2 \u0648\u0631\u06a9 \u0644\u0648\u0688 \u0631\u062c\u0633\u0679\u0631\u06cc\u0634\u0646 \u0627\u0646\u062f\u0631\u0627\u062c\u0627\u062a \u062a\u062e\u0644\u06cc\u0642 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>SPIRE \u0633\u0631\u0648\u0631 \u067e\u0631 \u06c1\u06cc\u0644\u062a\u06be \u0686\u06cc\u06a9 \u0686\u0644\u0627\u0626\u06cc\u06ba\u06d4<\/p>\n<pre><code class=\"language-bash\">kubectl exec -n cilium-spire spire-server-0 -c spire-server -- \n  \/opt\/spire\/bin\/spire-server healthcheck\n<\/code><\/pre>\n<pre><code class=\"language-plaintext\">Server is healthy.\n<\/code><\/pre>\n<p>\u062a\u0635\u062f\u06cc\u0642 \u06a9\u0631\u06cc\u06ba \u06a9\u06c1 SPIRE \u0627\u06cc\u062c\u0646\u0679 \u06a9\u06cc \u062a\u0635\u062f\u06cc\u0642 \u06c1\u06d2\u06d4<\/p>\n<pre><code class=\"language-bash\">kubectl exec -n cilium-spire spire-server-0 -c spire-server -- \n  \/opt\/spire\/bin\/spire-server agent list\n<\/code><\/pre>\n<pre><code class=\"language-plaintext\">Found 3 attested agents:\n\nSPIFFE ID         : spiffe:\/\/spiffe.cilium\/spire\/agent\/k8s_psat\/default\/<node-uid-1>\nAttestation type  : k8s_psat\nExpiration time   : 2026-05-17 21:08:47 +0000 UTC\nSerial number     : 91532884191503307904684123063465502141\nCan re-attest     : true\n\nSPIFFE ID         : spiffe:\/\/spiffe.cilium\/spire\/agent\/k8s_psat\/default\/<node-uid-2>\n...\n<\/node-uid-2><\/node-uid-1><\/code><\/pre>\n<p>\u062a\u06cc\u0646\u0648\u06ba \u0627\u06cc\u062c\u0646\u0679\u0633\u060c \u0627\u06cc\u06a9 \u0641\u06cc \u0646\u0648\u0688\u060c Kubernetes PSAT \u06a9\u06d2 \u0633\u0627\u062a\u06be \u062a\u0635\u062f\u06cc\u0642 \u0634\u062f\u06c1 \u06c1\u06cc\u06ba\u06d4 SPIRE \u0633\u0631\u0648\u0631 \u062a\u0645\u0627\u0645 \u0646\u0648\u0688\u0633 \u067e\u0631 \u0628\u06be\u0631\u0648\u0633\u06c1 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 SVIDs \u06a9\u0648 \u0627\u0646 \u0646\u0648\u0688\u0633 \u067e\u0631 \u0686\u0644\u0646\u06d2 \u0648\u0627\u0644\u06d2 \u0648\u0631\u06a9 \u0628\u0648\u062c\u06be \u06a9\u06d2 \u0644\u06cc\u06d2 \u062c\u0627\u0631\u06cc \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u0633 \u0648\u0642\u062a\u060c \u0634\u0646\u0627\u062e\u062a \u06a9\u0627 \u067e\u0644\u06cc\u0679 \u0641\u0627\u0631\u0645 \u0645\u06a9\u0645\u0644 \u0637\u0648\u0631 \u067e\u0631 \u062a\u06cc\u0627\u0631 \u06c1\u06d2\u060c \u0644\u06cc\u06a9\u0646 \u0627\u0628\u06be\u06cc \u062a\u06a9 \u0627\u0633\u06d2 \u06a9\u0686\u06be \u0628\u06be\u06cc \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u0646\u06c1\u06cc\u06ba \u06a9\u0631 \u0631\u06c1\u0627 \u06c1\u06d2\u06d4 \u0688\u06cc\u0645\u0648 1 \u0645\u06cc\u06ba \u06c1\u0645 \u0646\u06d2 \u0645\u0646\u062f\u0631\u062c\u06c1 \u0630\u06cc\u0644 \u0645\u0634\u06cc\u0646 \u0628\u0646\u0627\u0626\u06cc: <em>\u0645\u0633\u0626\u0644\u06c1<\/em> \u06a9\u0631\u067e\u0679\u0648 \u0634\u0646\u0627\u062e\u062a\u06d4 \u0688\u06cc\u0645\u0648 2\u060c \u062c\u0633\u06d2 \u06c1\u0645 \u0622\u06af\u06d2 \u062f\u06cc\u06a9\u06be\u06cc\u06ba \u06af\u06d2\u060c \u0627\u0633 \u0646\u0638\u0627\u0645 \u06a9\u0648 \u062d\u0631\u06a9\u062a \u0645\u06cc\u06ba \u0644\u0627\u062a\u0627 \u06c1\u06d2\u060c \u0627\u0648\u0631 \u0627\u0633 SVID \u06a9\u0648 \u062f\u0648 \u062d\u0642\u06cc\u0642\u06cc \u062e\u062f\u0645\u0627\u062a \u06a9\u06d2 \u062f\u0631\u0645\u06cc\u0627\u0646 \u0632\u0628\u0631\u062f\u0633\u062a\u06cc \u0628\u0627\u06c1\u0645\u06cc TLS \u067e\u0627\u0644\u06cc\u0633\u06cc \u0645\u06cc\u06ba \u0628\u062f\u0644 \u062f\u06cc\u062a\u0627 \u06c1\u06d2\u06d4 \u0688\u06cc\u0645\u0648 1 \u0633\u06d2 \u06a9\u0644\u0633\u0679\u0631 \u0686\u0644\u0627\u0646\u0627 \u062c\u0627\u0631\u06cc \u0631\u06a9\u06be\u06cc\u06ba \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u0688\u06cc\u0645\u0648 2 \u0628\u0631\u0627\u06c1 \u0631\u0627\u0633\u062a \u06a9\u0644\u0633\u0679\u0631 \u067e\u0631 \u0628\u0646\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<h2 id=\"heading-demo-2-enforce-mutual-tls-with-a-ciliumnetworkpolicy\">\u0688\u06cc\u0645\u0648 2 &#8211; CiliumNetwork\u067e\u0627\u0644\u06cc\u0633\u06cc \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u0648\u0626\u06d2 \u0628\u0627\u06c1\u0645\u06cc TLS \u06a9\u0648 \u0646\u0627\u0641\u0630 \u06a9\u0631\u0646\u0627<\/h2>\n<p>\u0688\u06cc\u0645\u0648 1 \u0645\u06cc\u06ba\u060c \u06c1\u0645 \u062f\u0648 \u062e\u062f\u0645\u0627\u062a \u06a9\u0648 \u062a\u0639\u06cc\u0646\u0627\u062a \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u06cc\u06a9 \u06c1\u06cc \u06a9\u0644\u0633\u0679\u0631 \u06a9\u0648 \u0645\u0646\u062a\u062e\u0628 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 <code>CiliumNetworkPolicy<\/code>\u06cc\u0642\u06cc\u0646\u06cc \u0628\u0646\u0627\u0626\u06cc\u06ba \u06a9\u06c1 \u062a\u0635\u062f\u06cc\u0642 \u0634\u062f\u06c1 \u0679\u0631\u06cc\u0641\u06a9 \u06a9\u0627 \u0628\u06c1\u0627\u0624 \u06c1\u06d2 \u0627\u0648\u0631 \u06cc\u06c1 \u06a9\u06c1 \u063a\u06cc\u0631 \u062a\u0635\u062f\u06cc\u0642 \u0634\u062f\u06c1 \u06a9\u0646\u06a9\u0634\u0646 \u0645\u0633\u062f\u0648\u062f \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u06cc\u06c1\u0627\u06ba \u06a9\u06cc \u062a\u0645\u0627\u0645 \u062f\u0631\u062e\u0648\u0627\u0633\u062a\u06cc\u06ba SPIRE \u0633\u0631\u0648\u0631 \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u067e\u0627\u0633 \u06a9\u0631\u062f\u06c1 SVID \u0633\u06d2 \u062a\u0635\u062f\u06cc\u0642 \u0634\u062f\u06c1 \u06c1\u06cc\u06ba \u062c\u0633\u06d2 \u06c1\u0645 \u0646\u06d2 \u0627\u0628\u06be\u06cc \u0686\u06cc\u06a9 \u06a9\u06cc\u0627 \u06c1\u06d2\u06d4 \u06cc\u06c1 \u062f\u0648\u0646\u0648\u06ba \u0688\u06cc\u0645\u0648 \u0627\u06cc\u06a9 \u0645\u0633\u0644\u0633\u0644 \u0648\u0631\u0632\u0634 \u06c1\u06cc\u06ba\u060c \u0627\u0633\u0679\u06cc\u0646\u0688 \u0627\u06a9\u06cc\u0644\u06d2 \u0645\u0634\u0642\u06cc\u06ba \u0646\u06c1\u06cc\u06ba\u06d4<\/p>\n<h3 id=\"heading-step-1-deploy-a-client-and-server\">\u0645\u0631\u062d\u0644\u06c1 1: \u06a9\u0644\u0627\u0626\u0646\u0679\u0633 \u0627\u0648\u0631 \u0633\u0631\u0648\u0631\u0632 \u06a9\u0648 \u062a\u0639\u06cc\u0646\u0627\u062a \u06a9\u0631\u06cc\u06ba\u06d4<\/h3>\n<p>\u0627\u0633 \u0641\u0627\u0626\u0644 \u0645\u06cc\u06ba \u0633\u0631\u0648\u0631 \u0627\u0648\u0631 \u06a9\u0644\u0627\u0626\u0646\u0679 \u062f\u0648\u0646\u0648\u06ba \u0634\u0627\u0645\u0644 \u06c1\u06cc\u06ba\u06d4 \u06a9\u0644\u0627\u0626\u0646\u0679 \u0627\u06cc\u06a9 \u0633\u0644\u06cc\u067e\u0646\u06af \u06a9\u0644\u067e\u0688 \u06c1\u06d2 \u062c\u0648 \u067e\u06be\u0627\u0646\u0633\u06cc \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u06cc\u0627 \u062c\u0627\u0626\u06d2 \u06af\u0627\u06d4<\/p>\n<pre><code class=\"language-yaml\"># echo-workloads.yaml\napiVersion: apps\/v1\nkind: Deployment\nmetadata:\n  name: echo-server\n  namespace: default\nspec:\n  replicas: 1\n  selector:\n    matchLabels:\n      app: echo-server\n  template:\n    metadata:\n      labels:\n        app: echo-server\n    spec:\n      containers:\n        - name: echo-server\n          image: ealen\/echo-server:latest\n          ports:\n            - containerPort: 80\n---\napiVersion: v1\nkind: Service\nmetadata:\n  name: echo-server\n  namespace: default\nspec:\n  selector:\n    app: echo-server\n  ports:\n    - port: 80\n      targetPort: 80\n---\napiVersion: apps\/v1\nkind: Deployment\nmetadata:\n  name: echo-client\n  namespace: default\nspec:\n  replicas: 1\n  selector:\n    matchLabels:\n      app: echo-client\n  template:\n    metadata:\n      labels:\n        app: echo-client\n    spec:\n      containers:\n        - name: client\n          image: curlimages\/curl:latest\n          command: [\"sleep\", \"infinity\"]\n<\/code><\/pre>\n<pre><code class=\"language-bash\">kubectl apply -f echo-workloads.yaml\n# kubectl rollout status only takes one resource at a time\nkubectl rollout status deployment\/echo-server -n default\nkubectl rollout status deployment\/echo-client -n default\n<\/code><\/pre>\n<h3 id=\"heading-step-2-confirm-traffic-flows-without-authentication\">\u0645\u0631\u062d\u0644\u06c1 2: \u0628\u063a\u06cc\u0631 \u062a\u0635\u062f\u06cc\u0642 \u06a9\u06d2 \u0679\u0631\u06cc\u0641\u06a9 \u06a9\u06d2 \u0628\u06c1\u0627\u0624 \u06a9\u06cc \u062a\u0635\u062f\u06cc\u0642 \u06a9\u0631\u06cc\u06ba\u06d4<\/h3>\n<p>\u0627\u06cc\u0645 \u0679\u06cc \u0627\u06cc\u0644 \u0627\u06cc\u0633 \u06a9\u0648 \u0646\u0627\u0641\u0630 \u06a9\u0631\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2\u060c \u06cc\u0642\u06cc\u0646\u06cc \u0628\u0646\u0627\u0626\u06cc\u06ba \u06a9\u06c1 \u0622\u067e \u06a9\u06d2 \u06a9\u0644\u0627\u0626\u0646\u0679 \u0622\u067e \u06a9\u06d2 \u0633\u0631\u0648\u0631 \u0633\u06d2 \u062c\u0691 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<pre><code class=\"language-bash\">CLIENT=$(kubectl get pod -l app=echo-client -o jsonpath=\"{.items[0].metadata.name}\")\nkubectl exec $CLIENT -- curl -s http:\/\/echo-server\/\n<\/code><\/pre>\n<p>\u0622\u067e \u06a9\u0648 \u0627\u06cc\u06a9\u0648 \u0633\u0631\u0648\u0631 \u0633\u06d2 JSON \u062c\u0648\u0627\u0628 \u0645\u0648\u0635\u0648\u0644 \u06c1\u0648\u0646\u0627 \u0686\u0627\u06c1\u0626\u06d2\u06d4 \u0628\u063a\u06cc\u0631 \u062a\u0635\u062f\u06cc\u0642 \u06a9\u06d2 \u0679\u0631\u06cc\u0641\u06a9 \u0622\u0632\u0627\u062f\u0627\u0646\u06c1 \u0637\u0648\u0631 \u067e\u0631 \u0631\u0648\u0627\u06ba \u062f\u0648\u0627\u06ba \u06c1\u06d2\u06d4<\/p>\n<h3 id=\"heading-step-3-apply-a-ciliumnetworkpolicy-requiring-mutual-authentication\">\u0645\u0631\u062d\u0644\u06c1 3: CiliumNetworkPolicy \u06a9\u0627 \u0627\u0637\u0644\u0627\u0642 \u06a9\u0631\u06cc\u06ba \u062c\u0633 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0628\u0627\u06c1\u0645\u06cc \u062a\u0635\u062f\u06cc\u0642 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u0648\u06d4<\/h3>\n<p>\u0634\u0627\u0645\u0644 \u06a9\u0631\u0646\u0627 <code>authentication.mode: required<\/code> \u06a9\u0648 <code>CiliumNetworkPolicy<\/code> Cilium \u06a9\u0648 \u0645\u0645\u0627\u062b\u0644 \u0679\u0631\u06cc\u0641\u06a9 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0628\u0627\u06c1\u0645\u06cc TLS \u0646\u0627\u0641\u0630 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u06c1\u062f\u0627\u06cc\u062a \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u06a9\u0646\u06a9\u0634\u0646 \u06a9\u06d2 \u062f\u0648\u0646\u0648\u06ba \u0627\u0637\u0631\u0627\u0641 \u06a9\u0648 \u0627\u06cc\u06a9 \u062f\u0631\u0633\u062a SPIFFE SVID \u067e\u06cc\u0634 \u06a9\u0631\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u06d4<\/p>\n<pre><code class=\"language-yaml\"># mtls-policy.yaml\napiVersion: cilium.io\/v2\nkind: CiliumNetworkPolicy\nmetadata:\n  name: echo-server-mtls\n  namespace: default\nspec:\n  endpointSelector:\n    matchLabels:\n      app: echo-server\n  ingress:\n    - fromEndpoints:\n        - matchLabels:\n            app: echo-client\n      authentication:\n        mode: required     # Require mutual TLS for this traffic\n<\/code><\/pre>\n<pre><code class=\"language-bash\">kubectl apply -f mtls-policy.yaml\n<\/code><\/pre>\n<h3 id=\"heading-step-4-verify-authenticated-traffic-still-flows\">\u0645\u0631\u062d\u0644\u06c1 4: \u062a\u0635\u062f\u06cc\u0642 \u06a9\u0631\u06cc\u06ba \u06a9\u06c1 \u062a\u0635\u062f\u06cc\u0642 \u0634\u062f\u06c1 \u0679\u0631\u06cc\u0641\u06a9 \u062c\u0627\u0631\u06cc \u06c1\u06d2\u06d4<\/h3>\n<pre><code class=\"language-bash\">kubectl exec $CLIENT -- curl -s http:\/\/echo-server\/\n<\/code><\/pre>\n<p>\u06a9\u0646\u06a9\u0634\u0646 \u06a9\u0627\u0645\u06cc\u0627\u0628 \u06c1\u06d2\u06d4 Cilium \u0646\u06d2 \u0627\u0633\u06d2 \u0631\u0648\u06a9\u0627 \u0627\u0648\u0631 \u062f\u0648\u0646\u0648\u06ba \u067e\u0648\u0688 \u0646\u0648\u0688\u0633 \u067e\u0631 Cilium \u0627\u06cc\u062c\u0646\u0679\u0648\u06ba \u06a9\u06d2 \u062f\u0631\u0645\u06cc\u0627\u0646 SPIFFE mTLS \u06c1\u06cc\u0646\u0688 \u0634\u06cc\u06a9 \u06a9\u06cc\u0627\u060c \u062f\u0648\u0646\u0648\u06ba SVIDs \u06a9\u06cc \u062a\u0635\u062f\u06cc\u0642 \u06a9\u06cc \u0627\u0648\u0631 \u0679\u0631\u06cc\u0641\u06a9 \u06a9\u0648 \u06af\u0632\u0631\u0646\u06d2 \u062f\u06cc\u0627\u06d4 \u06a9\u0644\u0627\u0626\u0646\u0679 \u06a9\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0646\u06d2 \u0627\u06cc\u06a9 \u0633\u0627\u062f\u06c1 HTTP \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0628\u06be\u06cc\u062c\u06cc \u0627\u0648\u0631 \u062c\u0648\u0627\u0628 \u0645\u0648\u0635\u0648\u0644 \u06c1\u0648\u0627\u06d4 \u0646\u06cc\u0679 \u0648\u0631\u06a9 \u067e\u0631\u062a \u067e\u0631 \u0628\u0627\u06c1\u0645\u06cc \u062a\u0635\u062f\u06cc\u0642 \u0634\u0641\u0627\u0641 \u06c1\u06d2\u06d4<\/p>\n<h3 id=\"heading-step-5-observe-the-authentication-with-hubble-optional\">\u0645\u0631\u062d\u0644\u06c1 5: \u06c1\u0628\u0644 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0633\u0631\u0679\u06cc\u0641\u06cc\u06a9\u06cc\u0634\u0646 \u06a9\u0627 \u0645\u0634\u0627\u06c1\u062f\u06c1 \u06a9\u0631\u06cc\u06ba (\u0627\u062e\u062a\u06cc\u0627\u0631\u06cc)<\/h3>\n<p>\u06c1\u0628\u0644 Cilium \u06a9\u06cc \u0642\u0627\u0628\u0644 \u0645\u0634\u0627\u06c1\u062f\u06c1 \u062a\u06c1\u06c1 \u06c1\u06d2\u06d4 \u0622\u067e \u06a9\u0648 \u0627\u067e\u0646\u06d2 CLI \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u0648\u06af\u06cc\u06d4<\/p>\n<pre><code class=\"language-bash\"># macOS\nbrew install hubble\n\n# Linux\nHUBBLE_VERSION=$(curl -s https:\/\/raw.githubusercontent.com\/cilium\/hubble\/master\/stable.txt)\ncurl -L --remote-name-all \n  https:\/\/github.com\/cilium\/hubble\/releases\/download\/${HUBBLE_VERSION}\/hubble-linux-amd64.tar.gz\nsudo tar -xzf hubble-linux-amd64.tar.gz -C \/usr\/local\/bin\n<\/code><\/pre>\n<p>\u0627\u067e\u0646\u06d2 \u06a9\u0644\u0633\u0679\u0631 \u067e\u0631 \u06c1\u0628\u0644 \u06a9\u0648 \u0686\u0627\u0644\u0648 \u06a9\u0631\u06cc\u06ba \u0627\u0648\u0631 \u0628\u06c1\u0627\u0624 \u062f\u06cc\u06a9\u06be\u06cc\u06ba\u06d4 <code>cilium hubble enable<\/code> \u06c1\u0628\u0644 \u0631\u06cc\u0644\u06d2 \u06a9\u06cc \u062a\u0639\u06cc\u0646\u0627\u062a\u06cc\u06d4 <em>\u0627\u0648\u0631<\/em> Cilium \u0627\u06cc\u062c\u0646\u0679 \u06a9\u0648 \u0627\u0633 \u06a9\u06d2 \u0627\u0646\u062f\u0631 \u0645\u0648\u062c\u0648\u062f \u06c1\u0628\u0644 \u0633\u0631\u0648\u0631 \u06a9\u0648 \u0622\u0646 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u062f\u0648\u0628\u0627\u0631\u06c1 \u0634\u0631\u0648\u0639 \u06a9\u0631\u06cc\u06ba\u060c \u0644\u06c1\u0630\u0627 \u067e\u0648\u0631\u0679 \u0641\u0627\u0631\u0648\u0631\u0688\u0646\u06af \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u0627\u0633 \u06a9\u06d2 \u0645\u0633\u062a\u062d\u06a9\u0645 \u06c1\u0648\u0646\u06d2 \u06a9\u0627 \u0627\u0646\u062a\u0638\u0627\u0631 \u06a9\u0631\u06cc\u06ba\u06d4 \u0627\u06af\u0631 \u0622\u067e \u0627\u0646\u062a\u0638\u0627\u0631 \u06a9\u0631\u0646\u0627 \u0686\u06be\u0648\u0691 \u062f\u06cc\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u062a\u0648 \u0631\u06cc\u0644\u06d2 \u06a9\u06d2 \u0633\u0646\u0646\u06d2 \u0627\u0648\u0631 \u0628\u0627\u06c1\u0631 \u0646\u06a9\u0644\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u067e\u0648\u0631\u0679 \u0641\u0627\u0631\u0648\u0631\u0688\u0646\u06af \u0645\u0646\u0633\u0644\u06a9 \u06c1\u0648 \u062c\u0627\u062a\u06cc \u06c1\u06d2: <code>connection reset by peer<\/code> \/ <code>rpc error \u2026 EOF<\/code>:<\/p>\n<pre><code class=\"language-bash\">cilium hubble enable\ncilium status --wait          # wait for \"Hubble Relay: OK\" before continuing\n\ncilium hubble port-forward &\n\n# Watch flows for the echo-server (Ctrl-C to stop)\nhubble observe --namespace default --pod echo-server --follow\n<\/code><\/pre>\n<p>\u06cc\u06c1 \u062f\u0648\u0633\u0631\u06d2 \u0679\u0631\u0645\u06cc\u0646\u0644 \u0645\u06cc\u06ba \u0627\u06cc\u06a9 \u0627\u0648\u0631 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u06a9\u0648 \u0645\u062a\u062d\u0631\u06a9 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<pre><code class=\"language-bash\">kubectl exec $CLIENT -- curl -s http:\/\/echo-server\/\n<\/code><\/pre>\n<p>\u06c1\u0628\u0644 \u0622\u0624\u0679 \u067e\u0679 \u0645\u06cc\u06ba \u06c1\u0645 \u062f\u06cc\u06a9\u06be \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba:<\/p>\n<pre><code class=\"language-plaintext\">\n&#x2139;  Hubble Relay is available at 127.0.0.1:4245\nJul  7 12:44:42.380: default\/echo-client-86d446b8f-9bn5v:47500 (ID:2822) -> default\/echo-server-7467b4b54d-5tvkz:80 (ID:30854) policy-verdict:none TRAFFIC_DIRECTION_UNKNOWN ALLOWED (TCP Flags: SYN)\nJul  7 12:44:42.380: default\/echo-client-86d446b8f-9bn5v:47500 (ID:2822) -> default\/echo-server-7467b4b54d-5tvkz:80 (ID:30854) to-endpoint FORWARDED (TCP Flags: SYN)\nJul  7 12:44:42.381: default\/echo-client-86d446b8f-9bn5v:47500 (ID:2822) <- default\/echo-server-7467b4b54d-5tvkz:80 (ID:30854) to-endpoint FORWARDED (TCP Flags: SYN, ACK)\n<\/code><\/pre>\n<p>\u06a9\u06c1 <code>ALLOWED<\/code> \u067e\u0631 \u0641\u06cc\u0635\u0644\u06c1 <code>policy-verdict<\/code> \u0648\u062c\u06c1 \u06cc\u06c1 \u06c1\u06d2 \u06a9\u06c1 CiliumNetworkPolicy \u0645\u0645\u0627\u062b\u0644 \u06c1\u06d2 \u0627\u0648\u0631 \u062a\u0635\u062f\u06cc\u0642 \u06a9\u06cc \u06c1\u06d2\u06d4 \u06a9\u0648\u0626\u06cc \u0633\u0627\u0626\u0688 \u06a9\u0627\u0631 \u0634\u0627\u0645\u0644 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4 \u06cc\u06c1 Cilium \u0627\u06cc\u062c\u0646\u0679 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u06c1\u0648\u0627.<\/p>\n<p><strong>\u06af\u0631\u0627\u0641\u06cc\u06a9\u0644 \u0645\u0646\u0638\u0631 \u06a9\u0648 \u062a\u0631\u062c\u06cc\u062d \u062f\u06cc\u06ba\u061f \u06c1\u0628\u0644 UI \u06a9\u0648 \u0641\u0639\u0627\u0644 \u06a9\u0631\u06cc\u06ba\u06d4<\/strong> \u0645\u0630\u06a9\u0648\u0631\u06c1 \u0628\u0627\u0644\u0627 \u0633\u0628\u06be\u06cc API + \u0679\u0631\u0645\u06cc\u0646\u0644 \u0631\u0627\u0633\u062a\u06d2 \u06c1\u06cc\u06ba (\u067e\u0648\u0631\u0679 4245 \u067e\u0631 \u0631\u06cc\u0644\u06d2 \u06c1\u06d2\u06d4 <code>hubble<\/code> CLI)\u06d4 \u06c1\u0628\u0644 \u0631\u06cc\u0626\u0644 \u0679\u0627\u0626\u0645 \u0633\u0631\u0648\u0633 \u0645\u06cc\u067e\u0633 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0627\u06cc\u06a9 \u0648\u06cc\u0628 \u0688\u06cc\u0634 \u0628\u0648\u0631\u0688 \u0628\u06be\u06cc \u067e\u06cc\u0634 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 <code>cilium hubble enable<\/code> \u06a9\u0631\u0648 <em>~ \u0646\u06c1\u06cc\u06ba<\/em> \u067e\u06c1\u0644\u06d2 \u0633\u06d2 \u0637\u06d2 \u0634\u062f\u06c1 \u0637\u0648\u0631 \u067e\u0631 \u06cc\u06c1 \u0627\u0633 \u0633\u06d2 \u0634\u0631\u0648\u0639 \u06c1\u0648\u062a\u0627 \u06c1\u06d2:<\/p>\n<pre><code class=\"language-bash\"># Add the UI (re-runs enable, keeps Relay, adds the hubble-ui deployment)\ncilium hubble enable --ui\n\n# Wait for it to be Ready before opening \u2014 same race as Relay. Skip this and\n# `cilium hubble ui` fails with \"connection refused\" on port 8081, because the\n# UI's frontend container isn't listening yet.\nkubectl -n kube-system rollout status deployment\/hubble-ui --timeout=90s\n\n# Port-forwards hubble-ui and opens http:\/\/localhost:12000 in your browser\ncilium hubble ui\n<\/code><\/pre>\n<p>\u0645\u0646\u062a\u062e\u0628 \u06a9\u0631\u06cc\u06ba <code>default<\/code> \u0688\u0631\u0627\u067e \u0688\u0627\u0624\u0646 \u0633\u06d2 \u0646\u0627\u0645 \u06a9\u06cc \u062c\u06af\u06c1 \u0645\u0646\u062a\u062e\u0628 \u06a9\u0631\u06cc\u06ba\u06d4 \u06cc\u06c1 \u0648\u06c1 \u062c\u06af\u06c1 \u06c1\u06d2 \u062c\u06c1\u0627\u06ba \u0688\u06cc\u0645\u0648 \u067e\u0648\u0688\u0632 \u0627\u0648\u0631 \u067e\u0627\u0644\u06cc\u0633\u06cc\u0627\u06ba \u0648\u0627\u0642\u0639 \u06c1\u06cc\u06ba\u06d4 \u0646\u0642\u0634\u06c1 \u06c1\u06d2 <em>\u0632\u0646\u062f\u06c1<\/em>: \u0628\u06cc\u06a9\u0627\u0631 \u0646\u0627\u0645 \u06a9\u06cc \u062c\u06af\u06c1 \u062e\u0627\u0644\u06cc \u062f\u06a9\u06be\u0627\u0626\u06cc \u062f\u06cc\u062a\u06cc \u06c1\u06d2 \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u062c\u0628 \u0628\u06c1\u0627\u0624 \u06c1\u0648\u062a\u0627 \u06c1\u06d2 \u062a\u0648 \u06cc\u06c1 \u06a9\u0646\u0627\u0631\u0648\u06ba \u06a9\u0648 \u067e\u06cc\u0634 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u0644\u0627\u0626\u0679 \u0622\u0646 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u06a9\u0648 \u0645\u062a\u062d\u0631\u06a9 \u06a9\u0631\u06cc\u06ba\u06d4<\/p>\n<pre><code class=\"language-bash\">kubectl exec $CLIENT -- curl -s http:\/\/echo-server\/\n<\/code><\/pre>\n<p>\u0627\u06c1\u0645 \u06a9\u0646\u0627\u0631\u06c1 \u062f\u06a9\u06be\u0627\u0626\u06cc \u062f\u06d2 \u0631\u06c1\u0627 \u06c1\u06d2\u06d4 <code>echo-client \u2192 echo-server<\/code>. \u067e\u0691\u06be\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u06a9\u0644\u06a9 \u06a9\u0631\u06cc\u06ba (\u06cc\u0627 \u0646\u06cc\u0686\u06d2 \u0641\u0644\u0648 \u0686\u0627\u0631\u0679 \u06a9\u06be\u0648\u0644\u06cc\u06ba)\u06d4 <code>policy-verdict: ALLOWED<\/code>. UI \u06a9\u0648 \u0645\u0631\u062d\u0644\u06c1 6 \u062a\u06a9 \u06a9\u06be\u0644\u0627 \u0686\u06be\u0648\u0691 \u062f\u06cc\u06ba\u06d4 \u0627\u06af\u0631 \u0622\u067e \u0648\u06c1\u0627\u06ba \u0627\u06cc\u06a9 \u0628\u062f\u0645\u0639\u0627\u0634 \u06a9\u0644\u0627\u0626\u0646\u0679 \u0679\u06cc\u0633\u0679 \u0686\u0644\u0627\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u062a\u0648 \u06a9\u0646\u06a9\u0634\u0646 \u06a9\u0648 \u0633\u0631\u062e \u0631\u0646\u06af \u0645\u06cc\u06ba \u0646\u0634\u0627\u0646 \u0632\u062f \u06a9\u06cc\u0627 \u062c\u0627\u0626\u06d2 \u06af\u0627\u06d4 <em>\u06af\u0631 \u06af\u06cc\u0627<\/em> \u06a9\u0646\u0627\u0631\u06d2\u060c \u0628\u0635\u0631\u06cc \u06c1\u0645 \u0645\u0646\u0635\u0628 <code>curl<\/code> \u0679\u0627\u0626\u0645 \u0622\u0624\u0679<\/p>\n<p>UI \u062a\u06cc\u0646 \u062d\u0635\u0648\u06ba \u067e\u0631 \u0645\u0634\u062a\u0645\u0644 \u06c1\u06d2:<\/p>\n<p>\u06a9\u06c1 <strong>\u0633\u0631\u0648\u0633 \u06a9\u0627 \u0646\u0642\u0634\u06c1<\/strong> \u0633\u0628 \u0633\u06d2 \u0627\u0648\u067e\u0631\u060c \u06c1\u0645 \u06c1\u0631 \u06a9\u0627\u0645 \u06a9\u06d2 \u0628\u0648\u062c\u06be \u06a9\u06cc \u0634\u0646\u0627\u062e\u062a \u06a9\u0648 \u0627\u06cc\u06a9 \u0628\u0627\u06a9\u0633 \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631 \u0627\u0648\u0631 \u06c1\u0631 \u0645\u0634\u0627\u06c1\u062f\u06c1 \u06a9\u0646\u06a9\u0634\u0646 \u06a9\u0648 \u0627\u0633 \u06a9\u06d2 \u0641\u06cc\u0635\u0644\u06d2 \u06a9\u06d2 \u0645\u0637\u0627\u0628\u0642 \u0631\u0646\u06af\u06cc\u0646 \u06a9\u0646\u0627\u0631\u06d2 \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631 \u06a9\u06be\u06cc\u0646\u0686\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 <code>echo-client \u2192 echo-server:80<\/code> \u0633\u0628\u0632 (\u0688\u06cc\u0644\u06cc\u0648\u0631 \u0634\u062f\u06c1) \u06a9\u0646\u0627\u0631\u06d2 \u06c1\u06cc\u06ba \u0627\u0648\u0631 \u0628\u0627\u06a9\u0633 \u067e\u0631 \u0644\u06cc\u0628\u0644 \u0644\u06af\u0627 \u06c1\u0648\u0627 \u06c1\u06d2\u06d4 <code>default<\/code> (\u0628\u0633 <code>unauthorized<\/code> \u0627\u06cc\u06a9 \u067e\u0648\u0688 \u062c\u0648 \u0635\u0631\u0641 \u0646\u0627\u0645 \u06a9\u06cc \u062c\u06af\u06c1 ID \u06a9\u0648 \u067e\u0627\u0633 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u06a9\u0648\u0626\u06cc \u0646\u0627\u0645 \u06a9\u06cc \u062c\u06af\u06c1 ID \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4 <code>app<\/code> \u0686\u0648\u0646\u06a9\u06c1 \u06cc\u06c1 \u0627\u06cc\u06a9 \u0644\u06cc\u0628\u0644 \u06c1\u06d2\u060c \u0627\u0633 \u0644\u06cc\u06d2 \u06c1\u0628\u0644 \u06a9\u0627 \u0646\u0627\u0645 \u0627\u0633 \u06a9\u06d2 \u0646\u0627\u0645 \u067e\u0631 \u0631\u06a9\u06be\u0627 \u06af\u06cc\u0627 \u06c1\u06d2) <code>echo-server<\/code>  \u0633\u0631\u062e \u0646\u0642\u0637\u06d2 \u0648\u0627\u0644\u06cc (\u06af\u0631\u0627 \u06c1\u0648\u0627) \u0644\u0627\u0626\u0646 \u067e\u0631 \u0644\u0627\u06a9 \u06a9\u0631\u06cc\u06ba\u06d4 <code>echo-server<\/code>\u0627\u06cc\u0633 <code>\u2192 80 TCP<\/code> \u067e\u0648\u0631\u0679 \u0627\u067e\u0646\u06d2 \u0627\u062e\u062a\u062a\u0627\u0645\u06cc \u0646\u0642\u0637\u06c1 \u06a9\u0648 \u067e\u0627\u0644\u06cc\u0633\u06cc \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06c1 \u0628\u0627\u06c1\u0645\u06cc \u0637\u0648\u0631 \u067e\u0631 \u062a\u0635\u062f\u06cc\u0642 \u0634\u062f\u06c1 \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631 \u0646\u0634\u0627\u0646 \u0632\u062f \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u06a9\u06c1 <strong>\u0628\u06c1\u0627\u0624 \u06a9\u06cc \u0645\u06cc\u0632<\/strong> \u0630\u06cc\u0644 \u0645\u06cc\u06ba\u060c \u0627\u06cc\u06a9 \u0642\u0637\u0627\u0631 \u0641\u06cc \u0628\u06c1\u0627\u0624 (\u0630\u0631\u06cc\u0639\u06c1 ID\u060c \u0645\u0646\u0632\u0644 \u06a9\u06cc ID\u060c \u0645\u0646\u0632\u0644 \u06a9\u06cc \u0628\u0646\u062f\u0631\u06af\u0627\u06c1\u060c L7 \u0645\u0639\u0644\u0648\u0645\u0627\u062a) \u0631\u06cc\u06a9\u0627\u0631\u0688 \u06a9\u06cc \u06af\u0626\u06cc \u06c1\u06d2\u06d4 <code>Verdict<\/code>\u0627\u0648\u0631 \u0679\u0627\u0626\u0645 \u0633\u0679\u06cc\u0645\u067e. \u06cc\u06c1 \u0622\u067e \u06a9\u0648 \u062f\u0648\u0646\u0648\u06ba \u0646\u062a\u0627\u0626\u062c \u06a9\u0648 \u0633\u0627\u062a\u06be \u0633\u0627\u062a\u06be \u067e\u0691\u06be\u0646\u06d2 \u06a9\u06cc \u0627\u062c\u0627\u0632\u062a \u062f\u06cc\u062a\u0627 \u06c1\u06d2\u06d4 <code>echo-client \u2192 echo-server<\/code> \u0646\u0634\u0627\u0646 \u0632\u062f \u0642\u0637\u0627\u0631 <strong>\u067e\u06c1\u0646\u0686\u0627\u06cc\u0627<\/strong> \u0627\u0648\u0631 <code>default \u2192 echo-server<\/code> \u0646\u0634\u0627\u0646 \u0632\u062f \u0642\u0637\u0627\u0631 <strong>\u06af\u0631 \u06af\u06cc\u0627<\/strong>. \u06cc\u06c1 CLI (\u0627\u06cc\u06a9 \u0644\u0627\u0626\u0646 \u0641\u06cc \u067e\u06cc\u06a9\u0679) \u06a9\u06cc \u0637\u0631\u062d \u062a\u0642\u0633\u06cc\u0645 \u06a9\u06cc \u0627\u062c\u0627\u0632\u062a\/\u0627\u0646\u06a9\u0627\u0631 \u06c1\u06d2\u06d4<\/p>\n<p>\u06a9\u06c1 <strong>\u0633\u0628 \u0633\u06d2 \u0627\u0648\u067e\u0631 \u0628\u0627\u0631<\/strong> \u0646\u0627\u0645 \u06a9\u06cc \u062c\u06af\u06c1 \u0633\u0644\u06cc\u06a9\u0679\u0631\u060c \u0641\u0644\u0648 \u0641\u0644\u0679\u0631\u060c <code>Any verdict<\/code> \/ <code>Visual<\/code> \u0679\u0648\u06af\u0644 \u06a9\u0631\u06cc\u06ba\u060c \u0627\u0648\u0631 \u0644\u0627\u0626\u06cc\u0648 <code>flows\/s<\/code> \u0631\u067e\u0648\u0631\u0679\u0646\u06af \u0646\u0648\u0688\u0633 \u06a9\u06cc \u062a\u0639\u062f\u0627\u062f \u06a9\u06d2 \u0633\u0627\u062a\u06be\u060c \u062a\u0646\u0627\u0633\u0628 (<code>3\/3<\/code>)\u06d4<\/p>\n<h3 id=\"heading-step-6-verify-that-a-pod-without-the-matching-label-is-blocked\">\u0645\u0631\u062d\u0644\u06c1 6: \u062a\u0635\u062f\u06cc\u0642 \u06a9\u0631\u06cc\u06ba \u06a9\u06c1 \u0645\u0645\u0627\u062b\u0644 \u0644\u06cc\u0628\u0644 \u06a9\u06d2 \u0628\u063a\u06cc\u0631 \u067e\u0648\u0688\u0632 \u0645\u0633\u062f\u0648\u062f \u06c1\u06cc\u06ba\u06d4<\/h3>\n<p>\u0627\u0633 \u06a9\u06d2 \u0628\u063a\u06cc\u0631 \u062a\u06cc\u0633\u0631\u0627 \u067e\u0648\u0688 \u062a\u0639\u06cc\u0646\u0627\u062a \u06a9\u0631\u06cc\u06ba\u06d4 <code>echo-client<\/code> \u0627\u06cc\u06a9 \u0644\u06cc\u0628\u0644 \u06a9\u06cc \u0648\u0636\u0627\u062d\u062a \u06a9\u0631\u06cc\u06ba \u0627\u0648\u0631 \u0633\u0631\u0648\u0631 \u0633\u06d2 \u062c\u0691\u0646\u06d2 \u06a9\u06cc \u06a9\u0648\u0634\u0634 \u06a9\u0631\u06cc\u06ba\u06d4<\/p>\n<pre><code class=\"language-yaml\"># unauthorized-client.yaml\napiVersion: v1\nkind: Pod\nmetadata:\n  name: unauthorized\n  namespace: default\nspec:\n  containers:\n    - name: client\n      image: curlimages\/curl:latest\n      command: [\"sleep\", \"infinity\"]\n<\/code><\/pre>\n<pre><code class=\"language-bash\">kubectl apply -f unauthorized-client.yaml\nkubectl wait --for=condition=Ready pod\/unauthorized --timeout=60s\nkubectl exec unauthorized -- curl -sS --max-time 5 http:\/\/echo-server\/\n<\/code><\/pre>\n<pre><code class=\"language-plaintext\">curl: (28) Connection timed out after 5000 milliseconds\n<\/code><\/pre>\n<p>\u06a9\u0646\u06a9\u0634\u0646 \u06a9\u0627 \u0648\u0642\u062a \u062e\u062a\u0645 \u06c1\u0648 \u06af\u06cc\u0627\u06d4 \u06a9\u06c1 <code>CiliumNetworkPolicy<\/code> \u0635\u0631\u0641 \u0627\u0646 \u067e\u0648\u0688\u0648\u06ba \u0633\u06d2 \u0627\u0633\u062a\u0642\u0628\u0627\u0644 \u06a9\u06cc \u0627\u062c\u0627\u0632\u062a \u062f\u06cc\u06ba \u062c\u0646 \u0645\u06cc\u06ba \u0634\u0627\u0645\u0644 \u06c1\u06cc\u06ba: <code>app: echo-client<\/code>. \u0627\u0633 \u0644\u06cc\u0628\u0644 \u06a9\u06d2 \u0628\u063a\u06cc\u0631 \u067e\u0648\u0688\u0632 \u06a9\u0648 SVID \u0645\u06cc\u0686\u0646\u06af \u0627\u0648\u0631 \u067e\u0627\u0644\u06cc\u0633\u06cc \u0645\u06cc\u0686\u0646\u06af \u0646\u06c1\u06cc\u06ba \u0645\u0644\u06d2 \u06af\u06cc\u06d4 Cilium \u062e\u0648\u062f \u0628\u062e\u0648\u062f \u0679\u0631\u06cc\u0641\u06a9 \u06a9\u0648 \u06af\u0631\u0627 \u062f\u06cc\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u06cc\u06c1\u0627\u06ba \u062f\u0648 \u0645\u0633\u0627\u0626\u0644 \u0633\u06d2 \u0622\u06af\u0627\u06c1 \u06c1\u0648\u0646\u0627 \u0636\u0631\u0648\u0631\u06cc \u06c1\u06d2\u06d4 \u0686\u0644\u0627\u0626\u06cc\u06ba <code>kubectl wait<\/code> \u0686\u0644\u0627\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2\u06d4 exec \u0628\u06c1\u062a \u062a\u06cc\u0632\u06cc \u0633\u06d2 \u0686\u0644 \u0631\u06c1\u0627 \u06c1\u06d2 <code>apply<\/code> \u0627\u0648\u0631 \u0622\u067e \u06a9\u0648 \u0645\u0644\u062a\u0627 \u06c1\u06d2 <code>container not found (\"client\")<\/code> \u0627\u0633 \u06a9\u06cc \u0648\u062c\u06c1 \u06cc\u06c1 \u06c1\u06d2 \u06a9\u06c1 \u067e\u0648\u0688 \u06a9\u0627 \u06a9\u0646\u0679\u06cc\u0646\u0631 \u0627\u0628\u06be\u06cc \u0634\u0631\u0648\u0639 \u0646\u06c1\u06cc\u06ba \u06c1\u0648\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u0648\u0631 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u06cc\u06ba <code>curl -sS<\/code>\u0639\u0627\u0645 \u0646\u06c1\u06cc\u06ba <code>-s<\/code>. \u0635\u0631\u0641 <code>-s<\/code>curl \u063a\u0644\u0637\u06cc \u06a9\u06d2 \u0645\u062a\u0646 \u06a9\u0648 \u0646\u06af\u0644\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0622\u067e \u0635\u0631\u0641 \u062f\u06cc\u06a9\u06be \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 <code>command terminated with exit code 28<\/code>. \u0646\u062a\u06cc\u062c\u06c1 \u0627\u06cc\u06a9 \u06c1\u06cc \u06c1\u06d2 - 28 <em>\u06c1\u06d2<\/em> \u06a9\u0631\u0644 \u06a9\u0627 \u0679\u0627\u0626\u0645 \u0622\u0624\u0679 \u06a9\u0648\u0688 - \u0644\u06cc\u06a9\u0646 <code>-S<\/code> \u067e\u0691\u06be\u0646\u06d2 \u06a9\u06d2 \u0642\u0627\u0628\u0644 \u067e\u06cc\u063a\u0627\u0645\u0627\u062a \u06a9\u0648 \u0628\u062d\u0627\u0644 \u06a9\u0631\u06cc\u06ba\u06d4 \u062d\u0642\u06cc\u0642\u062a \u06cc\u06c1 \u06c1\u06d2 \u06a9\u06c1 \u0679\u0627\u0626\u0645 \u0622\u0624\u0679 \u06c1\u0648\u0627 (\"\u06a9\u0646\u06a9\u0634\u0646 \u0633\u06d2 \u0627\u0646\u06a9\u0627\u0631\" \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2) \u067e\u0627\u0644\u06cc\u0633\u06cc \u06a9\u0627 \u062f\u0633\u062a\u062e\u0637 \u06c1\u06d2\u06d4 <em>\u0627\u062a\u0631 \u062c\u0627\u0624<\/em>:\u067e\u06cc\u06a9\u0679\u0633 \u06a9\u0648 \u0641\u0639\u0627\u0644 \u0637\u0648\u0631 \u067e\u0631 \u0645\u0633\u062a\u0631\u062f \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2 \u062e\u0648\u062f \u0628\u062e\u0648\u062f \u0628\u0644\u06cc\u06a9 \u06c1\u0648\u0644 \u06a9\u0631 \u062f\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u06af\u0631 \u0645\u06cc\u06ba \u0627\u0646\u06a9\u0627\u0631 \u06a9\u0631\u062a\u0627 \u06c1\u0648\u06ba \u062a\u0648 \u0645\u062c\u06be\u06d2 \u0641\u0648\u0631\u06cc \u0637\u0648\u0631 \u067e\u0631 \u0627\u06cc\u06a9 \u0627\u0648\u0631 \u063a\u0644\u0637\u06cc \u06c1\u0648 \u062c\u0627\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<h3 id=\"heading-step-7-check-the-workload-entries-in-spire\">\u0645\u0631\u062d\u0644\u06c1 7: SPIRE \u0645\u06cc\u06ba \u06a9\u0627\u0645 \u06a9\u06d2 \u0628\u0648\u062c\u06be \u06a9\u06d2 \u0627\u0646\u062f\u0631\u0627\u062c\u0627\u062a \u06a9\u0648 \u0686\u06cc\u06a9 \u06a9\u0631\u06cc\u06ba\u06d4<\/h3>\n<p>Cilium \u06a9\u06d2 SPIRE \u06a9\u0646\u0679\u0631\u0648\u0644\u0631 \u0645\u06cc\u0646\u06cc\u062c\u0631 \u0646\u06d2 \u0627\u0633 \u06a9\u0644\u0633\u0679\u0631 \u06a9\u06cc Cilium \u0633\u06cc\u06a9\u0648\u0631\u0679\u06cc \u0634\u0646\u0627\u062e\u062a \u06a9\u06d2 \u0644\u06cc\u06d2 \u062e\u0648\u062f \u0628\u062e\u0648\u062f \u0627\u06cc\u06a9 SPIFFE ID \u0628\u0646\u0627\u0626\u06cc \u06c1\u06d2\u06d4 \u0622\u067e \u0627\u0646\u06c1\u06cc\u06ba \u062f\u06cc\u06a9\u06be \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba:<\/p>\n<pre><code class=\"language-bash\">kubectl exec -n cilium-spire spire-server-0 -c spire-server -- \n  \/opt\/spire\/bin\/spire-server entry show \n  -selector cilium:mutual-auth\n<\/code><\/pre>\n<p>\u06c1\u0631 \u0627\u0646\u062f\u0631\u0627\u062c Cilium \u0633\u06cc\u06a9\u0648\u0631\u0679\u06cc ID \u06a9\u0648 SPIFFE ID \u0633\u06d2 \u0646\u0642\u0634\u06c1 \u0628\u0646\u0627\u062a\u0627 \u06c1\u06d2\u06d4 Cilium \u0622\u067e\u0631\u06cc\u0679\u0631\u0632 \u062e\u0648\u062f \u0628\u062e\u0648\u062f \u0627\u0633 \u0631\u062c\u0633\u0679\u0631\u06cc \u06a9\u0627 \u0646\u0638\u0645 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u0644\u06c1\u0630\u0627 Cilium \u06a9\u06d2 \u0628\u0644\u0679 \u0627\u0646 \u0627\u0646\u0679\u06cc\u06af\u0631\u06cc\u0634\u0646\u0632 \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06d2 \u0648\u0642\u062a \u0622\u067e \u06a9\u0648 \u06a9\u0627\u0645 \u06a9\u06d2 \u0628\u0648\u062c\u06be \u06a9\u0648 \u062f\u0633\u062a\u06cc \u0637\u0648\u0631 \u067e\u0631 \u0631\u062c\u0633\u0679\u0631 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4<\/p>\n<h2 id=\"heading-conclusion\">\u0646\u062a\u06cc\u062c\u06c1<\/h2>\n<p>\u0622\u067e \u06a9\u0627 IP \u067e\u062a\u06c1 \u0622\u067e \u06a9\u0627 \u0645\u0642\u0627\u0645 \u06c1\u06d2\u060c \u0622\u067e \u06a9\u06cc \u0634\u0646\u0627\u062e\u062a \u0646\u06c1\u06cc\u06ba\u06d4 \u0627\u0648\u0631 Kubernetes \u0645\u06cc\u06ba\u060c \u0645\u0642\u0627\u0645\u0627\u062a \u06c1\u0631 \u062a\u0639\u06cc\u0646\u0627\u062a\u06cc \u06a9\u06d2 \u0633\u0627\u062a\u06be \u062a\u0628\u062f\u06cc\u0644 \u06c1\u0648\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u0627\u0633 \u0644\u06cc\u06d2 \u0627\u06cc\u0688\u0631\u06cc\u0633 \u06a9\u06d2 \u0645\u0644\u0627\u067e \u067e\u0631 \u0645\u0628\u0646\u06cc \u06a9\u0648\u0626\u06cc \u0628\u06be\u06cc \u067e\u0627\u0644\u06cc\u0633\u06cc \u0648\u0642\u062a \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0633\u0627\u062a\u06be \u062e\u0648\u062f \u0628\u062e\u0648\u062f \u062a\u0646\u0632\u0644\u06cc \u06a9\u0627 \u0634\u06a9\u0627\u0631 \u06c1\u0648 \u062c\u0627\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<p>\u06a9\u0631\u067e\u0679\u0648\u06af\u0631\u0627\u0641\u06a9 \u0648\u0631\u06a9 \u0628\u0648\u062c\u06be \u06a9\u06cc \u0634\u0646\u0627\u062e\u062a \u0628\u0646\u06cc\u0627\u062f\u06cc \u0637\u0648\u0631 \u067e\u0631 \u0627\u0633\u06d2 \u0679\u06be\u06cc\u06a9 \u06a9\u0631\u062a\u06cc \u06c1\u06d2\u06d4 SPIFFE \u0645\u0627\u0688\u0644 \u06a9\u06cc \u0648\u0636\u0627\u062d\u062a \u06a9\u0631\u062a\u0627 \u06c1\u06d2 (SPIFFE ID \u0679\u0631\u0633\u0679 \u0688\u0648\u0645\u06cc\u0646 \u06a9\u06d2 \u0627\u0646\u062f\u0631 \u06a9\u0627\u0645 \u06a9\u06d2 \u0628\u0648\u062c\u06be \u06a9\u0648 \u0646\u0627\u0645 \u062f\u06cc\u062a\u0627 \u06c1\u06d2\u060c \u0627\u0648\u0631 X.509 SVID \u0627\u0633\u06d2 \u0627\u06cc\u06a9 \u0633\u0631\u0679\u06cc\u0641\u06a9\u06cc\u0679 \u0645\u06cc\u06ba \u062a\u0628\u062f\u06cc\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u062c\u0633 \u06a9\u06cc \u06a9\u0648\u0626\u06cc \u0628\u06be\u06cc TLS \u0644\u0627\u0626\u0628\u0631\u06cc\u0631\u06cc \u062a\u0635\u062f\u06cc\u0642 \u06a9\u0631 \u0633\u06a9\u062a\u06cc \u06c1\u06d2) \u0627\u0648\u0631 SPIRE \u0627\u0633\u06d2 \u0646\u0627\u0641\u0630 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u0633\u0631\u0648\u0631\u0632 CA \u0627\u0648\u0631 \u0631\u062c\u0633\u0679\u0631\u06cc \u06c1\u06cc\u06ba\u060c \u0627\u0648\u0631 \u0641\u06cc \u0646\u0648\u0688 \u0627\u06cc\u062c\u0646\u0679 Kubernetes PSAT \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u062a\u0635\u062f\u06cc\u0642 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba \u0627\u0648\u0631 \u0642\u0644\u06cc\u0644 \u0627\u0644\u0645\u062f\u062a\u06cc\u060c \u062e\u0648\u062f\u06a9\u0627\u0631 \u06af\u06be\u0648\u0645\u0646\u06d2 \u0648\u0627\u0644\u06cc SVIDs \u062c\u0627\u0631\u06cc \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>Cilium \u062a\u06c1\u0648\u06ba \u06a9\u06cc \u0634\u0646\u0627\u062e\u062a \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0627\u0646\u06c1\u06cc\u06ba \u0646\u06cc\u0679 \u0648\u0631\u06a9 \u0633\u06d2 \u062c\u0648\u0691\u062a\u0627 \u06c1\u06d2\u06d4 \u0634\u0627\u0645\u0644 \u06a9\u0631\u06cc\u06ba <code>authentication.mode: required<\/code> CiliumNetworkPolicy \u0627\u0648\u0631 \u0627\u0633 \u06a9\u0627 eBPF \u0627\u06cc\u062c\u0646\u0679 \u062f\u0648\u0646\u0648\u06ba \u06a9\u0627\u0645 \u06a9\u06d2 \u0628\u0648\u062c\u06be \u06a9\u06d2 SVIDs \u062d\u0627\u0635\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u0628\u0627\u06c1\u0645\u06cc TLS \u06c1\u06cc\u0646\u0688 \u0634\u06cc\u06a9 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u0627\u0648\u0631 \u0646\u062a\u0627\u0626\u062c \u06a9\u0648 \u0646\u0627\u0641\u0630 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0633\u0631\u0648\u0633 \u0645\u06cc\u0634 \u06a9\u06d2 \u0645\u0642\u0627\u0628\u0644\u06d2 \u0645\u06cc\u06ba \u06a9\u0648\u0626\u06cc \u0633\u0627\u0626\u06cc\u0688 \u06a9\u0627\u0631\u0632 \u0646\u06c1\u06cc\u06ba \u06c1\u06cc\u06ba\u060c \u06a9\u0648\u0626\u06cc \u0627\u06cc\u067e\u0644\u06cc\u06a9\u06cc\u0634\u0646 \u062a\u0628\u062f\u06cc\u0644\u06cc\u0627\u06ba \u0646\u06c1\u06cc\u06ba \u06c1\u06cc\u06ba\u060c \u0627\u0648\u0631 \u062a\u0642\u0631\u06cc\u0628\u0627 \u0635\u0641\u0631 \u0627\u0648\u0648\u0631 \u06c1\u06cc\u0688 \u06c1\u06cc\u06ba\u06d4 \u0627\u0648\u0631 \u06c1\u0645 \u0646\u06d2 \u0627\u06cc\u06a9 \u06c1\u06cc \u06c1\u06cc\u0644\u0645 \u06a9\u0645\u0627\u0646\u0688 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u067e\u0648\u0631\u06d2 \u0627\u0633\u0679\u06cc\u06a9 \u06a9\u0648 \u062a\u0639\u06cc\u0646\u0627\u062a \u06a9\u06cc\u0627\u06d4 \u067e\u06cc\u0686\u06cc\u062f\u06af\u06cc \u0628\u0646\u06cc\u0627\u062f\u06cc \u0688\u06be\u0627\u0646\u0686\u06d2 \u0645\u06cc\u06ba \u06c1\u06d2\u060c \u06a9\u0648\u0688 \u0645\u06cc\u06ba \u0646\u06c1\u06cc\u06ba\u06d4<\/p>\n<h2 id=\"heading-cleanup-kind\">\u0635\u0641\u0627\u0626\u06cc (\u0642\u0633\u0645)<\/h2>\n<pre><code class=\"language-bash\"># Delete demo workloads\nkubectl delete deployment echo-server echo-client -n default\nkubectl delete service echo-server -n default\nkubectl delete pod unauthorized -n default\nkubectl delete ciliumnetworkpolicy echo-server-mtls -n default\n\n# Uninstall Cilium (helm doesn't delete the cilium-spire namespace it created)\nhelm uninstall cilium -n kube-system\nkubectl delete namespace cilium-spire\n\n# Delete the cluster (easiest reset on kind)\nkind delete cluster --name k8s-mtls\n<\/code><\/pre>\n<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u0646\u06cc\u0679 \u0648\u0631\u06a9 \u06a9\u06cc \u067e\u0627\u0644\u06cc\u0633\u06cc \u062f\u0631\u062c \u0630\u06cc\u0644 \u0679\u0631\u06cc\u0641\u06a9 \u06a9\u06cc \u0627\u062c\u0627\u0632\u062a \u062f\u06cc\u062a\u06cc \u06c1\u06d2: 10.0.1.45. \u06a9\u0644\u060c 10.0.1.45 \u06cc\u06c1 \u0622\u067e \u06a9\u06cc \u0627\u062f\u0627\u0626\u06cc\u06af\u06cc \u06a9\u06cc \u062e\u062f\u0645\u062a \u062a\u06be\u06cc\u06d4 \u0645\u0648\u062c\u0648\u062f\u06c1 \u0631\u0648\u0644\u0646\u06af \u062a\u0639\u06cc\u0646\u0627\u062a\u06cc \u06a9\u06d2 \u0628\u0639\u062f\u060c \u06cc\u06c1 \u0644\u0627\u06af\u0646\u06af \u0627\u06cc\u062c\u0646\u0679 \u0628\u0646 \u062c\u0627\u0626\u06d2 \u06af\u0627\u06d4 \u0622\u067e \u06a9\u06cc \u0627\u062f\u0627\u0626\u06cc\u06af\u06cc \u06a9\u06cc \u062e\u062f\u0645\u062a \u0641\u06cc \u0627\u0644\u062d\u0627\u0644 \u06c1\u06d2\u06d4 10.0.1.89. Kubernetes \u0646\u06d2 \u067e\u06c1\u0644\u06d2 \u06c1\u06cc \u062a\u0645\u0627\u0645 \u0627\u06cc\u0646\u0688 \u067e\u0648\u0627\u0626\u0646\u0679\u0633 \u0627\u0648\u0631 \u0633\u0631\u0648\u0633 \u0631\u06cc\u06a9\u0627\u0631\u0688\u0632 \u06a9\u0648 \u0627\u067e \u0688\u06cc\u0679 \u06a9\u0631 [&hellip;]<\/p>\n","protected":false},"author":7,"featured_media":26394,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[1],"tags":[],"class_list":["post-26393","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog"],"_links":{"self":[{"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/posts\/26393","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/comments?post=26393"}],"version-history":[{"count":1,"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/posts\/26393\/revisions"}],"predecessor-version":[{"id":26395,"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/posts\/26393\/revisions\/26395"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/media\/26394"}],"wp:attachment":[{"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/media?parent=26393"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/categories?post=26393"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/tags?post=26393"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}