1. Overview Kubernetes is an open source project (available on kubernetes.io) which can run on many different environments, from laptops to high-availability multi-node clusters; from public clouds to on-premise deployments; from virtual machines to bare metal. 2. Objectives To package and deploy your application on Kubernetes Engine, you must: Package your app into a Docker image Run the container locally on your machine (optional) Upload the image to a registry Create a container...
Google Cloud Google Cloud Platform GCP Kubernetes Google Kubernetes EngineEFK stack on K8S Giới thiệu Một hệ thống có thể chạy nhiều dịch vụ hoặc ứng dụng khác nhau, vì vậy việc theo dõi hệ thống là vô cùng cần thiết. Logging là một công cụ đơn giản nhưng lại rất tiện lợi giúp ghi lại toàn bộ hoạt động của hệ thống. Nhờ có logging, ta có thể tra cứu lại trạng thái của hệ thống trong quá khứ và có thể tìm và fix lại lỗi dễ dàng hơn. Hiện nay đã...
Happy New Year Kubernetes LoggingBài hướng dẫn hôm nay sẽ hướng dẫn sử dụng K8S bằng cách sử dụng câu lệnh thay vì UI trên web. Có rất nhiều ưu điểm, tránh phụ thuộc quá nhiều vào giao diện web. Có 2 lựa chọn để thực hiện: Sử dụng Cloud Shell Active cloud shell theo hướng dẫn này Trong cloud shell đã có sẵn gcloud và kubectl (Kubernetes command-line tool) Sử dụng **Command-line tools locally ** Install gcloud cho máy local của bạn...
Kubernetes Docker command consoleTrong bài trước, mình có giới thiệu chạy các câu lệnh K8S bằng Command Line Để tạo 1 deloyment đơn giản chỉ cần chạy lệnh kubectl create deployment hello-app --image=nginx:latest Trong câu lệnh trên đã lược bỏ hầu như hết các thuộc tính không bắt buộc, nó chạy được, nhưng muốn mở rộng thì khó hơn nhiều. Khi đó phải truyền thêm các điều kiện vào command line khiến nó rất rồi mắt. Chính vì...
Kubernetes K8s MayFest May Fest Kubernetes DeploymentKubernetes là gì Dựa vào thông tin từ trang web của Kubernetes, "Kubernetes is an open-source system for automating deployment, scaling, and management of containerized applications." Tạm dịch là : "Kubernetes là một hệ thống mã nguồn mở dành cho việc tự động triển khai, thu phóng cũng như quản lý các ứng dụng đã được contanier hoas" Từ Kubernetes bắt nguồn từ κυβερνήτης trong tiếng Hi Lạp, có...
Kubernetes May FestGiới thiệu Chào các bạn tới với series về kubernetes. Đây là bài thứ 11 trong series của mình, ở bài này trong ta sẽ nói về kiến trúc bên trong kubernetes, một kubernetes cluster sẽ bao gồm những thành phần nào? Và từng thành phần đó sẽ hoạt động như thế nào? Pod được deploy tới worker node như thế nào, làm sao để kubernetes biết worker node nào thích hợp nhất để deploy Pod lên đó? Từng resource...
Kubernetes DevOps Kubernetes ArchitectureGiới thiệu Chào các bạn tới với series về kubernetes. Đây là bài thứ 12 trong series của mình, ở bài trước chúng ta đã nói về kiến trúc bên trong của kubernetes, từng component của nó hoạt động ra sao. Ở bài này chúng ta sẽ đi sâu hơn về Pod, xem thử một Pod sẽ cung cấp cho chúng ta những chức năng gì mà sẽ giúp ích ta nhiều hơn so với khi chạy container bình thường. Pod được thiết kế ra sao,...
Kubernetes DevOps Kubernetes ArchitectureGiới thiệu Chào các bạn tới với series về kubernetes. Đây là bài thứ 12 trong series của mình, ở bài trước chúng ta đã nói về kiến trúc bên trong của kubernetes, từng component của nó hoạt động ra sao. Ở bài này chúng ta sẽ đi sâu hơn về Pod, xem thử một Pod sẽ cung cấp cho chúng ta những chức năng gì mà sẽ giúp ích ta nhiều hơn so với khi chạy container bình thường. Pod được thiết kế ra sao,...
Kubernetes DevOps Kubernetes ArchitectureGiới thiệu Chào các bạn tới với series về kubernetes. Đây là bài thứ 13 trong series của mình, ở bài trước chúng ta đã nói về Pod internal. Ở bài này chúng ta sẽ nói về ServiceAccount và Role Based Access Control (RBAC), cách để client có thể authentication tới API server dùng ServiceAccount, authorization dùng RBAC. Ở bài 10, chúng ta đã nói về cách một ứng dụng bên trong Pod có thể nói chuyện với API server...
Kubernetes DevOps Kubernetes ArchitectureGiới thiệu Chào các bạn tới với series về kubernetes. Đây là bài thứ 14 trong series của mình, ở bài trước chúng ta đã nói về cách security kubernetes API server. Ở bài này chúng ta sẽ nói về security cho cluster nodes và network của node trong trường hợp container có thể truy cập được ra bên ngoài node server. Nếu các bạn có câu hỏi làm quái gì chúng ta phải cần security cho cluster nodes, chẳng phải khi...
Kubernetes DevOps Kubernetes ArchitectureGiới thiệu Chào các bạn tới với series về kubernetes. Đây là bài thứ 14 trong series của mình, ở bài trước chúng ta đã nói về cách security kubernetes API server. Ở bài này chúng ta sẽ nói về security cho cluster nodes và network của node trong trường hợp container có thể truy cập được ra bên ngoài node server. Nếu các bạn có câu hỏi làm quái gì chúng ta phải cần security cho cluster nodes, chẳng phải khi...
Kubernetes DevOps Kubernetes ArchitectureGiới thiệu Chào các bạn tới với series về kubernetes. Đây là bài thứ 14 trong series của mình, ở bài trước chúng ta đã nói về cách security cho cluster nodes và network dùng PodSecurityPolicies - NetworkPolicy, ở bài này chúng ta sẽ nói về cách quản lý và phân chia tài nguyên của cluster để application của chúng ta có thể chạy được tốt nhất. Trong series này chúng ta cũng đã tạo khá nhiều Pod, và ta tạo...
Kubernetes DevOps Kubernetes ArchitectureGiới thiệu Chào các bạn tới với series về kubernetes. Đây là bài thứ 14 trong series của mình, ở bài trước chúng ta đã nói về cách security cho cluster nodes và network dùng PodSecurityPolicies - NetworkPolicy, ở bài này chúng ta sẽ nói về cách quản lý và phân chia tài nguyên của cluster để application của chúng ta có thể chạy được tốt nhất. Trong series này chúng ta cũng đã tạo khá nhiều Pod, và ta tạo...
Kubernetes DevOps Kubernetes ArchitectureGiới thiệu Chào các bạn tới với series về kubernetes. Đây là bài thứ 16 trong series của mình, ở bài trước chúng ta đã nói về cách quản lý tài nguyên của Pod trên cluster chúng ta như thế nào là hiệu quả nhất, ở bài này chúng ta sẽ nói về một chủ đề mà mình thấy là thú vị nhất, đó là autoscaling Pod và cluster. Nói về scale thì có 2 cách scale là horizontal scaling và vertical scaling: Horizontal...
Kubernetes DevOps Kubernetes ArchitectureChào các bạn tới với series về kubernetes. Đây là bài thứ 17 trong series của mình, ở bài trước chúng ta đã nói về cách làm sao có để hệ thông của chúng ta tự động scale được. Ở bài này mình sẽ nói về cách làm sao ta có thể ngăn chặn một Pod được deploy tới node mà ta không mong muốn. Khi ta chạy một cluster mà ta muốn triển khai nhiều môi trường trên đó, ví dụ như dev, testing, staging,...
Kubernetes DevOps Kubernetes ArchitectureGiới thiệu Chào mọi người đến với series về kubernetes của mình, trong series này mình sẽ chia sẻ cho các bạn những kinh nghiệm của mình khi triển khai các ứng dụng thực tế trên môi trường kubernetes. Ở phần này mình sẽ nói về cách triển khai nodejs microservice trên môi trường kubernetes, phần một sẽ nói về cách viết file cấu hình từng thành phần cần thiết của microservice, phần hai sẽ nói...
Kubernetes DevOps Kubernetes ArchitectureAuto Scaling Pod là gì? Auto scaling pod là quá trình thực hiện tăng số lượng pod trong 1 node lên một số lượng đã được định sẵn hoặc không (mở rộng theo chiều ngang). Quá trình này được thực hiện khi xảy ra một hoặc nhiều sự kiện, ví dụ như: CPU đạt trên 70%, số lượng request đến server lớn hơn 500 req/s,... Auto Scaling để làm gì? Auto Scaling sẽ giúp ứng dụng tăng tài nguyên và từ đó...
Kubernetes DevOps K8s HPA AutoscaleNetworkPolicy làm gì? Network Policy giúp chúng ta kiểm soát lưu lượng truy cập mạng trong cụm Cluster tại Layer 3,4. Để có thể xác định được gói tin có được chấp nhận hay không ta có thể lọc với các thành phần: Thông qua các label được gắn vào pod Thông qua 1 cụm các pod chung namespace Thông qua một dải IP (IP Block) VD: 172.0.1.0/24 Có thể xem NetworkPolicy sẽ định nghĩa ra các "firewall rules" để kiểm...
Networking Kubernetes firewall K8s NetworkPolicyCreate new project You can use Google Cloud CLI, download at https://dl.google.com/dl/cloudsdk/channels/rapid/GoogleCloudSDKInstaller.exe Enable Compute Engine API https://cloud.google.com/compute/docs/regions-zones You can use asia-southeast1-a : Jurong West, Singapore, APAC (code 30) asia-southeast1-b : Jurong West, Singapore, APAC asia-southeast1-c : Jurong West, Singapore, APAC Create network Create filewall rules for internal connection Create filewall rules for external...
GCP Kubernetes Cloud