{"id":34939,"date":"2024-09-04T16:54:33","date_gmt":"2024-09-04T09:54:33","guid":{"rendered":"http:\/\/jupitek.maudemo.vip\/index.php\/2024\/09\/04\/getting-started-with-lke\/"},"modified":"2024-09-04T16:54:33","modified_gmt":"2024-09-04T09:54:33","slug":"getting-started-with-lke","status":"publish","type":"post","link":"https:\/\/jupitek.maudemo.vip\/index.php\/2024\/09\/04\/getting-started-with-lke\/","title":{"rendered":"B\u1eaft \u0111\u1ea7u v\u1edbi LKE"},"content":{"rendered":"<h2 id=\"h-cai-d\u1eb7t-kubectl\"><strong>C\u00e0i \u0111\u1eb7t kubectl<\/strong><\/h2>\n<p><strong>macOS:<\/strong><\/p>\n<p>C\u00e0i \u0111\u1eb7t qua Homebrew:<\/p>\n<pre class=\"wp-block-code\"><code>brew install kubernetes-cli<\/code><\/pre>\n<p><strong>Linux:<\/strong><\/p>\n<p>T\u1ea3i xu\u1ed1ng b\u1ea3n ph\u00e1t h\u00e0nh kubectl m\u1edbi nh\u1ea5t:<\/p>\n<pre class=\"wp-block-code\"><code><code>curl -LO https:\/\/storage.googleapis.com\/kubernetes-release\/release\/$(curl -s https:\/\/storage.googleapis.com\/kubernetes-release\/release\/stable.txt)\/bin\/linux\/amd64\/kubectl<\/code><\/code><\/pre>\n<p>L\u00e0m cho t\u1ec7p \u0111\u00e3 t\u1ea3i xu\u1ed1ng c\u00f3 th\u1ec3 th\u1ef1c thi \u0111\u01b0\u1ee3c:<\/p>\n<pre class=\"wp-block-code\"><code><code>chmod +x .\/kubectl<\/code><\/code><\/pre>\n<p>Di chuy\u1ec3n l\u1ec7nh v\u00e0o PATH c\u1ee7a b\u1ea1n:<\/p>\n<pre class=\"wp-block-code\"><code><code>sudo mv .\/kubectl \/usr\/local\/bin\/kubectl<\/code><\/code><\/pre>\n<p><strong>Windows:<\/strong><\/p>\n<p>Truy c\u1eadp t\u00e0i li\u1ec7u Kubernetes \u0111\u1ec3 bi\u1ebft li\u00ean k\u1ebft \u0111\u1ebfn b\u1ea3n ph\u00e1t h\u00e0nh Windows m\u1edbi nh\u1ea5t.<\/p>\n<p><strong>T\u1ea1o c\u1ee5m LKE<\/strong><\/p>\n<p>\u0110\u0103ng nh\u1eadp v\u00e0o t\u00e0i kho\u1ea3n Tr\u00ecnh qu\u1ea3n l\u00fd \u0111\u00e1m m\u00e2y c\u1ee7a b\u1ea1n.<\/p>\n<p>Ch\u1ecdn Kubernetes t\u1eeb menu \u0111i\u1ec1u h\u01b0\u1edbng b\u00ean tr\u00e1i r\u1ed3i nh\u1ea5p v\u00e0o T\u1ea1o c\u1ee5m.<\/p>\n<p>Trang T\u1ea1o c\u1ee5m Kubernetes xu\u1ea5t hi\u1ec7n \u1ede \u0111\u1ea7u trang, b\u1ea1n \u0111\u01b0\u1ee3c y\u00eau c\u1ea7u ch\u1ecdn c\u00e1c t\u00f9y ch\u1ecdn sau:<\/p>\n<p>Trong tr\u01b0\u1eddng Nh\u00e3n c\u1ee5m, h\u00e3y cung c\u1ea5p t\u00ean cho c\u1ee5m c\u1ee7a b\u1ea1n. T\u00ean n\u00e0y ph\u1ea3i l\u00e0 duy nh\u1ea5t gi\u1eefa t\u1ea5t c\u1ea3 c\u00e1c c\u1ee5m tr\u00ean t\u00e0i kho\u1ea3n c\u1ee7a b\u1ea1n. T\u00ean n\u00e0y l\u00e0 c\u00e1ch b\u1ea1n x\u00e1c \u0111\u1ecbnh c\u1ee5m c\u1ee7a m\u00ecnh trong Trang t\u1ed5ng quan c\u1ee7a Tr\u00ecnh qu\u1ea3n l\u00fd \u0111\u00e1m m\u00e2y.<\/p>\n<ul>\n<li>T\u1eeb menu th\u1ea3 xu\u1ed1ng V\u00f9ng, ch\u1ecdn V\u00f9ng n\u01a1i b\u1ea1n mu\u1ed1n c\u1ee5m c\u1ee7a m\u00ecnh c\u01b0 tr\u00fa.<\/li>\n<\/ul>\n<ul>\n<li>T\u1eeb menu th\u1ea3 xu\u1ed1ng Phi\u00ean b\u1ea3n, ch\u1ecdn phi\u00ean b\u1ea3n Kubernetes \u0111\u1ec3 tri\u1ec3n khai cho c\u1ee5m c\u1ee7a b\u1ea1n.<\/li>\n<\/ul>\n<p>Trong ph\u1ea7n Th\u00eam nh\u00f3m n\u00fat, ch\u1ecdn t\u00e0i nguy\u00ean ph\u1ea7n c\u1ee9ng cho (c\u00e1c) n\u00fat c\u00f4ng nh\u00e2n Linode t\u1ea1o n\u00ean c\u1ee5m LKE c\u1ee7a b\u1ea1n. \u1ede b\u00ean ph\u1ea3i m\u1ed7i g\u00f3i, h\u00e3y ch\u1ecdn d\u1ea5u c\u1ed9ng + v\u00e0 d\u1ea5u tr\u1eeb &#8211; \u0111\u1ec3 th\u00eam ho\u1eb7c x\u00f3a Linode v\u00e0o nh\u00f3m n\u00fat. m\u1ed9t l\u00fac.<\/p>\n<p>Sau khi h\u00e0i l\u00f2ng v\u1edbi s\u1ed1 l\u01b0\u1ee3ng n\u00fat trong nh\u00f3m n\u00fat, h\u00e3y ch\u1ecdn Th\u00eam \u0111\u1ec3 \u0111\u01b0a n\u00fat \u0111\u00f3 v\u00e0o c\u1ea5u h\u00ecnh c\u1ee7a m\u00ecnh. N\u1ebfu b\u1ea1n quy\u1ebft \u0111\u1ecbnh r\u1eb1ng m\u00ecnh c\u1ea7n nhi\u1ec1u ho\u1eb7c \u00edt t\u00e0i nguy\u00ean ph\u1ea7n c\u1ee9ng h\u01a1n sau khi tri\u1ec3n khai c\u1ee5m c\u1ee7a m\u00ecnh, b\u1ea1n lu\u00f4n c\u00f3 th\u1ec3 ch\u1ec9nh s\u1eeda Nh\u00f3m n\u00fat c\u1ee7a m\u00ecnh.<\/p>\n<p>Khi m\u1ed9t nh\u00f3m \u0111\u00e3 \u0111\u01b0\u1ee3c th\u00eam v\u00e0o c\u1ea5u h\u00ecnh c\u1ee7a b\u1ea1n, nh\u00f3m \u0111\u00f3 s\u1ebd \u0111\u01b0\u1ee3c li\u1ec7t k\u00ea trong T\u00f3m t\u1eaft c\u1ee5m \u1edf ph\u00eda b\u00ean ph\u1ea3i c\u1ee7a Tr\u00ecnh qu\u1ea3n l\u00fd \u0111\u00e1m m\u00e2y, n\u00eau chi ti\u1ebft v\u1ec1 t\u00e0i nguy\u00ean ph\u1ea7n c\u1ee9ng c\u1ee7a c\u1ee5m v\u00e0 chi ph\u00ed h\u00e0ng th\u00e1ng c\u1ee7a nh\u00f3m tr\u01b0\u1edbc khi ho\u00e0n t\u1ea5t quy tr\u00ecnh t\u1ea1o c\u1ee5m b\u1eb1ng c\u00e1ch l\u1eb7p l\u1ea1i qu\u00e1 tr\u00ecnh tr\u01b0\u1edbc \u0111\u00f3. b\u01b0\u1edbc cho m\u1ed7i nh\u00f3m b\u1ed5 sung.<\/p>\n<p>Khi b\u1ea1n h\u00e0i l\u00f2ng v\u1edbi c\u1ea5u h\u00ecnh c\u1ee5m c\u1ee7a m\u00ecnh, h\u00e3y nh\u1ea5p v\u00e0o n\u00fat T\u1ea1o c\u1ee5m \u1edf ph\u00eda b\u00ean ph\u1ea3i m\u00e0n h\u00ecnh, trang chi ti\u1ebft v\u1ec1 c\u1ee5m c\u1ee7a b\u1ea1n xu\u1ea5t hi\u1ec7n v\u00e0 Nh\u00f3m n\u00fat c\u1ee7a b\u1ea1n \u0111\u01b0\u1ee3c li\u1ec7t k\u00ea tr\u00ean trang n\u00e0y, b\u1ea1n c\u00f3 th\u1ec3 ch\u1ec9nh s\u1eeda nh\u00f3m hi\u1ec7n c\u00f3 c\u1ee7a m\u00ecnh. Node Pools, truy c\u1eadp t\u1ec7p Kubeconfig c\u1ee7a b\u1ea1n v\u00e0 xem t\u1ed5ng quan v\u1ec1 chi ti\u1ebft t\u00e0i nguy\u00ean c\u1ee7a c\u1ee5m c\u1ee7a b\u1ea1n.<\/p>\n<p><strong>Truy c\u1eadp v\u00e0 t\u1ea3i xu\u1ed1ng kubeconfig c\u1ee7a b\u1ea1n<\/strong><\/p>\n<p>\u0110\u1ec3 truy c\u1eadp kubeconfig c\u1ee7a c\u1ee5m, h\u00e3y \u0111\u0103ng nh\u1eadp v\u00e0o t\u00e0i kho\u1ea3n Tr\u00ecnh qu\u1ea3n l\u00fd \u0111\u00e1m m\u00e2y c\u1ee7a b\u1ea1n v\u00e0 \u0111i\u1ec1u h\u01b0\u1edbng \u0111\u1ebfn ph\u1ea7n Kubernetes.<\/p>\n<p>T\u1eeb trang danh s\u00e1ch Kubernetes, nh\u1ea5p v\u00e0o d\u1ea5u ch\u1ea5m l\u1eedng t\u00f9y ch\u1ecdn kh\u00e1c c\u1ee7a c\u1ee5m v\u00e0 ch\u1ecdn T\u1ea3i xu\u1ed1ng kubeconfig. T\u1ec7p \u0111\u01b0\u1ee3c l\u01b0u v\u00e0o th\u01b0 m\u1ee5c T\u1ea3i xu\u1ed1ng tr\u00ean m\u00e1y t\u00ednh c\u1ee7a b\u1ea1n.<\/p>\n<p>M\u1edf shell terminal v\u00e0 l\u01b0u \u0111\u01b0\u1eddng d\u1eabn c\u1ee7a t\u1ec7p kubeconfig v\u00e0o bi\u1ebfn m\u00f4i tr\u01b0\u1eddng $KUBECONFIG Trong l\u1ec7nh v\u00ed d\u1ee5, t\u1ec7p kubeconfig n\u1eb1m trong th\u01b0 m\u1ee5c T\u1ea3i xu\u1ed1ng, nh\u01b0ng b\u1ea1n n\u00ean thay \u0111\u1ed5i d\u00f2ng n\u00e0y b\u1eb1ng v\u1ecb tr\u00ed c\u1ee7a th\u01b0 m\u1ee5c n\u00e0y tr\u00ean m\u00e1y t\u00ednh c\u1ee7a b\u1ea1n:<\/p>\n<pre class=\"wp-block-code\"><code><code>export KUBECONFIG=~\/Downloads\/kubeconfig.yaml<\/code><\/code><\/pre>\n<p>Xem c\u00e1c n\u00fat trong c\u1ee5m c\u1ee7a b\u1ea1n b\u1eb1ng kubectl.<\/p>\n<pre class=\"wp-block-code\"><code>kubectl get nodes<\/code><\/pre>\n<p><strong>Th\u00f4ng tin chung v\u1ec1 m\u1ea1ng v\u00e0 t\u01b0\u1eddng l\u1eeda<\/strong><\/p>\n<p>Trong c\u1ee5m LKE, m\u1ed9t s\u1ed1 th\u1ef1c th\u1ec3 v\u00e0 d\u1ecbch v\u1ee5 ch\u1ec9 c\u00f3 th\u1ec3 truy c\u1eadp \u0111\u01b0\u1ee3c t\u1eeb b\u00ean trong c\u1ee5m \u0111\u00f3 trong khi nh\u1eefng th\u1ef1c th\u1ec3 v\u00e0 d\u1ecbch v\u1ee5 kh\u00e1c c\u00f3 th\u1ec3 truy c\u1eadp c\u00f4ng khai (c\u00f3 th\u1ec3 truy c\u1eadp t\u1eeb internet).<\/p>\n<p>Ri\u00eang t\u01b0 (ch\u1ec9 c\u00f3 th\u1ec3 truy c\u1eadp trong c\u1ee5m):<\/p>\n<ul>\n<li>IP nh\u00f3m s\u1eed d\u1ee5ng m\u1ea1ng \u1ea3o tr\u00ean m\u1ed7i c\u1ee5m trong ph\u1ea1m vi 10.2.0.0\/16<\/li>\n<\/ul>\n<ul>\n<li>D\u1ecbch v\u1ee5 ClusterIP, s\u1eed d\u1ee5ng m\u1ea1ng \u1ea3o tr\u00ean m\u1ed7i c\u1ee5m trong ph\u1ea1m vi 10.128.0.0\/16<\/li>\n<\/ul>\n<p><strong>C\u00f4ng khai (c\u00f3 th\u1ec3 truy c\u1eadp qua internet):<\/strong><\/p>\n<ul>\n<li>D\u1ecbch v\u1ee5 NodePort, l\u1eafng nghe tr\u00ean t\u1ea5t c\u1ea3 c\u00e1c N\u00fat c\u00f3 c\u1ed5ng trong ph\u1ea1m vi 30000-32768<\/li>\n<\/ul>\n<ul>\n<li>D\u1ecbch v\u1ee5 LoadBalancer, t\u1ef1 \u0111\u1ed9ng tri\u1ec3n khai v\u00e0 \u0111\u1ecbnh c\u1ea5u h\u00ecnh NodeBalancer<\/li>\n<\/ul>\n<ul>\n<li>B\u1ea5t k\u1ef3 b\u1ea3ng k\u00ea khai n\u00e0o s\u1eed d\u1ee5ng HostNetwork: true v\u00e0 ch\u1ec9 \u0111\u1ecbnh m\u1ed9t c\u1ed5ng<\/li>\n<\/ul>\n<ul>\n<li>H\u1ea7u h\u1ebft c\u00e1c b\u1ea3ng k\u00ea khai s\u1eed d\u1ee5ng HostPort v\u00e0 ch\u1ec9 \u0111\u1ecbnh m\u1ed9t c\u1ed5ng<\/li>\n<\/ul>\n<p>Vi\u1ec7c \u0111\u01b0a kh\u1ed1i l\u01b0\u1ee3ng c\u00f4ng vi\u1ec7c l\u00ean internet c\u00f4ng c\u1ed9ng th\u00f4ng qua c\u00e1c ph\u01b0\u01a1ng ph\u00e1p tr\u00ean c\u00f3 th\u1ec3 thu\u1eadn ti\u1ec7n nh\u01b0ng \u0111i\u1ec1u n\u00e0y c\u0169ng c\u00f3 th\u1ec3 mang \u0111\u1ebfn r\u1ee7i ro b\u1ea3o m\u1eadt. B\u1ea1n c\u00f3 th\u1ec3 mu\u1ed1n c\u00e0i \u0111\u1eb7t th\u1ee7 c\u00f4ng c\u00e1c quy t\u1eafc t\u01b0\u1eddng l\u1eeda tr\u00ean c\u00e1c n\u00fat c\u1ee5m c\u1ee7a m\u00ecnh. m\u1eb7t ph\u1eb3ng \u0111i\u1ec1u khi\u1ec3n v\u00e0 ch\u1eb7n l\u01b0u l\u01b0\u1ee3ng kh\u00f4ng mong mu\u1ed1n:<\/p>\n<ul>\n<li>Cho ph\u00e9p ki\u1ec3m tra t\u00ecnh tr\u1ea1ng kubelet: C\u1ed5ng TCP 10250 t\u1eeb 192.168.128.0\/17 Ch\u1ea5p nh\u1eadn<\/li>\n<\/ul>\n<ul>\n<li>Cho ph\u00e9p t\u1ea1o \u0111\u01b0\u1eddng h\u1ea7m Wireguard cho proxy kubectl: C\u1ed5ng UDP 51820 t\u1eeb 192.168.128.0\/17 Ch\u1ea5p nh\u1eadn<\/li>\n<\/ul>\n<ul>\n<li>Cho ph\u00e9p l\u01b0u l\u01b0\u1ee3ng Calico BGP: C\u1ed5ng TCP 179 t\u1eeb 192.168.128.0\/17 Ch\u1ea5p nh\u1eadn<\/li>\n<\/ul>\n<ul>\n<li>Cho ph\u00e9p NodePorts cho c\u00e1c d\u1ecbch v\u1ee5 kh\u1ed1i l\u01b0\u1ee3ng c\u00f4ng vi\u1ec7c: C\u1ed5ng TCP\/UDP 30000 &#8211; 32767 192.168.128.0\/17 Ch\u1ea5p nh\u1eadn<\/li>\n<\/ul>\n<ul>\n<li>Ch\u1eb7n t\u1ea5t c\u1ea3 l\u01b0u l\u01b0\u1ee3ng TCP kh\u00e1c: TCP T\u1ea5t c\u1ea3 c\u00e1c c\u1ed5ng T\u1ea5t c\u1ea3 IPv4\/T\u1ea5t c\u1ea3 IPv6 Th\u1ea3<\/li>\n<\/ul>\n<ul>\n<li>Ch\u1eb7n t\u1ea5t c\u1ea3 l\u01b0u l\u01b0\u1ee3ng UDP kh\u00e1c: UDP All Ports All IPv4\/All IPv6 Drop<\/li>\n<\/ul>\n<ul>\n<li>Ch\u1eb7n t\u1ea5t c\u1ea3 l\u01b0u l\u01b0\u1ee3ng ICMP: ICMP All Ports All IPv4\/All IPv6 Drop<\/li>\n<\/ul>\n<p>\u0110\u1ec3 bi\u1ebft th\u00eam th\u00f4ng tin, vui l\u00f2ng xem b\u00e0i \u0111\u0103ng c\u1ed9ng \u0111\u1ed3ng n\u00e0y. B\u1ea3n ph\u00e1t h\u00e0nh LKE trong t\u01b0\u01a1ng lai c\u00f3 th\u1ec3 mang l\u1ea1i s\u1ef1 linh ho\u1ea1t cao h\u01a1n cho c\u00e1c \u0111i\u1ec3m cu\u1ed1i m\u1ea1ng c\u1ee7a c\u00e1c lo\u1ea1i kh\u1ed1i l\u01b0\u1ee3ng c\u00f4ng vi\u1ec7c n\u00e0y.<\/p>\n<p>Xin l\u01b0u \u00fd, t\u1ea1i th\u1eddi \u0111i\u1ec3m n\u00e0y, c\u00e1c n\u00fat ph\u1ea3i \u0111\u01b0\u1ee3c x\u00f3a kh\u1ecfi c\u1ea5u h\u00ecnh T\u01b0\u1eddng l\u1eeda \u0111\u00e1m m\u00e2y tr\u01b0\u1edbc khi x\u00f3a\/t\u00e1i s\u1eed d\u1ee5ng nh\u00f3m n\u00fat trong c\u1ea5u h\u00ecnh Kubernetes. Ngo\u00e0i ra, khi th\u00eam nh\u00f3m n\u00fat v\u00e0o c\u1ee5m Kubernetes, T\u01b0\u1eddng l\u1eeda \u0111\u00e1m m\u00e2y ph\u1ea3i \u0111\u01b0\u1ee3c c\u1eadp nh\u1eadt v\u1edbi nh\u00f3m n\u00fat m\u1edbi( s) Vi\u1ec7c kh\u00f4ng th\u00eam c\u00e1c n\u00fat m\u1edbi s\u1ebd t\u1ea1o ra r\u1ee7i ro b\u1ea3o m\u1eadt.<\/p>\n<p class=\"has-background\" style=\"background-color:#cdf5e3\">T\u1ea5t c\u1ea3 c\u00e1c c\u1ee5m LKE m\u1edbi t\u1ea1o ra m\u1ed9t d\u1ecbch v\u1ee5 c\u00f3 t\u00ean Kubernetes trong kh\u00f4ng gian t\u00ean m\u1eb7c \u0111\u1ecbnh \u0111\u01b0\u1ee3c thi\u1ebft k\u1ebf \u0111\u1ec3 d\u1ec5 d\u00e0ng t\u01b0\u01a1ng t\u00e1c v\u1edbi m\u1eb7t ph\u1eb3ng \u0111i\u1ec1u khi\u1ec3n. \u0110\u00e2y l\u00e0 d\u1ecbch v\u1ee5 ti\u00eau chu\u1ea9n cho c\u00e1c c\u1ee5m LKE.<\/p>\n<p>Ngu\u1ed3n: https:\/\/techdocs.akamai.com\/cloud-computing\/docs\/getting-started-with-lke-linode-kubernetes-engine<\/p>\n","protected":false},"excerpt":{"rendered":"<p>C\u00e0i \u0111\u1eb7t kubectl macOS: C\u00e0i \u0111\u1eb7t qua Homebrew: Linux: T\u1ea3i xu\u1ed1ng b\u1ea3n ph\u00e1t h\u00e0nh kubectl m\u1edbi nh\u1ea5t: L\u00e0m cho t\u1ec7p \u0111\u00e3 t\u1ea3i xu\u1ed1ng c\u00f3 th\u1ec3 th\u1ef1c thi \u0111\u01b0\u1ee3c: Di chuy\u1ec3n l\u1ec7nh v\u00e0o PATH c\u1ee7a b\u1ea1n: Windows: Truy c\u1eadp t\u00e0i li\u1ec7u Kubernetes \u0111\u1ec3 bi\u1ebft li\u00ean k\u1ebft \u0111\u1ebfn b\u1ea3n ph\u00e1t h\u00e0nh Windows m\u1edbi nh\u1ea5t. T\u1ea1o c\u1ee5m LKE<\/p>\n","protected":false},"author":1,"featured_media":35807,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[79],"tags":[],"class_list":["post-34939","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-linode-kubernetes-engine"],"_links":{"self":[{"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/posts\/34939","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/comments?post=34939"}],"version-history":[{"count":0,"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/posts\/34939\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/media\/35807"}],"wp:attachment":[{"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/media?parent=34939"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/categories?post=34939"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/tags?post=34939"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}