{"id":6716,"date":"2026-07-26T11:00:44","date_gmt":"2026-07-26T07:30:44","guid":{"rendered":"https:\/\/parmin.cloud\/blog\/?p=6716"},"modified":"2026-07-26T11:00:44","modified_gmt":"2026-07-26T07:30:44","slug":"%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%d8%af%db%8c%d9%be%d9%84%d9%88%db%8c-%d9%84%d8%a7%d8%b1%d8%a7%d9%88%d9%84-laravel-%d9%88-mysql-%d8%b1%d9%88%db%8c-%da%a9%d9%88%d8%a8%d8%b1%d9%86%d8%aa%db%8c%d8%b2","status":"publish","type":"post","link":"https:\/\/parmin.cloud\/blog\/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%d8%af%db%8c%d9%be%d9%84%d9%88%db%8c-%d9%84%d8%a7%d8%b1%d8%a7%d9%88%d9%84-laravel-%d9%88-mysql-%d8%b1%d9%88%db%8c-%da%a9%d9%88%d8%a8%d8%b1%d9%86%d8%aa%db%8c%d8%b2\/","title":{"rendered":"\u0622\u0645\u0648\u0632\u0634 \u062f\u06cc\u067e\u0644\u0648\u06cc \u0644\u0627\u0631\u0627\u0648\u0644 (Laravel) \u0648 MySQL \u0631\u0648\u06cc \u06a9\u0648\u0628\u0631\u0646\u062a\u06cc\u0632 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Helm"},"content":{"rendered":"<div class=\"container\">\n<div id=\"model-response-message-contentr_4fa7b9570a21fed7\" class=\"markdown markdown-main-panel enable-luminous-fast-follows enable-updated-hr-color md-content stronger\" dir=\"rtl\" aria-live=\"off\">\n<h3 data-path-to-node=\"3\">\u0645\u0642\u062f\u0645\u0647<\/h3>\n<p data-path-to-node=\"4\"><b data-path-to-node=\"4\" data-index-in-node=\"0\">\u0644\u0627\u0631\u0627\u0648\u0644 (Laravel)<\/b> \u06cc\u06a9\u06cc \u0627\u0632 \u0645\u062d\u0628\u0648\u0628\u200c\u062a\u0631\u06cc\u0646 \u0641\u0631\u06cc\u0645\u200c\u0648\u0631\u06a9\u200c\u0647\u0627\u06cc \u0645\u062a\u0646\u200c\u0628\u0627\u0632 PHP \u0627\u0633\u062a \u06a9\u0647 \u0645\u0639\u0645\u0648\u0644\u0627\u064b \u0628\u0647 \u0647\u0645\u0631\u0627\u0647 \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 <b data-path-to-node=\"4\" data-index-in-node=\"96\">MySQL<\/b> \u0628\u0631\u0627\u06cc \u062a\u0648\u0633\u0639\u0647 \u0648\u0628\u200c\u0633\u0627\u06cc\u062a\u200c\u0647\u0627 \u0648 \u0627\u067e\u0644\u06cc\u06a9\u06cc\u0634\u0646\u200c\u0647\u0627\u06cc \u0645\u062f\u0631\u0646 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f.<\/p>\n<p data-path-to-node=\"5\"><b data-path-to-node=\"5\" data-index-in-node=\"0\">\u06a9\u0648\u0628\u0631\u0646\u062a\u06cc\u0632 (Kubernetes)<\/b> \u06cc\u06a9 \u067e\u0644\u062a\u0641\u0631\u0645 \u0645\u062f\u06cc\u0631\u06cc\u062a \u0648 \u0627\u0631\u06a9\u0633\u062a\u0631\u0627\u0633\u06cc\u0648\u0646 \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631\u0647\u0627\u0633\u062a \u06a9\u0647 \u0645\u062f\u06cc\u0631\u06cc\u062a\u060c \u0645\u0642\u06cc\u0627\u0633\u200c\u067e\u0630\u06cc\u0631\u06cc \u0648 \u0627\u062c\u0631\u0627\u06cc \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0647\u0627 \u0631\u0627 \u062f\u0631 \u0645\u062d\u06cc\u0637 \u067e\u0631\u0648\u062f\u0627\u06a9\u0634\u0646 \u0628\u0633\u06cc\u0627\u0631 \u0622\u0633\u0627\u0646 \u0645\u06cc\u200c\u06a9\u0646\u062f. <b data-path-to-node=\"5\" data-index-in-node=\"145\">Helm<\/b> \u0646\u06cc\u0632 \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u067e\u06a9\u06cc\u062c\u200c\u0645\u0646\u06cc\u062c\u0631 \u06a9\u0648\u0628\u0631\u0646\u062a\u06cc\u0632 \u0639\u0645\u0644 \u06a9\u0631\u062f\u0647 \u0648 \u0646\u0635\u0628\u060c \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0648 \u0645\u062f\u06cc\u0631\u06cc\u062a \u0633\u0631\u0648\u06cc\u0633\u200c\u0647\u0627 \u0631\u0648\u06cc <b data-path-to-node=\"5\" data-index-in-node=\"230\">\u06a9\u0644\u0633\u062a\u0631\u0647\u0627\u06cc (Cluster)<\/b> \u06a9\u0648\u0628\u0631\u0646\u062a\u06cc\u0632 \u0631\u0627 \u0633\u0627\u062f\u0647 \u0645\u06cc\u200c\u0633\u0627\u0632\u062f.<\/p>\n<p data-path-to-node=\"6\">\u062f\u0631 \u0627\u06cc\u0646 \u0631\u0627\u0647\u0646\u0645\u0627\u060c \u0627\u0628\u062a\u062f\u0627 \u06cc\u06a9 \u067e\u0631\u0648\u0698\u0647 \u0644\u0627\u0631\u0627\u0648\u0644 \u0645\u06cc\u200c\u0633\u0627\u0632\u06cc\u0645\u060c \u0622\u0646 \u0631\u0627 \u062a\u0628\u062f\u06cc\u0644 \u0628\u0647 \u0627\u06cc\u0645\u06cc\u062c \u062f\u0627\u06a9\u0631 (Docker Image) \u06a9\u0631\u062f\u0647 \u0648 \u0633\u067e\u0633 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 <b data-path-to-node=\"6\" data-index-in-node=\"113\">Helm<\/b> \u0648 \u0632\u06cc\u0631\u0633\u0627\u062e\u062a <b data-path-to-node=\"6\" data-index-in-node=\"128\">\u067e\u0627\u0631\u0645\u06cc\u0646 \u06a9\u0644\u0648\u062f<\/b>\u060c \u0622\u0646 \u0631\u0627 \u0631\u0648\u06cc \u06a9\u0644\u0633\u062a\u0631 \u06a9\u0648\u0628\u0631\u0646\u062a\u06cc\u0632 \u062f\u06cc\u067e\u0644\u0648\u06cc \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645. \u062f\u0631 \u0646\u0647\u0627\u06cc\u062a \u0628\u0627 \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc Ingress Controller\u060c \u06af\u0648\u0627\u0647\u06cc \u0627\u0645\u0646\u06cc\u062a\u06cc \u0631\u0627\u06cc\u06af\u0627\u0646 SSL \u0648 \u062f\u0627\u0645\u0646\u0647 \u0627\u062e\u062a\u0635\u0627\u0635\u06cc \u0631\u0627 \u0631\u0648\u06cc \u0628\u0631\u0646\u0627\u0645\u0647 \u062a\u0646\u0638\u06cc\u0645 \u062e\u0648\u0627\u0647\u06cc\u0645 \u06a9\u0631\u062f.<\/p>\n<h3 data-path-to-node=\"8\">\u067e\u06cc\u0634\u200c\u0646\u06cc\u0627\u0632\u0647\u0627<\/h3>\n<ul data-path-to-node=\"9\">\n<li>\n<p data-path-to-node=\"9,0,0\"><b data-path-to-node=\"9,0,0\" data-index-in-node=\"0\">\u0646\u0635\u0628 \u062f\u0627\u06a9\u0631 (Docker):<\/b> \u0631\u0648\u06cc \u0633\u06cc\u0633\u062a\u0645\u06cc \u06a9\u0647 \u0627\u0632 \u0637\u0631\u06cc\u0642 \u0622\u0646 \u0628\u0647 \u06a9\u0644\u0633\u062a\u0631 \u0645\u062a\u0635\u0644 \u0645\u06cc\u200c\u0634\u0648\u06cc\u062f.<\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"9,1,0\"><b data-path-to-node=\"9,1,0\" data-index-in-node=\"0\">\u062d\u0633\u0627\u0628 \u06a9\u0627\u0631\u0628\u0631\u06cc \u062f\u0631 Docker Hub<\/b> \u06cc\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0631\u062c\u06cc\u0633\u062a\u0631\u06cc \u0627\u062e\u062a\u0635\u0627\u0635\u06cc.<\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"9,2,0\"><b data-path-to-node=\"9,2,0\" data-index-in-node=\"0\">\u06a9\u0644\u0633\u062a\u0631 \u06a9\u0648\u0628\u0631\u0646\u062a\u06cc\u0632 (Kubernetes Cluster):<\/b> \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc\u200c\u0634\u062f\u0647 \u0631\u0648\u06cc <b data-path-to-node=\"9,2,0\" data-index-in-node=\"56\">\u067e\u0627\u0631\u0645\u06cc\u0646 \u06a9\u0644\u0648\u062f<\/b> \u0628\u0647 \u0647\u0645\u0631\u0627\u0647 \u0627\u0628\u0632\u0627\u0631 <code data-path-to-node=\"9,2,0\" data-index-in-node=\"83\">kubectl<\/code>.<\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"9,3,0\"><b data-path-to-node=\"9,3,0\" data-index-in-node=\"0\">\u067e\u06a9\u06cc\u062c \u0645\u0646\u06cc\u062c\u0631 Helm (\u0646\u0633\u062e\u0647 \u06f3):<\/b> \u0646\u0635\u0628\u200c\u0634\u062f\u0647 \u0631\u0648\u06cc \u0633\u06cc\u0633\u062a\u0645 \u0645\u062d\u0644\u06cc.<\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"9,4,0\"><b data-path-to-node=\"9,4,0\" data-index-in-node=\"0\">\u06cc\u06a9 \u062f\u0627\u0645\u0646\u0647 \u062b\u0628\u062a\u200c\u0634\u062f\u0647:<\/b> \u062c\u0647\u062a \u0627\u062a\u0635\u0627\u0644 \u0628\u0647 Ingress \u0648 \u062f\u0631\u06cc\u0627\u0641\u062a \u06af\u0648\u0627\u0647\u06cc SSL.<\/p>\n<\/li>\n<\/ul>\n<h2 data-path-to-node=\"11\">\u06af\u0627\u0645 \u0627\u0648\u0644 \u2014 \u0633\u0627\u062e\u062a \u067e\u0631\u0648\u0698\u0647 \u062c\u062f\u06cc\u062f \u0644\u0627\u0631\u0627\u0648\u0644<\/h2>\n<p data-path-to-node=\"12\">\u0628\u0631\u0627\u06cc \u0634\u0631\u0648\u0639\u060c \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631 \u062f\u0627\u06a9\u0631 Composer\u060c \u06cc\u06a9 \u067e\u0631\u0648\u0698\u0647 \u062c\u062f\u06cc\u062f \u0644\u0627\u0631\u0627\u0648\u0644 \u0645\u06cc\u200c\u0633\u0627\u0632\u06cc\u0645. \u0627\u0628\u062a\u062f\u0627 \u0628\u0647 \u0645\u0633\u06cc\u0631 \u062f\u0644\u062e\u0648\u0627\u0647 \u0628\u0631\u0648\u06cc\u062f \u0648 \u062f\u0633\u062a\u0648\u0631 \u0632\u06cc\u0631 \u0631\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f (\u062f\u0631 \u0627\u06cc\u0646 \u062f\u0633\u062a\u0648\u0631 \u0627\u0632 <b data-path-to-node=\"12\" data-index-in-node=\"148\">\u0645\u06cc\u0631\u0648\u0631 Composer \u067e\u0627\u0631\u0645\u06cc\u0646 \u06a9\u0644\u0648\u062f<\/b> \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a):<\/p>\n<div class=\"code-block ng-tns-c1976435164-488 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"0\" data-ved=\"0CAAQhtANahgKEwj9tK_Gtu2VAxUAAAAAHQAAAAAQywQ\">\n<div class=\"formatted-code-block-internal-container ng-tns-c1976435164-488\">\n<div class=\"animated-opacity ng-tns-c1976435164-488\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c1976435164-488 ng-star-inserted\"><span class=\"ng-tns-c1976435164-488\">Bash<\/span><\/p>\n<div class=\"buttons ng-tns-c1976435164-488 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c1976435164-488\"><code class=\"code-container formatted ng-tns-c1976435164-488\" role=\"text\" data-test-id=\"code-content\"><span class=\"hljs-built_in\">cd<\/span> ~\r\ndocker run --rm -v $(<span class=\"hljs-built_in\">pwd<\/span>):\/app composer create-project --prefer-dist laravel\/laravel laravel-kubernetes\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<p data-path-to-node=\"14\">\u067e\u0633 \u0627\u0632 \u0627\u062a\u0645\u0627\u0645 \u0633\u0627\u062e\u062a \u067e\u0631\u0648\u0698\u0647\u060c \u0648\u0627\u0631\u062f \u067e\u0648\u0634\u0647 \u0633\u0627\u062e\u062a\u200c\u0634\u062f\u0647 \u0634\u0648\u06cc\u062f:<\/p>\n<div class=\"code-block ng-tns-c1976435164-489 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"0\" data-ved=\"0CAAQhtANahgKEwj9tK_Gtu2VAxUAAAAAHQAAAAAQzAQ\">\n<div class=\"formatted-code-block-internal-container ng-tns-c1976435164-489\">\n<div class=\"animated-opacity ng-tns-c1976435164-489\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c1976435164-489 ng-star-inserted\"><span class=\"ng-tns-c1976435164-489\">Bash<\/span><\/p>\n<div class=\"buttons ng-tns-c1976435164-489 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c1976435164-489\"><code class=\"code-container formatted ng-tns-c1976435164-489\" role=\"text\" data-test-id=\"code-content\"><span class=\"hljs-built_in\">cd<\/span> ~\/laravel-kubernetes\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<p data-path-to-node=\"16\">\u0628\u0631\u0627\u06cc \u062a\u0633\u062a \u0627\u062a\u0635\u0627\u0644 \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 \u062f\u0631 \u0645\u062d\u06cc\u0637 \u0648\u0628\u060c \u0641\u0627\u06cc\u0644 <code data-path-to-node=\"16\" data-index-in-node=\"44\">resources\/views\/welcome.blade.php<\/code> \u0631\u0627 \u0628\u0627\u0632 \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"code-block ng-tns-c1976435164-490 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"0\" data-ved=\"0CAAQhtANahgKEwj9tK_Gtu2VAxUAAAAAHQAAAAAQzQQ\">\n<div class=\"formatted-code-block-internal-container ng-tns-c1976435164-490\">\n<div class=\"animated-opacity ng-tns-c1976435164-490\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c1976435164-490 ng-star-inserted\"><span class=\"ng-tns-c1976435164-490\">Bash<\/span><\/p>\n<div class=\"buttons ng-tns-c1976435164-490 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c1976435164-490\"><code class=\"code-container formatted ng-tns-c1976435164-490\" role=\"text\" data-test-id=\"code-content\">nano .\/resources\/views\/welcome.blade.php\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<p data-path-to-node=\"18\">\u0628\u062e\u0634 <code data-path-to-node=\"18\" data-index-in-node=\"4\">&lt;div class=\"links\"&gt;...&lt;\/div&gt;<\/code> \u0631\u0627 \u067e\u06cc\u062f\u0627 \u06a9\u0631\u062f\u0647 \u0648 \u06a9\u062f \u0632\u06cc\u0631 \u0631\u0627 \u062c\u0627\u06cc\u06af\u0632\u06cc\u0646 \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"code-block ng-tns-c1976435164-491 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"0\" data-ved=\"0CAAQhtANahgKEwj9tK_Gtu2VAxUAAAAAHQAAAAAQzgQ\">\n<div class=\"formatted-code-block-internal-container ng-tns-c1976435164-491\">\n<div class=\"animated-opacity ng-tns-c1976435164-491\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c1976435164-491 ng-star-inserted\"><span class=\"ng-tns-c1976435164-491\">HTML<\/span><\/p>\n<div class=\"buttons ng-tns-c1976435164-491 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c1976435164-491\"><code class=\"code-container formatted ng-tns-c1976435164-491\" role=\"text\" data-test-id=\"code-content\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">div<\/span> <span class=\"hljs-attr\">class<\/span>=<span class=\"hljs-string\">\"links\"<\/span>&gt;<\/span>\r\n   <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">strong<\/span>&gt;<\/span>\u0648\u0636\u0639\u06cc\u062a \u0627\u062a\u0635\u0627\u0644 \u0628\u0647 \u062f\u06cc\u062a\u0627\u0628\u06cc\u0633: <span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">strong<\/span>&gt;<\/span>\r\n    @php\r\n        try {\r\n            \\DB::connection()-&gt;getPDO();\r\n            echo \\DB::connection()-&gt;getDatabaseName();\r\n        } catch (\\Exception $e) {\r\n            echo '\u0627\u0631\u062a\u0628\u0627\u0637 \u0628\u0631\u0642\u0631\u0627\u0631 \u0646\u0634\u062f';\r\n        }\r\n    @endphp\r\n<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">div<\/span>&gt;<\/span><\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<p data-path-to-node=\"20\">\u0641\u0627\u06cc\u0644 \u0631\u0627 \u0630\u062e\u06cc\u0631\u0647 \u06a9\u0631\u062f\u0647 \u0648 \u0628\u0628\u0646\u062f\u06cc\u062f. \u0627\u06cc\u0646 \u0642\u0637\u0639\u0647 \u06a9\u062f \u06a9\u0648\u062a\u0627\u0647\u060c \u0627\u062a\u0635\u0627\u0644 \u062f\u06cc\u062a\u0627\u0628\u06cc\u0633 \u0631\u0627 \u0628\u0631\u0631\u0633\u06cc \u06a9\u0631\u062f\u0647 \u0648 \u0646\u0627\u0645 \u062f\u06cc\u062a\u0627\u0628\u06cc\u0633 \u0645\u062a\u0635\u0644\u200c\u0634\u062f\u0647 \u0631\u0627 \u062f\u0631 \u0635\u0641\u062d\u0647 \u0627\u0635\u0644\u06cc \u0646\u0645\u0627\u06cc\u0634 \u0645\u06cc\u200c\u062f\u0647\u062f.<\/p>\n<h2 data-path-to-node=\"22\">\u06af\u0627\u0645 \u062f\u0648\u0645 \u2014 \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631\u06cc\u200c\u0633\u0627\u0632\u06cc (Containerize) \u0628\u0631\u0646\u0627\u0645\u0647 \u0644\u0627\u0631\u0627\u0648\u0644<\/h2>\n<p data-path-to-node=\"23\">\u0628\u0631\u0627\u06cc \u0627\u062c\u0631\u0627\u06cc \u0628\u0631\u0646\u0627\u0645\u0647 \u0631\u0648\u06cc \u06a9\u0648\u0628\u0631\u0646\u062a\u06cc\u0632\u060c \u0628\u0627\u06cc\u062f \u0627\u0628\u062a\u062f\u0627 \u0622\u0646 \u0631\u0627 \u0628\u0647 \u06cc\u06a9 \u0627\u06cc\u0645\u06cc\u062c \u062f\u0627\u06a9\u0631 \u062a\u0628\u062f\u06cc\u0644 \u06a9\u0646\u06cc\u0645. \u06cc\u06a9 \u0641\u0627\u06cc\u0644 \u0628\u0647 \u0646\u0627\u0645 <code data-path-to-node=\"23\" data-index-in-node=\"93\">Dockerfile<\/code> \u062f\u0631 \u0631\u06cc\u0634\u0647 \u067e\u0631\u0648\u0698\u0647 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"code-block ng-tns-c1976435164-492 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"0\" data-ved=\"0CAAQhtANahgKEwj9tK_Gtu2VAxUAAAAAHQAAAAAQzwQ\">\n<div class=\"formatted-code-block-internal-container ng-tns-c1976435164-492\">\n<div class=\"animated-opacity ng-tns-c1976435164-492\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c1976435164-492 ng-star-inserted\"><span class=\"ng-tns-c1976435164-492\">Bash<\/span><\/p>\n<div class=\"buttons ng-tns-c1976435164-492 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c1976435164-492\"><code class=\"code-container formatted ng-tns-c1976435164-492\" role=\"text\" data-test-id=\"code-content\">nano .\/Dockerfile\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<p data-path-to-node=\"25\">\u0645\u062d\u062a\u0648\u0627\u06cc \u0632\u06cc\u0631 \u0631\u0627 \u062f\u0631\u0648\u0646 \u0641\u0627\u06cc\u0644 \u0642\u0631\u0627\u0631 \u062f\u0647\u06cc\u062f (\u0627\u06cc\u0646 \u0641\u0627\u06cc\u0644 \u0628\u0631 \u0627\u0633\u0627\u0633 <b data-path-to-node=\"25\" data-index-in-node=\"52\">PHP 8.2<\/b> \u0648 <b data-path-to-node=\"25\" data-index-in-node=\"62\">Apache<\/b> \u0631\u0648\u06cc \u0627\u0648\u0628\u0648\u0646\u062a\u0648 \u06f2\u06f4.\u06f0\u06f4 \u062a\u0646\u0638\u06cc\u0645 \u0634\u062f\u0647 \u0627\u0633\u062a):<\/p>\n<div class=\"code-block ng-tns-c1976435164-493 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"0\" data-ved=\"0CAAQhtANahgKEwj9tK_Gtu2VAxUAAAAAHQAAAAAQ0AQ\">\n<div class=\"formatted-code-block-internal-container ng-tns-c1976435164-493\">\n<div class=\"animated-opacity ng-tns-c1976435164-493\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c1976435164-493 ng-star-inserted\"><span class=\"ng-tns-c1976435164-493\">Dockerfile<\/span><\/p>\n<div class=\"buttons ng-tns-c1976435164-493 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c1976435164-493\"><code class=\"code-container formatted ng-tns-c1976435164-493\" role=\"text\" data-test-id=\"code-content\"><span class=\"hljs-keyword\">FROM<\/span> php:<span class=\"hljs-number\">8.2<\/span>-apache\r\n\r\n<span class=\"hljs-comment\"># \u0646\u0635\u0628 \u067e\u06a9\u06cc\u062c\u200c\u0647\u0627\u06cc \u0645\u0648\u0631\u062f \u0646\u06cc\u0627\u0632 \u0633\u06cc\u0633\u062a\u0645\u200c\u0639\u0627\u0645\u0644<\/span>\r\n<span class=\"hljs-keyword\">RUN<\/span><span class=\"bash\"> apt-get update &amp;&amp; apt-get install -y \\\r\n    git \\\r\n    zip \\\r\n    curl \\\r\n    sudo \\\r\n    unzip \\\r\n    libicu-dev \\\r\n    libbz2-dev \\\r\n    libpng-dev \\\r\n    libjpeg-dev \\\r\n    libmcrypt-dev \\\r\n    libreadline-dev \\\r\n    libfreetype6-dev \\\r\n    g++<\/span>\r\n\r\n<span class=\"hljs-comment\"># \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u0648\u0628\u200c\u0633\u0631\u0648\u0631 Apache<\/span>\r\n<span class=\"hljs-keyword\">ENV<\/span> APACHE_DOCUMENT_ROOT=\/var\/www\/html\/public\r\n<span class=\"hljs-keyword\">RUN<\/span><span class=\"bash\"> sed -ri -e <span class=\"hljs-string\">'s!\/var\/www\/html!${APACHE_DOCUMENT_ROOT}!g'<\/span> \/etc\/apache2\/sites-available\/*.conf<\/span>\r\n<span class=\"hljs-keyword\">RUN<\/span><span class=\"bash\"> sed -ri -e <span class=\"hljs-string\">'s!\/var\/www\/!${APACHE_DOCUMENT_ROOT}!g'<\/span> \/etc\/apache2\/apache2.conf \/etc\/apache2\/conf-available\/*.conf<\/span>\r\n<span class=\"hljs-keyword\">RUN<\/span><span class=\"bash\"> a2enmod rewrite headers<\/span>\r\n\r\n<span class=\"hljs-comment\"># \u0646\u0635\u0628 \u0627\u0641\u0632\u0648\u0646\u0647\u200c\u0647\u0627\u06cc \u0645\u0648\u0631\u062f \u0646\u06cc\u0627\u0632 PHP \u0628\u0631\u0627\u06cc \u0644\u0627\u0631\u0627\u0648\u0644<\/span>\r\n<span class=\"hljs-keyword\">RUN<\/span><span class=\"bash\"> docker-php-ext-install \\\r\n    bz2 \\\r\n    intl \\\r\n    iconv \\\r\n    bcmath \\\r\n    opcache \\\r\n    calendar \\\r\n    pdo_mysql<\/span>\r\n\r\n<span class=\"hljs-keyword\">ENV<\/span> LOG_CHANNEL=stderr\r\n\r\n<span class=\"hljs-comment\"># \u06a9\u067e\u06cc Composer \u0648 \u0646\u0635\u0628 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc\u200c\u0647\u0627 \u0628\u0627 \u0645\u06cc\u0631\u0648\u0631 \u067e\u0627\u0631\u0645\u06cc\u0646 \u06a9\u0644\u0648\u062f<\/span>\r\n<span class=\"hljs-keyword\">COPY<\/span><span class=\"bash\"> --from=composer:latest \/usr\/bin\/composer \/usr\/bin\/composer<\/span>\r\n<span class=\"hljs-keyword\">COPY<\/span><span class=\"bash\"> . \/var\/www\/tmp<\/span>\r\n<span class=\"hljs-keyword\">RUN<\/span><span class=\"bash\"><span class=\"hljs-built_in\">cd<\/span> \/var\/www\/tmp &amp;&amp; composer config repo.packagist composer https:\/\/composer.parmincloud.ir &amp;&amp; composer install --no-dev<\/span>\r\n\r\n<span class=\"hljs-keyword\">RUN<\/span><span class=\"bash\"> chmod +x \/var\/www\/tmp\/docker-entrypoint.sh<\/span>\r\n<span class=\"hljs-keyword\">ENTRYPOINT<\/span><span class=\"bash\"> [<span class=\"hljs-string\">\"\/var\/www\/tmp\/docker-entrypoint.sh\"<\/span>]<\/span>\r\n\r\n<span class=\"hljs-keyword\">CMD<\/span><span class=\"bash\"> [<span class=\"hljs-string\">\"apache2-foreground\"<\/span>]<\/span><\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<p data-path-to-node=\"27\">\u0641\u0627\u06cc\u0644 \u0631\u0627 \u0630\u062e\u06cc\u0631\u0647 \u06a9\u0631\u062f\u0647 \u0648 \u0628\u0628\u0646\u062f\u06cc\u062f.<\/p>\n<p data-path-to-node=\"28\">\u062d\u0627\u0644\u0627 \u0641\u0627\u06cc\u0644 <code data-path-to-node=\"28\" data-index-in-node=\"10\">docker-entrypoint.sh<\/code> \u0631\u0627 \u0628\u0631\u0627\u06cc \u0627\u0646\u062a\u0642\u0627\u0644 \u06a9\u062f\u0647\u0627\u06cc \u0628\u0631\u0646\u0627\u0645\u0647 \u0628\u0647 \u0645\u0633\u06cc\u0631 \u0627\u062c\u0631\u0627\u06cc \u0622\u067e\u0627\u0686\u06cc \u0628\u0633\u0627\u0632\u06cc\u062f:<\/p>\n<div class=\"code-block ng-tns-c1976435164-494 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"0\" data-ved=\"0CAAQhtANahgKEwj9tK_Gtu2VAxUAAAAAHQAAAAAQ0QQ\">\n<div class=\"formatted-code-block-internal-container ng-tns-c1976435164-494\">\n<div class=\"animated-opacity ng-tns-c1976435164-494\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c1976435164-494 ng-star-inserted\"><span class=\"ng-tns-c1976435164-494\">Bash<\/span><\/p>\n<div class=\"buttons ng-tns-c1976435164-494 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c1976435164-494\"><code class=\"code-container formatted ng-tns-c1976435164-494\" role=\"text\" data-test-id=\"code-content\">nano .\/docker-entrypoint.sh\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<p data-path-to-node=\"30\">\u06a9\u062f\u0647\u0627\u06cc \u0632\u06cc\u0631 \u0631\u0627 \u062f\u0631\u0648\u0646 \u0622\u0646 \u0642\u0631\u0627\u0631 \u062f\u0647\u06cc\u062f:<\/p>\n<div class=\"code-block ng-tns-c1976435164-495 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"0\" data-ved=\"0CAAQhtANahgKEwj9tK_Gtu2VAxUAAAAAHQAAAAAQ0gQ\">\n<div class=\"formatted-code-block-internal-container ng-tns-c1976435164-495\">\n<div class=\"animated-opacity ng-tns-c1976435164-495\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c1976435164-495 ng-star-inserted\"><span class=\"ng-tns-c1976435164-495\">Bash<\/span><\/p>\n<div class=\"buttons ng-tns-c1976435164-495 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c1976435164-495\"><code class=\"code-container formatted ng-tns-c1976435164-495\" role=\"text\" data-test-id=\"code-content\"><span class=\"hljs-meta\">#!\/bin\/bash<\/span>\r\ncp -R \/var\/www\/tmp\/. \/var\/www\/html\/\r\nchown -R www-data:www-data \/var\/www\/html\r\n<span class=\"hljs-built_in\">exec<\/span> <span class=\"hljs-string\">\"<span class=\"hljs-variable\">$@<\/span>\"<\/span><\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<p data-path-to-node=\"32\">\u062f\u0633\u062a\u0631\u0633\u06cc \u0627\u062c\u0631\u0627\u06cc \u0641\u0627\u06cc\u0644 \u0631\u0627 \u062a\u0646\u0638\u06cc\u0645 \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"code-block ng-tns-c1976435164-496 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"0\" data-ved=\"0CAAQhtANahgKEwj9tK_Gtu2VAxUAAAAAHQAAAAAQ0wQ\">\n<div class=\"formatted-code-block-internal-container ng-tns-c1976435164-496\">\n<div class=\"animated-opacity ng-tns-c1976435164-496\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c1976435164-496 ng-star-inserted\"><span class=\"ng-tns-c1976435164-496\">Bash<\/span><\/p>\n<div class=\"buttons ng-tns-c1976435164-496 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c1976435164-496\"><code class=\"code-container formatted ng-tns-c1976435164-496\" role=\"text\" data-test-id=\"code-content\">chmod +x .\/docker-entrypoint.sh\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<p data-path-to-node=\"34\">\u06cc\u06a9 \u0641\u0627\u06cc\u0644 <code data-path-to-node=\"34\" data-index-in-node=\"8\">.dockerignore<\/code> \u0628\u0633\u0627\u0632\u06cc\u062f \u062a\u0627 \u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc \u0627\u0636\u0627\u0641\u06cc \u0648\u0627\u0631\u062f \u0627\u06cc\u0645\u06cc\u062c \u0646\u0634\u0648\u0646\u062f:<\/p>\n<div class=\"code-block ng-tns-c1976435164-497 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"0\" data-ved=\"0CAAQhtANahgKEwj9tK_Gtu2VAxUAAAAAHQAAAAAQ1AQ\">\n<div class=\"formatted-code-block-internal-container ng-tns-c1976435164-497\">\n<div class=\"animated-opacity ng-tns-c1976435164-497\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c1976435164-497 ng-star-inserted\"><span class=\"ng-tns-c1976435164-497\">Bash<\/span><\/p>\n<div class=\"buttons ng-tns-c1976435164-497 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c1976435164-497\"><code class=\"code-container formatted ng-tns-c1976435164-497\" role=\"text\" data-test-id=\"code-content\">nano .\/.dockerignore\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"code-block ng-tns-c1976435164-498 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"0\" data-ved=\"0CAAQhtANahgKEwj9tK_Gtu2VAxUAAAAAHQAAAAAQ1QQ\">\n<div class=\"formatted-code-block-internal-container ng-tns-c1976435164-498\">\n<div class=\"animated-opacity ng-tns-c1976435164-498\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c1976435164-498 ng-star-inserted\"><span class=\"ng-tns-c1976435164-498\">Plaintext<\/span><\/p>\n<div class=\"buttons ng-tns-c1976435164-498 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c1976435164-498\"><code class=\"code-container formatted ng-tns-c1976435164-498\" role=\"text\" data-test-id=\"code-content\">.env\r\n\/vendor\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<p data-path-to-node=\"37\">\u0628\u0631\u0627\u06cc \u062a\u0633\u062a \u0645\u062d\u0644\u06cc \u0628\u0631\u0646\u0627\u0645\u0647 \u0628\u0627 Docker Compose\u060c \u06a9\u0644\u06cc\u062f \u0627\u062e\u062a\u0635\u0627\u0635\u06cc \u0644\u0627\u0631\u0627\u0648\u0644 (<code data-path-to-node=\"37\" data-index-in-node=\"61\">APP_KEY<\/code>) \u0631\u0627 \u0627\u0632 \u0641\u0627\u06cc\u0644 <code data-path-to-node=\"37\" data-index-in-node=\"81\">.env<\/code> \u06a9\u067e\u06cc \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"code-block ng-tns-c1976435164-499 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"0\" data-ved=\"0CAAQhtANahgKEwj9tK_Gtu2VAxUAAAAAHQAAAAAQ1gQ\">\n<div class=\"formatted-code-block-internal-container ng-tns-c1976435164-499\">\n<div class=\"animated-opacity ng-tns-c1976435164-499\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c1976435164-499 ng-star-inserted\"><span class=\"ng-tns-c1976435164-499\">Bash<\/span><\/p>\n<div class=\"buttons ng-tns-c1976435164-499 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c1976435164-499\"><code class=\"code-container formatted ng-tns-c1976435164-499\" role=\"text\" data-test-id=\"code-content\">cat .env | grep ^APP_KEY\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<p data-path-to-node=\"39\">\u0633\u067e\u0633 \u0641\u0627\u06cc\u0644 <code data-path-to-node=\"39\" data-index-in-node=\"9\">docker-compose.yml<\/code> \u0631\u0627 \u0628\u0633\u0627\u0632\u06cc\u062f:<\/p>\n<div class=\"code-block ng-tns-c1976435164-500 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"0\" data-ved=\"0CAAQhtANahgKEwj9tK_Gtu2VAxUAAAAAHQAAAAAQ1wQ\">\n<div class=\"formatted-code-block-internal-container ng-tns-c1976435164-500\">\n<div class=\"animated-opacity ng-tns-c1976435164-500\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c1976435164-500 ng-star-inserted\"><span class=\"ng-tns-c1976435164-500\">Bash<\/span><\/p>\n<div class=\"buttons ng-tns-c1976435164-500 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c1976435164-500\"><code class=\"code-container formatted ng-tns-c1976435164-500\" role=\"text\" data-test-id=\"code-content\">nano .\/docker-compose.yml\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"code-block ng-tns-c1976435164-501 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"0\" data-ved=\"0CAAQhtANahgKEwj9tK_Gtu2VAxUAAAAAHQAAAAAQ2AQ\">\n<div class=\"formatted-code-block-internal-container ng-tns-c1976435164-501\">\n<div class=\"animated-opacity ng-tns-c1976435164-501\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c1976435164-501 ng-star-inserted\"><span class=\"ng-tns-c1976435164-501\">YAML<\/span><\/p>\n<div class=\"buttons ng-tns-c1976435164-501 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c1976435164-501\"><code class=\"code-container formatted ng-tns-c1976435164-501\" role=\"text\" data-test-id=\"code-content\"><span class=\"hljs-attr\">version:<\/span> <span class=\"hljs-string\">'3.8'<\/span>\r\n<span class=\"hljs-attr\">services:<\/span>\r\n  <span class=\"hljs-attr\">php:<\/span>\r\n    <span class=\"hljs-attr\">image:<\/span> <span class=\"hljs-string\">hub.cr.parmincloud.ir\/your_docker_hub_username\/laravel-kubernetes:latest<\/span>\r\n    <span class=\"hljs-attr\">build:<\/span> <span class=\"hljs-string\">.<\/span>\r\n    <span class=\"hljs-attr\">restart:<\/span> <span class=\"hljs-string\">always<\/span>\r\n    <span class=\"hljs-attr\">ports:<\/span>\r\n      <span class=\"hljs-bullet\">-<\/span> <span class=\"hljs-number\">8000<\/span><span class=\"hljs-string\">:80<\/span>\r\n    <span class=\"hljs-attr\">environment:<\/span>\r\n      <span class=\"hljs-bullet\">-<\/span> <span class=\"hljs-string\">APP_KEY=\"\u0645\u0642\u062f\u0627\u0631_\u06a9\u067e\u06cc_\u0634\u062f\u0647_\u06a9\u0644\u06cc\u062f_\u0644\u0627\u0631\u0627\u0648\u0644\"<\/span>\r\n      <span class=\"hljs-bullet\">-<\/span> <span class=\"hljs-string\">APP_ENV=local<\/span>\r\n      <span class=\"hljs-bullet\">-<\/span> <span class=\"hljs-string\">APP_DEBUG=true<\/span>\r\n      <span class=\"hljs-bullet\">-<\/span> <span class=\"hljs-string\">DB_PORT=3306<\/span>\r\n      <span class=\"hljs-bullet\">-<\/span> <span class=\"hljs-string\">DB_HOST=mysql<\/span>\r\n      <span class=\"hljs-bullet\">-<\/span> <span class=\"hljs-string\">DB_DATABASE=local_db<\/span>\r\n      <span class=\"hljs-bullet\">-<\/span> <span class=\"hljs-string\">DB_USERNAME=admin<\/span>\r\n      <span class=\"hljs-bullet\">-<\/span> <span class=\"hljs-string\">DB_PASSWORD=password<\/span>\r\n  <span class=\"hljs-attr\">mysql:<\/span>\r\n    <span class=\"hljs-attr\">image:<\/span> <span class=\"hljs-string\">hub.cr.parmincloud.ir\/library\/mysql:8.0<\/span>\r\n    <span class=\"hljs-attr\">restart:<\/span> <span class=\"hljs-string\">always<\/span>\r\n    <span class=\"hljs-attr\">environment:<\/span>\r\n      <span class=\"hljs-bullet\">-<\/span> <span class=\"hljs-string\">MYSQL_ROOT_PASSWORD=rootpassword<\/span>\r\n      <span class=\"hljs-bullet\">-<\/span> <span class=\"hljs-string\">MYSQL_DATABASE=local_db<\/span>\r\n      <span class=\"hljs-bullet\">-<\/span> <span class=\"hljs-string\">MYSQL_USER=admin<\/span>\r\n      <span class=\"hljs-bullet\">-<\/span> <span class=\"hljs-string\">MYSQL_PASSWORD=password<\/span><\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<p data-path-to-node=\"42\">\u062d\u0627\u0644\u0627 \u0628\u0627 \u0627\u062c\u0631\u0627\u06cc \u062f\u0633\u062a\u0648\u0631 \u0632\u06cc\u0631\u060c \u0633\u0631\u0648\u06cc\u0633\u200c\u0647\u0627 \u0631\u0627 \u0628\u0647 \u0635\u0648\u0631\u062a \u0645\u062d\u0644\u06cc \u062a\u0633\u062a \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"code-block ng-tns-c1976435164-502 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"0\" data-ved=\"0CAAQhtANahgKEwj9tK_Gtu2VAxUAAAAAHQAAAAAQ2QQ\">\n<div class=\"formatted-code-block-internal-container ng-tns-c1976435164-502\">\n<div class=\"animated-opacity ng-tns-c1976435164-502\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c1976435164-502 ng-star-inserted\"><span class=\"ng-tns-c1976435164-502\">Bash<\/span><\/p>\n<div class=\"buttons ng-tns-c1976435164-502 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c1976435164-502\"><code class=\"code-container formatted ng-tns-c1976435164-502\" role=\"text\" data-test-id=\"code-content\">docker-compose up -d --build\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<p data-path-to-node=\"44\">\u067e\u0633 \u0627\u0632 \u0686\u0646\u062f \u062b\u0627\u0646\u06cc\u0647 \u0628\u0627 \u0648\u0631\u0648\u062f \u0628\u0647 \u0622\u062f\u0631\u0633 <code data-path-to-node=\"44\" data-index-in-node=\"32\">localhost:8000<\/code> \u062f\u0631 \u0645\u0631\u0648\u0631\u06af\u0631\u060c \u0628\u0627\u06cc\u062f \u067e\u06cc\u063a\u0627\u0645 \u0627\u062a\u0635\u0627\u0644 \u0645\u0648\u0641\u0642 \u0628\u0647 \u062f\u06cc\u062a\u0627\u0628\u06cc\u0633 \u0631\u0627 \u0645\u0634\u0627\u0647\u062f\u0647 \u06a9\u0646\u06cc\u062f. \u067e\u0633 \u0627\u0632 \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u0627\u0632 \u0635\u062d\u062a \u06a9\u0627\u0631\u06a9\u0631\u062f\u060c \u0633\u0631\u0648\u06cc\u0633\u200c\u0647\u0627\u06cc \u0645\u062d\u0644\u06cc \u0631\u0627 \u0645\u062a\u0648\u0642\u0641 \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"code-block ng-tns-c1976435164-503 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"0\" data-ved=\"0CAAQhtANahgKEwj9tK_Gtu2VAxUAAAAAHQAAAAAQ2gQ\">\n<div class=\"formatted-code-block-internal-container ng-tns-c1976435164-503\">\n<div class=\"animated-opacity ng-tns-c1976435164-503\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c1976435164-503 ng-star-inserted\"><span class=\"ng-tns-c1976435164-503\">Bash<\/span><\/p>\n<div class=\"buttons ng-tns-c1976435164-503 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c1976435164-503\"><code class=\"code-container formatted ng-tns-c1976435164-503\" role=\"text\" data-test-id=\"code-content\">docker-compose down\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<h2 data-path-to-node=\"47\">\u06af\u0627\u0645 \u0633\u0648\u0645 \u2014 \u067e\u0648\u0634 \u06a9\u0631\u062f\u0646 \u0627\u06cc\u0645\u06cc\u062c \u0628\u0647 \u0631\u062c\u06cc\u0633\u062a\u0631\u06cc \u067e\u0627\u0631\u0645\u06cc\u0646 \u06a9\u0644\u0648\u062f<\/h2>\n<p data-path-to-node=\"48\">\u0628\u0631\u0627\u06cc \u0627\u06cc\u0646\u06a9\u0647 \u06a9\u0644\u0633\u062a\u0631 \u06a9\u0648\u0628\u0631\u0646\u062a\u06cc\u0632 \u0628\u062a\u0648\u0627\u0646\u062f \u0628\u0631\u0646\u0627\u0645\u0647 \u0634\u0645\u0627 \u0631\u0627 \u062f\u0631\u06cc\u0627\u0641\u062a \u0648 \u0627\u062c\u0631\u0627 \u06a9\u0646\u062f\u060c \u0628\u0627\u06cc\u062f \u0627\u06cc\u0645\u06cc\u062c \u0633\u0627\u062e\u062a\u0647\u200c\u0634\u062f\u0647 \u0631\u0627 \u0628\u0647 \u0631\u062c\u06cc\u0633\u062a\u0631\u06cc \u0627\u0631\u0633\u0627\u0644 \u06a9\u0646\u06cc\u062f. \u062f\u0631 \u0627\u06cc\u0646 \u0645\u0631\u062d\u0644\u0647 \u0627\u0632 <b data-path-to-node=\"48\" data-index-in-node=\"129\">\u0645\u06cc\u0631\u0648\u0631 Docker Hub \u067e\u0627\u0631\u0645\u06cc\u0646 \u06a9\u0644\u0648\u062f<\/b> \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645.<\/p>\n<p data-path-to-node=\"49\">\u0627\u0628\u062a\u062f\u0627 \u0648\u0627\u0631\u062f \u062d\u0633\u0627\u0628 \u062f\u0627\u06a9\u0631 \u062e\u0648\u062f \u0634\u0648\u06cc\u062f:<\/p>\n<div class=\"code-block ng-tns-c1976435164-504 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"0\" data-ved=\"0CAAQhtANahgKEwj9tK_Gtu2VAxUAAAAAHQAAAAAQ2wQ\">\n<div class=\"formatted-code-block-internal-container ng-tns-c1976435164-504\">\n<div class=\"animated-opacity ng-tns-c1976435164-504\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c1976435164-504 ng-star-inserted\"><span class=\"ng-tns-c1976435164-504\">Bash<\/span><\/p>\n<div class=\"buttons ng-tns-c1976435164-504 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c1976435164-504\"><code class=\"code-container formatted ng-tns-c1976435164-504\" role=\"text\" data-test-id=\"code-content\">docker login hub.cr.parmincloud.ir\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<p data-path-to-node=\"51\">\u0627\u06cc\u0645\u06cc\u062c \u062e\u0648\u062f \u0631\u0627 \u0645\u06cc\u200c\u0633\u0627\u0632\u06cc\u0645 \u0648 \u062a\u0627\u06af (Tag) \u0645\u06cc\u200c\u0632\u0646\u06cc\u0645:<\/p>\n<div class=\"code-block ng-tns-c1976435164-505 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"0\" data-ved=\"0CAAQhtANahgKEwj9tK_Gtu2VAxUAAAAAHQAAAAAQ3AQ\">\n<div class=\"formatted-code-block-internal-container ng-tns-c1976435164-505\">\n<div class=\"animated-opacity ng-tns-c1976435164-505\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c1976435164-505 ng-star-inserted\"><span class=\"ng-tns-c1976435164-505\">Bash<\/span><\/p>\n<div class=\"buttons ng-tns-c1976435164-505 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c1976435164-505\"><code class=\"code-container formatted ng-tns-c1976435164-505\" role=\"text\" data-test-id=\"code-content\">docker build -t hub.cr.parmincloud.ir\/your_docker_hub_username\/laravel-kubernetes:latest .\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<p data-path-to-node=\"53\">\u067e\u0648\u0634 \u06a9\u0631\u062f\u0646 \u0627\u06cc\u0645\u06cc\u062c \u0628\u0647 \u0631\u062c\u06cc\u0633\u062a\u0631\u06cc:<\/p>\n<div class=\"code-block ng-tns-c1976435164-506 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"0\" data-ved=\"0CAAQhtANahgKEwj9tK_Gtu2VAxUAAAAAHQAAAAAQ3QQ\">\n<div class=\"formatted-code-block-internal-container ng-tns-c1976435164-506\">\n<div class=\"animated-opacity ng-tns-c1976435164-506\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c1976435164-506 ng-star-inserted\"><span class=\"ng-tns-c1976435164-506\">Bash<\/span><\/p>\n<div class=\"buttons ng-tns-c1976435164-506 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c1976435164-506\"><code class=\"code-container formatted ng-tns-c1976435164-506\" role=\"text\" data-test-id=\"code-content\">docker push hub.cr.parmincloud.ir\/your_docker_hub_username\/laravel-kubernetes:latest\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<h2 data-path-to-node=\"56\">\u06af\u0627\u0645 \u0686\u0647\u0627\u0631\u0645 \u2014 \u062a\u0646\u0638\u06cc\u0645 \u0648 \u062f\u06cc\u067e\u0644\u0648\u06cc \u0628\u0631\u0646\u0627\u0645\u0647 \u0628\u0627 Helm<\/h2>\n<p data-path-to-node=\"57\">\u0628\u0631\u0627\u06cc \u062f\u06cc\u067e\u0644\u0648\u06cc \u0622\u0633\u0627\u0646\u200c\u062a\u0631 \u0631\u0648\u06cc \u06a9\u0648\u0628\u0631\u0646\u062a\u06cc\u0632\u060c \u0627\u0632 \u0686\u0627\u0631\u062a\u200c\u0647\u0627\u06cc \u0622\u0645\u0627\u062f\u0647 Helm \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645. \u0627\u0628\u062a\u062f\u0627 \u06cc\u06a9 \u067e\u0648\u0634\u0647 \u0628\u0631\u0627\u06cc \u062a\u0646\u0638\u06cc\u0645\u0627\u062a Helm \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"code-block ng-tns-c1976435164-507 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"0\" data-ved=\"0CAAQhtANahgKEwj9tK_Gtu2VAxUAAAAAHQAAAAAQ3gQ\">\n<div class=\"formatted-code-block-internal-container ng-tns-c1976435164-507\">\n<div class=\"animated-opacity ng-tns-c1976435164-507\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c1976435164-507 ng-star-inserted\"><span class=\"ng-tns-c1976435164-507\">Bash<\/span><\/p>\n<div class=\"buttons ng-tns-c1976435164-507 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c1976435164-507\"><code class=\"code-container formatted ng-tns-c1976435164-507\" role=\"text\" data-test-id=\"code-content\">mkdir .\/helm\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<p data-path-to-node=\"59\">\u0641\u0627\u06cc\u0644 <code data-path-to-node=\"59\" data-index-in-node=\"5\">helm\/values.yml<\/code> \u0631\u0627 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"code-block ng-tns-c1976435164-508 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"0\" data-ved=\"0CAAQhtANahgKEwj9tK_Gtu2VAxUAAAAAHQAAAAAQ3wQ\">\n<div class=\"formatted-code-block-internal-container ng-tns-c1976435164-508\">\n<div class=\"animated-opacity ng-tns-c1976435164-508\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c1976435164-508 ng-star-inserted\"><span class=\"ng-tns-c1976435164-508\">Bash<\/span><\/p>\n<div class=\"buttons ng-tns-c1976435164-508 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c1976435164-508\"><code class=\"code-container formatted ng-tns-c1976435164-508\" role=\"text\" data-test-id=\"code-content\">nano .\/helm\/values.yml\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"code-block ng-tns-c1976435164-509 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"0\" data-ved=\"0CAAQhtANahgKEwj9tK_Gtu2VAxUAAAAAHQAAAAAQ4AQ\">\n<div class=\"formatted-code-block-internal-container ng-tns-c1976435164-509\">\n<div class=\"animated-opacity ng-tns-c1976435164-509\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c1976435164-509 ng-star-inserted\"><span class=\"ng-tns-c1976435164-509\">YAML<\/span><\/p>\n<div class=\"buttons ng-tns-c1976435164-509 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c1976435164-509\"><code class=\"code-container formatted ng-tns-c1976435164-509\" role=\"text\" data-test-id=\"code-content\"><span class=\"hljs-attr\">php:<\/span>\r\n  <span class=\"hljs-attr\">repository:<\/span> <span class=\"hljs-string\">\"hub.cr.parmincloud.ir\/your_docker_hub_username\/laravel-kubernetes\"<\/span>\r\n  <span class=\"hljs-attr\">tag:<\/span> <span class=\"hljs-string\">\"latest\"<\/span>\r\n  <span class=\"hljs-attr\">fpmEnabled:<\/span> <span class=\"hljs-literal\">false<\/span>\r\n  <span class=\"hljs-attr\">envVars:<\/span>\r\n    <span class=\"hljs-bullet\">-<\/span> <span class=\"hljs-attr\">name:<\/span> <span class=\"hljs-string\">APP_ENV<\/span>\r\n      <span class=\"hljs-attr\">value:<\/span> <span class=\"hljs-string\">production<\/span>\r\n    <span class=\"hljs-bullet\">-<\/span> <span class=\"hljs-attr\">name:<\/span> <span class=\"hljs-string\">APP_DEBUG<\/span>\r\n      <span class=\"hljs-attr\">value:<\/span> <span class=\"hljs-literal\">false<\/span>\r\n    <span class=\"hljs-bullet\">-<\/span> <span class=\"hljs-attr\">name:<\/span> <span class=\"hljs-string\">DB_PORT<\/span>\r\n      <span class=\"hljs-attr\">value:<\/span> <span class=\"hljs-number\">3306<\/span>\r\n    <span class=\"hljs-bullet\">-<\/span> <span class=\"hljs-attr\">name:<\/span> <span class=\"hljs-string\">DB_HOST<\/span>\r\n      <span class=\"hljs-attr\">value:<\/span> <span class=\"hljs-string\">localhost<\/span><\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<p data-path-to-node=\"62\">\u0633\u067e\u0633 \u0641\u0627\u06cc\u0644 <code data-path-to-node=\"62\" data-index-in-node=\"9\">helm\/secrets.yml<\/code> \u0631\u0627 \u0628\u0631\u0627\u06cc \u0646\u06af\u0647\u062f\u0627\u0631\u06cc \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u062d\u0633\u0627\u0633 (\u0645\u0627\u0646\u0646\u062f \u0631\u0645\u0632 \u062f\u06cc\u062a\u0627\u0628\u06cc\u0633) \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"code-block ng-tns-c1976435164-510 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"0\" data-ved=\"0CAAQhtANahgKEwj9tK_Gtu2VAxUAAAAAHQAAAAAQ4QQ\">\n<div class=\"formatted-code-block-internal-container ng-tns-c1976435164-510\">\n<div class=\"animated-opacity ng-tns-c1976435164-510\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c1976435164-510 ng-star-inserted\"><span class=\"ng-tns-c1976435164-510\">Bash<\/span><\/p>\n<div class=\"buttons ng-tns-c1976435164-510 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c1976435164-510\"><code class=\"code-container formatted ng-tns-c1976435164-510\" role=\"text\" data-test-id=\"code-content\">nano .\/helm\/secrets.yml\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"code-block ng-tns-c1976435164-511 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"0\" data-ved=\"0CAAQhtANahgKEwj9tK_Gtu2VAxUAAAAAHQAAAAAQ4gQ\">\n<div class=\"formatted-code-block-internal-container ng-tns-c1976435164-511\">\n<div class=\"animated-opacity ng-tns-c1976435164-511\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c1976435164-511 ng-star-inserted\"><span class=\"ng-tns-c1976435164-511\">YAML<\/span><\/p>\n<div class=\"buttons ng-tns-c1976435164-511 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c1976435164-511\"><code class=\"code-container formatted ng-tns-c1976435164-511\" role=\"text\" data-test-id=\"code-content\"><span class=\"hljs-attr\">mysql:<\/span>\r\n  <span class=\"hljs-attr\">rootPassword:<\/span> <span class=\"hljs-string\">\"your_database_root_password\"<\/span>\r\n  <span class=\"hljs-attr\">user:<\/span> <span class=\"hljs-string\">your_database_user<\/span>\r\n  <span class=\"hljs-attr\">password:<\/span> <span class=\"hljs-string\">\"your_database_password\"<\/span>\r\n  <span class=\"hljs-attr\">database:<\/span> <span class=\"hljs-string\">your_database_name<\/span>\r\n<span class=\"hljs-attr\">php:<\/span>\r\n  <span class=\"hljs-attr\">envVars:<\/span>\r\n    <span class=\"hljs-bullet\">-<\/span> <span class=\"hljs-attr\">name:<\/span> <span class=\"hljs-string\">APP_KEY<\/span>\r\n      <span class=\"hljs-attr\">value:<\/span> <span class=\"hljs-string\">\"your_laravel_app_key\"<\/span>\r\n    <span class=\"hljs-bullet\">-<\/span> <span class=\"hljs-attr\">name:<\/span> <span class=\"hljs-string\">DB_DATABASE<\/span>\r\n      <span class=\"hljs-attr\">value:<\/span> <span class=\"hljs-string\">your_database_name<\/span>\r\n    <span class=\"hljs-bullet\">-<\/span> <span class=\"hljs-attr\">name:<\/span> <span class=\"hljs-string\">DB_USERNAME<\/span>\r\n      <span class=\"hljs-attr\">value:<\/span> <span class=\"hljs-string\">your_database_user<\/span>\r\n    <span class=\"hljs-bullet\">-<\/span> <span class=\"hljs-attr\">name:<\/span> <span class=\"hljs-string\">DB_PASSWORD<\/span>\r\n      <span class=\"hljs-attr\">value:<\/span> <span class=\"hljs-string\">\"your_database_password\"<\/span><\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<p data-path-to-node=\"65\">\u0628\u0631\u0627\u06cc \u062c\u0644\u0648\u06af\u06cc\u0631\u06cc \u0627\u0632 \u0627\u0641\u0634\u0627\u06cc \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u062d\u0633\u0627\u0633\u060c \u0641\u0627\u06cc\u0644 <code data-path-to-node=\"65\" data-index-in-node=\"41\">secrets.yml<\/code> \u0631\u0627 \u0628\u0647 <code data-path-to-node=\"65\" data-index-in-node=\"59\">.gitignore<\/code> \u0648 <code data-path-to-node=\"65\" data-index-in-node=\"72\">.dockerignore<\/code> \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"code-block ng-tns-c1976435164-512 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"0\" data-ved=\"0CAAQhtANahgKEwj9tK_Gtu2VAxUAAAAAHQAAAAAQ4wQ\">\n<div class=\"formatted-code-block-internal-container ng-tns-c1976435164-512\">\n<div class=\"animated-opacity ng-tns-c1976435164-512\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c1976435164-512 ng-star-inserted\"><span class=\"ng-tns-c1976435164-512\">Bash<\/span><\/p>\n<div class=\"buttons ng-tns-c1976435164-512 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c1976435164-512\"><code class=\"code-container formatted ng-tns-c1976435164-512\" role=\"text\" data-test-id=\"code-content\"><span class=\"hljs-built_in\">echo<\/span> <span class=\"hljs-string\">'\/helm\/secrets.yml'<\/span> &gt;&gt; .\/.dockerignore &amp;&amp; <span class=\"hljs-built_in\">echo<\/span> <span class=\"hljs-string\">'\/helm\/secrets.yml'<\/span> &gt;&gt; .\/.gitignore\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<p data-path-to-node=\"67\">\u062d\u0627\u0644\u0627 \u0628\u0627 \u0627\u062c\u0631\u0627\u06cc \u062f\u0633\u062a\u0648\u0631 \u0632\u06cc\u0631 \u0686\u0627\u0631\u062a \u0631\u0627 \u0631\u0648\u06cc <b data-path-to-node=\"67\" data-index-in-node=\"36\">\u06a9\u0644\u0633\u062a\u0631 \u06a9\u0648\u0628\u0631\u0646\u062a\u06cc\u0632 \u067e\u0627\u0631\u0645\u06cc\u0646 \u06a9\u0644\u0648\u062f<\/b> \u0646\u0635\u0628 \u0648 \u062f\u06cc\u067e\u0644\u0648\u06cc \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"code-block ng-tns-c1976435164-513 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"0\" data-ved=\"0CAAQhtANahgKEwj9tK_Gtu2VAxUAAAAAHQAAAAAQ5AQ\">\n<div class=\"formatted-code-block-internal-container ng-tns-c1976435164-513\">\n<div class=\"animated-opacity ng-tns-c1976435164-513\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c1976435164-513 ng-star-inserted\"><span class=\"ng-tns-c1976435164-513\">Bash<\/span><\/p>\n<div class=\"buttons ng-tns-c1976435164-513 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c1976435164-513\"><code class=\"code-container formatted ng-tns-c1976435164-513\" role=\"text\" data-test-id=\"code-content\">helm install laravel-kubernetes -f helm\/values.yml -f helm\/secrets.yml bitnami\/lamp\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<p data-path-to-node=\"69\">\u062c\u0647\u062a \u0628\u0631\u0631\u0633\u06cc \u0648\u0636\u0639\u06cc\u062a Pod\u0647\u0627 \u0648 Service\u0647\u0627 \u062f\u0633\u062a\u0648\u0631 \u0632\u06cc\u0631 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"code-block ng-tns-c1976435164-514 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"0\" data-ved=\"0CAAQhtANahgKEwj9tK_Gtu2VAxUAAAAAHQAAAAAQ5QQ\">\n<div class=\"formatted-code-block-internal-container ng-tns-c1976435164-514\">\n<div class=\"animated-opacity ng-tns-c1976435164-514\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c1976435164-514 ng-star-inserted\"><span class=\"ng-tns-c1976435164-514\">Bash<\/span><\/p>\n<div class=\"buttons ng-tns-c1976435164-514 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c1976435164-514\"><code class=\"code-container formatted ng-tns-c1976435164-514\" role=\"text\" data-test-id=\"code-content\">kubectl get pods\r\nkubectl get services -w\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<h2 data-path-to-node=\"72\">\u06af\u0627\u0645 \u067e\u0646\u062c\u0645 \u2014 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc Ingress Controller \u0648 SSL<\/h2>\n<p data-path-to-node=\"73\">\u0628\u0631\u0627\u06cc \u0627\u062a\u0635\u0627\u0644 \u062f\u0627\u0645\u0646\u0647 \u0648\u0627\u0642\u0639\u06cc \u0648 \u0641\u0639\u0627\u0644\u200c\u0633\u0627\u0632\u06cc SSL \u0631\u0627\u06cc\u06af\u0627\u0646 (Let&#8217;s Encrypt)\u060c \u0641\u0627\u06cc\u0644 <code data-path-to-node=\"73\" data-index-in-node=\"68\">helm\/values.yml<\/code> \u0631\u0627 \u0648\u06cc\u0631\u0627\u06cc\u0634 \u06a9\u0631\u062f\u0647 \u0648 Ingress \u0631\u0627 \u0641\u0639\u0627\u0644 \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"code-block ng-tns-c1976435164-515 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"0\" data-ved=\"0CAAQhtANahgKEwj9tK_Gtu2VAxUAAAAAHQAAAAAQ5gQ\">\n<div class=\"formatted-code-block-internal-container ng-tns-c1976435164-515\">\n<div class=\"animated-opacity ng-tns-c1976435164-515\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c1976435164-515 ng-star-inserted\"><span class=\"ng-tns-c1976435164-515\">Bash<\/span><\/p>\n<div class=\"buttons ng-tns-c1976435164-515 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c1976435164-515\"><code class=\"code-container formatted ng-tns-c1976435164-515\" role=\"text\" data-test-id=\"code-content\">nano .\/helm\/values.yml\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"code-block ng-tns-c1976435164-516 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"0\" data-ved=\"0CAAQhtANahgKEwj9tK_Gtu2VAxUAAAAAHQAAAAAQ5wQ\">\n<div class=\"formatted-code-block-internal-container ng-tns-c1976435164-516\">\n<div class=\"animated-opacity ng-tns-c1976435164-516\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c1976435164-516 ng-star-inserted\"><span class=\"ng-tns-c1976435164-516\">YAML<\/span><\/p>\n<div class=\"buttons ng-tns-c1976435164-516 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c1976435164-516\"><code class=\"code-container formatted ng-tns-c1976435164-516\" role=\"text\" data-test-id=\"code-content\"><span class=\"hljs-attr\">service:<\/span>\r\n  <span class=\"hljs-attr\">type:<\/span> <span class=\"hljs-string\">ClusterIP<\/span>\r\n  <span class=\"hljs-attr\">HTTPPort:<\/span> <span class=\"hljs-number\">80<\/span>\r\n<span class=\"hljs-attr\">ingress:<\/span>\r\n  <span class=\"hljs-attr\">enabled:<\/span> <span class=\"hljs-literal\">true<\/span>\r\n  <span class=\"hljs-attr\">domain:<\/span> <span class=\"hljs-string\">your_domain.com<\/span><\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<p data-path-to-node=\"76\">\u0633\u067e\u0633 \u0686\u0627\u0631\u062a \u0631\u0627 \u0622\u067e\u06af\u0631\u06cc\u062f \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"code-block ng-tns-c1976435164-517 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"0\" data-ved=\"0CAAQhtANahgKEwj9tK_Gtu2VAxUAAAAAHQAAAAAQ6AQ\">\n<div class=\"formatted-code-block-internal-container ng-tns-c1976435164-517\">\n<div class=\"animated-opacity ng-tns-c1976435164-517\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c1976435164-517 ng-star-inserted\"><span class=\"ng-tns-c1976435164-517\">Bash<\/span><\/p>\n<div class=\"buttons ng-tns-c1976435164-517 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c1976435164-517\"><code class=\"code-container formatted ng-tns-c1976435164-517\" role=\"text\" data-test-id=\"code-content\">helm upgrade laravel-kubernetes -f helm\/values.yml -f helm\/secrets.yml bitnami\/lamp\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<p data-path-to-node=\"78\">\u0646\u0635\u0628 <b data-path-to-node=\"78\" data-index-in-node=\"4\">Nginx Ingress Controller<\/b>:<\/p>\n<div class=\"code-block ng-tns-c1976435164-518 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"0\" data-ved=\"0CAAQhtANahgKEwj9tK_Gtu2VAxUAAAAAHQAAAAAQ6QQ\">\n<div class=\"formatted-code-block-internal-container ng-tns-c1976435164-518\">\n<div class=\"animated-opacity ng-tns-c1976435164-518\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c1976435164-518 ng-star-inserted\"><span class=\"ng-tns-c1976435164-518\">Bash<\/span><\/p>\n<div class=\"buttons ng-tns-c1976435164-518 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c1976435164-518\"><code class=\"code-container formatted ng-tns-c1976435164-518\" role=\"text\" data-test-id=\"code-content\">helm install nginx-ingress ingress-nginx\/ingress-nginx --<span class=\"hljs-built_in\">set<\/span> controller.publishService.enabled=<span class=\"hljs-literal\">true<\/span><\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<p data-path-to-node=\"80\">\u0627\u06cc\u062c\u0627\u062f \u0641\u0627\u06cc\u0644 <code data-path-to-node=\"80\" data-index-in-node=\"11\">ingress.yml<\/code> \u0628\u0631\u0627\u06cc \u062a\u0639\u0631\u06cc\u0641 \u0645\u0633\u06cc\u0631\u0647\u0627:<\/p>\n<div class=\"code-block ng-tns-c1976435164-519 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"0\" data-ved=\"0CAAQhtANahgKEwj9tK_Gtu2VAxUAAAAAHQAAAAAQ6gQ\">\n<div class=\"formatted-code-block-internal-container ng-tns-c1976435164-519\">\n<div class=\"animated-opacity ng-tns-c1976435164-519\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c1976435164-519 ng-star-inserted\"><span class=\"ng-tns-c1976435164-519\">Bash<\/span><\/p>\n<div class=\"buttons ng-tns-c1976435164-519 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c1976435164-519\"><code class=\"code-container formatted ng-tns-c1976435164-519\" role=\"text\" data-test-id=\"code-content\">nano .\/ingress.yml\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"code-block ng-tns-c1976435164-520 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"0\" data-ved=\"0CAAQhtANahgKEwj9tK_Gtu2VAxUAAAAAHQAAAAAQ6wQ\">\n<div class=\"formatted-code-block-internal-container ng-tns-c1976435164-520\">\n<div class=\"animated-opacity ng-tns-c1976435164-520\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c1976435164-520 ng-star-inserted\"><span class=\"ng-tns-c1976435164-520\">YAML<\/span><\/p>\n<div class=\"buttons ng-tns-c1976435164-520 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c1976435164-520\"><code class=\"code-container formatted ng-tns-c1976435164-520\" role=\"text\" data-test-id=\"code-content\"><span class=\"hljs-attr\">apiVersion:<\/span> <span class=\"hljs-string\">networking.k8s.io\/v1<\/span>\r\n<span class=\"hljs-attr\">kind:<\/span> <span class=\"hljs-string\">Ingress<\/span>\r\n<span class=\"hljs-attr\">metadata:<\/span>\r\n  <span class=\"hljs-attr\">name:<\/span> <span class=\"hljs-string\">laravel-kubernetes-ingress<\/span>\r\n  <span class=\"hljs-attr\">annotations:<\/span>\r\n    <span class=\"hljs-attr\">kubernetes.io\/ingress.class:<\/span> <span class=\"hljs-string\">nginx<\/span>\r\n    <span class=\"hljs-attr\">cert-manager.io\/cluster-issuer:<\/span> <span class=\"hljs-string\">letsencrypt-prod<\/span>\r\n<span class=\"hljs-attr\">spec:<\/span>\r\n  <span class=\"hljs-attr\">tls:<\/span>\r\n    <span class=\"hljs-bullet\">-<\/span> <span class=\"hljs-attr\">hosts:<\/span>\r\n        <span class=\"hljs-bullet\">-<\/span> <span class=\"hljs-string\">your_domain.com<\/span>\r\n      <span class=\"hljs-attr\">secretName:<\/span> <span class=\"hljs-string\">laravel-kubernetes-tls<\/span>\r\n  <span class=\"hljs-attr\">rules:<\/span>\r\n    <span class=\"hljs-bullet\">-<\/span> <span class=\"hljs-attr\">host:<\/span> <span class=\"hljs-string\">your_domain.com<\/span>\r\n      <span class=\"hljs-attr\">http:<\/span>\r\n        <span class=\"hljs-attr\">paths:<\/span>\r\n          <span class=\"hljs-bullet\">-<\/span> <span class=\"hljs-attr\">path:<\/span> <span class=\"hljs-string\">\/<\/span>\r\n            <span class=\"hljs-attr\">pathType:<\/span> <span class=\"hljs-string\">Prefix<\/span>\r\n            <span class=\"hljs-attr\">backend:<\/span>\r\n              <span class=\"hljs-attr\">service:<\/span>\r\n                <span class=\"hljs-attr\">name:<\/span> <span class=\"hljs-string\">laravel-kubernetes-lamp<\/span>\r\n                <span class=\"hljs-attr\">port:<\/span>\r\n                  <span class=\"hljs-attr\">number:<\/span> <span class=\"hljs-number\">80<\/span><\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<p data-path-to-node=\"83\">\u0628\u0631\u0627\u06cc \u062f\u0631\u06cc\u0627\u0641\u062a \u06af\u0648\u0627\u0647\u06cc SSL\u060c \u0627\u0628\u0632\u0627\u0631 Cert-Manager \u0631\u0627 \u0631\u0648\u06cc \u06a9\u0644\u0633\u062a\u0631 \u0646\u0635\u0628 \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"code-block ng-tns-c1976435164-521 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"0\" data-ved=\"0CAAQhtANahgKEwj9tK_Gtu2VAxUAAAAAHQAAAAAQ7AQ\">\n<div class=\"formatted-code-block-internal-container ng-tns-c1976435164-521\">\n<div class=\"animated-opacity ng-tns-c1976435164-521\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c1976435164-521 ng-star-inserted\"><span class=\"ng-tns-c1976435164-521\">Bash<\/span><\/p>\n<div class=\"buttons ng-tns-c1976435164-521 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c1976435164-521\"><code class=\"code-container formatted ng-tns-c1976435164-521\" role=\"text\" data-test-id=\"code-content\">kubectl apply --validate=<span class=\"hljs-literal\">false<\/span> -f https:\/\/github.com\/cert-manager\/cert-manager\/releases\/download\/v1.13.0\/cert-manager.crds.yaml\r\nkubectl create namespace cert-manager\r\nhelm repo add jetstack https:\/\/charts.jetstack.io\r\nhelm install cert-manager --namespace cert-manager jetstack\/cert-manager\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<p data-path-to-node=\"85\">\u06cc\u06a9 \u0641\u0627\u06cc\u0644 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0628\u0647 \u0646\u0627\u0645 <code data-path-to-node=\"85\" data-index-in-node=\"24\">production_issuer.yml<\/code> \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"code-block ng-tns-c1976435164-522 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"0\" data-ved=\"0CAAQhtANahgKEwj9tK_Gtu2VAxUAAAAAHQAAAAAQ7QQ\">\n<div class=\"formatted-code-block-internal-container ng-tns-c1976435164-522\">\n<div class=\"animated-opacity ng-tns-c1976435164-522\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c1976435164-522 ng-star-inserted\"><span class=\"ng-tns-c1976435164-522\">Bash<\/span><\/p>\n<div class=\"buttons ng-tns-c1976435164-522 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c1976435164-522\"><code class=\"code-container formatted ng-tns-c1976435164-522\" role=\"text\" data-test-id=\"code-content\">nano .\/production_issuer.yml\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"code-block ng-tns-c1976435164-523 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"0\" data-ved=\"0CAAQhtANahgKEwj9tK_Gtu2VAxUAAAAAHQAAAAAQ7gQ\">\n<div class=\"formatted-code-block-internal-container ng-tns-c1976435164-523\">\n<div class=\"animated-opacity ng-tns-c1976435164-523\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c1976435164-523 ng-star-inserted\"><span class=\"ng-tns-c1976435164-523\">YAML<\/span><\/p>\n<div class=\"buttons ng-tns-c1976435164-523 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c1976435164-523\"><code class=\"code-container formatted ng-tns-c1976435164-523\" role=\"text\" data-test-id=\"code-content\"><span class=\"hljs-attr\">apiVersion:<\/span> <span class=\"hljs-string\">cert-manager.io\/v1<\/span>\r\n<span class=\"hljs-attr\">kind:<\/span> <span class=\"hljs-string\">ClusterIssuer<\/span>\r\n<span class=\"hljs-attr\">metadata:<\/span>\r\n  <span class=\"hljs-attr\">name:<\/span> <span class=\"hljs-string\">letsencrypt-prod<\/span>\r\n<span class=\"hljs-attr\">spec:<\/span>\r\n  <span class=\"hljs-attr\">acme:<\/span>\r\n    <span class=\"hljs-attr\">email:<\/span> <span class=\"hljs-string\">your_email_address@example.com<\/span>\r\n    <span class=\"hljs-attr\">server:<\/span> <span class=\"hljs-string\">https:\/\/acme-v02.api.letsencrypt.org\/directory<\/span>\r\n    <span class=\"hljs-attr\">privateKeySecretRef:<\/span>\r\n      <span class=\"hljs-attr\">name:<\/span> <span class=\"hljs-string\">letsencrypt-prod-private-key<\/span>\r\n    <span class=\"hljs-attr\">solvers:<\/span>\r\n      <span class=\"hljs-bullet\">-<\/span> <span class=\"hljs-attr\">http01:<\/span>\r\n          <span class=\"hljs-attr\">ingress:<\/span>\r\n            <span class=\"hljs-attr\">class:<\/span> <span class=\"hljs-string\">nginx<\/span><\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<p data-path-to-node=\"88\">\u0645\u0646\u0627\u0628\u0639 \u062c\u062f\u06cc\u062f \u0631\u0627 \u0627\u067e\u0644\u0627\u06cc \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"code-block ng-tns-c1976435164-524 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"0\" data-ved=\"0CAAQhtANahgKEwj9tK_Gtu2VAxUAAAAAHQAAAAAQ7wQ\">\n<div class=\"formatted-code-block-internal-container ng-tns-c1976435164-524\">\n<div class=\"animated-opacity ng-tns-c1976435164-524\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c1976435164-524 ng-star-inserted\"><span class=\"ng-tns-c1976435164-524\">Bash<\/span><\/p>\n<div class=\"buttons ng-tns-c1976435164-524 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c1976435164-524\"><code class=\"code-container formatted ng-tns-c1976435164-524\" role=\"text\" data-test-id=\"code-content\">kubectl apply -f ingress.yml\r\nkubectl apply -f production_issuer.yml\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<p data-path-to-node=\"90\">\u062f\u0631 \u0646\u0647\u0627\u06cc\u062a \u0622\u06cc\u200c\u067e\u06cc \u0639\u0645\u0648\u0645\u06cc (External IP) \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 Ingress Controller \u0631\u0627 \u062f\u0631\u06cc\u0627\u0641\u062a \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"code-block ng-tns-c1976435164-525 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"0\" data-ved=\"0CAAQhtANahgKEwj9tK_Gtu2VAxUAAAAAHQAAAAAQ8AQ\">\n<div class=\"formatted-code-block-internal-container ng-tns-c1976435164-525\">\n<div class=\"animated-opacity ng-tns-c1976435164-525\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c1976435164-525 ng-star-inserted\"><span class=\"ng-tns-c1976435164-525\">Bash<\/span><\/p>\n<div class=\"buttons ng-tns-c1976435164-525 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c1976435164-525\"><code class=\"code-container formatted ng-tns-c1976435164-525\" role=\"text\" data-test-id=\"code-content\">kubectl get service nginx-ingress-ingress-nginx-controller\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<p data-path-to-node=\"92\">\u0622\u062f\u0631\u0633 IP \u062f\u0631\u06cc\u0627\u0641\u062a\u06cc \u0631\u0627 \u062f\u0631 \u067e\u0646\u0644 \u0645\u062f\u06cc\u0631\u06cc\u062a DNS \u062f\u0627\u0645\u0646\u0647 \u062e\u0648\u062f\u060c \u0631\u0648\u06cc \u06cc\u06a9 <b data-path-to-node=\"92\" data-index-in-node=\"55\">A Record<\/b> \u0628\u0647 \u0633\u0645\u062a \u062f\u0627\u0645\u0646\u0647 <code data-path-to-node=\"92\" data-index-in-node=\"77\">your_domain.com<\/code> \u062a\u0646\u0638\u06cc\u0645 \u06a9\u0646\u06cc\u062f.<\/p>\n<h2 data-path-to-node=\"94\">\u06af\u0627\u0645 \u0634\u0634\u0645 \u2014 \u0627\u062c\u0631\u0627\u06cc \u062f\u0633\u062a\u0648\u0631\u0627\u062a Artisan \u0631\u0648\u06cc Pod \u0644\u0627\u0631\u0627\u0648\u0644<\/h2>\n<p data-path-to-node=\"95\">\u067e\u0633 \u0627\u0632 \u0628\u0627\u0644\u0627 \u0622\u0645\u062f\u0646 \u06a9\u0627\u0645\u0644 \u067e\u0631\u0648\u0698\u0647\u060c \u0628\u0631\u0627\u06cc \u0627\u062c\u0631\u0627\u06cc \u0645\u0627\u06cc\u06af\u0631\u06cc\u0634\u0646\u200c\u0647\u0627\u06cc \u062f\u06cc\u062a\u0627\u0628\u06cc\u0633 (Database Migrations) \u0627\u0628\u062a\u062f\u0627 \u0646\u0627\u0645 <b data-path-to-node=\"95\" data-index-in-node=\"92\">Pod<\/b> \u0628\u0631\u0646\u0627\u0645\u0647 \u0631\u0627 \u067e\u06cc\u062f\u0627 \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"code-block ng-tns-c1976435164-526 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"0\" data-ved=\"0CAAQhtANahgKEwj9tK_Gtu2VAxUAAAAAHQAAAAAQ8QQ\">\n<div class=\"formatted-code-block-internal-container ng-tns-c1976435164-526\">\n<div class=\"animated-opacity ng-tns-c1976435164-526\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c1976435164-526 ng-star-inserted\"><span class=\"ng-tns-c1976435164-526\">Bash<\/span><\/p>\n<div class=\"buttons ng-tns-c1976435164-526 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c1976435164-526\"><code class=\"code-container formatted ng-tns-c1976435164-526\" role=\"text\" data-test-id=\"code-content\">kubectl get pods\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<p data-path-to-node=\"97\">\u067e\u0633 \u0627\u0632 \u06a9\u067e\u06cc \u06a9\u0631\u062f\u0646 \u0646\u0627\u0645 Pod \u0644\u0627\u0631\u0627\u0648\u0644\u060c \u062f\u0633\u062a\u0648\u0631 \u0632\u06cc\u0631 \u0631\u0627 \u0628\u0631\u0627\u06cc \u0627\u062c\u0631\u0627\u06cc \u0645\u0627\u06cc\u06af\u0631\u06cc\u0634\u0646 \u062f\u0627\u062e\u0644 Pod \u0627\u062c\u0631\u0627 \u0646\u0645\u0627\u06cc\u06cc\u062f:<\/p>\n<div class=\"code-block ng-tns-c1976435164-527 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"0\" data-ved=\"0CAAQhtANahgKEwj9tK_Gtu2VAxUAAAAAHQAAAAAQ8gQ\">\n<div class=\"formatted-code-block-internal-container ng-tns-c1976435164-527\">\n<div class=\"animated-opacity ng-tns-c1976435164-527\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c1976435164-527 ng-star-inserted\"><span class=\"ng-tns-c1976435164-527\">Bash<\/span><\/p>\n<div class=\"buttons ng-tns-c1976435164-527 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c1976435164-527\"><code class=\"code-container formatted ng-tns-c1976435164-527\" role=\"text\" data-test-id=\"code-content\">kubectl <span class=\"hljs-built_in\">exec<\/span> -it &lt;laravel-pod-name&gt; -- php artisan migrate --force\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<h3 data-path-to-node=\"100\">\u062c\u0645\u0639\u200c\u0628\u0646\u062f\u06cc<\/h3>\n<p data-path-to-node=\"101\">\u062f\u0631 \u0627\u06cc\u0646 \u0645\u0642\u0627\u0644\u0647 \u0622\u0645\u0648\u062e\u062a\u06cc\u062f \u06a9\u0647 \u0686\u06af\u0648\u0646\u0647 \u06cc\u06a9 \u067e\u0631\u0648\u0698\u0647 <b data-path-to-node=\"101\" data-index-in-node=\"39\">\u0644\u0627\u0631\u0627\u0648\u0644<\/b> \u0631\u0627 \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631\u06cc \u06a9\u0631\u062f\u0647\u060c \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0645\u06cc\u0631\u0648\u0631\u0647\u0627\u06cc \u0633\u0631\u0639\u062a\u200c\u0628\u0627\u0644\u0627\u06cc <b data-path-to-node=\"101\" data-index-in-node=\"98\">\u067e\u0627\u0631\u0645\u06cc\u0646 \u06a9\u0644\u0648\u062f<\/b> \u0627\u06cc\u0645\u06cc\u062c\u200c\u0647\u0627\u06cc \u0622\u0646 \u0631\u0627 \u0645\u062f\u06cc\u0631\u06cc\u062a \u06a9\u0646\u06cc\u062f \u0648 \u0628\u0647 \u06a9\u0645\u06a9 <b data-path-to-node=\"101\" data-index-in-node=\"147\">Helm<\/b> \u0648 <b data-path-to-node=\"101\" data-index-in-node=\"154\">\u06a9\u0648\u0628\u0631\u0646\u062a\u06cc\u0632<\/b>\u060c \u06cc\u06a9 \u0632\u06cc\u0631\u0633\u0627\u062e\u062a \u0645\u0642\u06cc\u0627\u0633\u200c\u067e\u0630\u06cc\u0631 \u0647\u0645\u0631\u0627\u0647 \u0628\u0627 SSL \u0631\u0627\u06cc\u06af\u0627\u0646 \u0628\u0631\u0627\u06cc \u0648\u0628\u200c\u0633\u0627\u06cc\u062a \u062e\u0648\u062f \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc \u06a9\u0646\u06cc\u062f.<\/p>\n<\/div>\n<\/div>\n<p data-path-to-node=\"101\">\n<p data-path-to-node=\"101\">\n<p data-path-to-node=\"101\">\n<p data-path-to-node=\"101\">\u0627\u0632 \u0647\u0645\u0631\u0627\u0647\u06cc \u0634\u0645\u0627 \u0628\u0627 <strong><a href=\"https:\/\/parmin.cloud\/\">\u067e\u0627\u0631\u0645\u06cc\u0646 \u06a9\u0644\u0648\u062f<\/a><\/strong> \u0633\u067e\u0627\u0633\u06af\u0632\u0627\u0631\u06cc\u0645.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u0645\u0642\u062f\u0645\u0647 \u0644\u0627\u0631\u0627\u0648\u0644 (Laravel) \u06cc\u06a9\u06cc \u0627\u0632 \u0645\u062d\u0628\u0648\u0628\u200c\u062a\u0631\u06cc\u0646 \u0641\u0631\u06cc\u0645\u200c\u0648\u0631\u06a9\u200c\u0647\u0627\u06cc \u0645\u062a\u0646\u200c\u0628\u0627\u0632 PHP \u0627\u0633\u062a \u06a9\u0647 \u0645\u0639\u0645\u0648\u0644\u0627\u064b \u0628\u0647 \u0647\u0645\u0631\u0627\u0647 \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 MySQL \u0628\u0631\u0627\u06cc \u062a\u0648\u0633\u0639\u0647 \u0648\u0628\u200c\u0633\u0627\u06cc\u062a\u200c\u0647\u0627 \u0648 \u0627\u067e\u0644\u06cc\u06a9\u06cc\u0634\u0646\u200c\u0647\u0627\u06cc \u0645\u062f\u0631\u0646 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f. \u06a9\u0648\u0628\u0631\u0646\u062a\u06cc\u0632 (Kubernetes) \u06cc\u06a9 \u067e\u0644\u062a\u0641\u0631\u0645 \u0645\u062f\u06cc\u0631\u06cc\u062a \u0648 \u0627\u0631\u06a9\u0633\u062a\u0631\u0627\u0633\u06cc\u0648\u0646 \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631\u0647\u0627\u0633\u062a \u06a9\u0647 \u0645\u062f\u06cc\u0631\u06cc\u062a\u060c \u0645\u0642\u06cc\u0627\u0633\u200c\u067e\u0630\u06cc\u0631\u06cc \u0648 \u0627\u062c\u0631\u0627\u06cc \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0647\u0627 \u0631\u0627 \u062f\u0631 \u0645\u062d\u06cc\u0637 \u067e\u0631\u0648\u062f\u0627\u06a9\u0634\u0646 \u0628\u0633\u06cc\u0627\u0631 \u0622\u0633\u0627\u0646 \u0645\u06cc\u200c\u06a9\u0646\u062f. Helm \u0646\u06cc\u0632 \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u067e\u06a9\u06cc\u062c\u200c\u0645\u0646\u06cc\u062c\u0631 \u06a9\u0648\u0628\u0631\u0646\u062a\u06cc\u0632 \u0639\u0645\u0644 \u06a9\u0631\u062f\u0647 \u0648 &hellip;<\/p>\n","protected":false},"author":9,"featured_media":6717,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[131,163],"tags":[],"class_list":["post-6716","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-131","category-163"],"_links":{"self":[{"href":"https:\/\/parmin.cloud\/blog\/wp-json\/wp\/v2\/posts\/6716","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/parmin.cloud\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/parmin.cloud\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/parmin.cloud\/blog\/wp-json\/wp\/v2\/users\/9"}],"replies":[{"embeddable":true,"href":"https:\/\/parmin.cloud\/blog\/wp-json\/wp\/v2\/comments?post=6716"}],"version-history":[{"count":0,"href":"https:\/\/parmin.cloud\/blog\/wp-json\/wp\/v2\/posts\/6716\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/parmin.cloud\/blog\/wp-json\/wp\/v2\/media\/6717"}],"wp:attachment":[{"href":"https:\/\/parmin.cloud\/blog\/wp-json\/wp\/v2\/media?parent=6716"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/parmin.cloud\/blog\/wp-json\/wp\/v2\/categories?post=6716"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/parmin.cloud\/blog\/wp-json\/wp\/v2\/tags?post=6716"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}