Serial blog Nhập môn Kubernetes
Nội dung
- Giới thiệu
- Kết quả đạt được
- Chưa làm được và hướng phát triển
- Kết luận
- Slide - Source
- Nhập môn Kubernetes serial blog
Giới thiệu
Nghiên cứu là một hoạt động hàng quý tại công ty mình, mỗi quý sẽ có 2-3 bạn nghiên cứu về các công nghệ hot và gần với dự án đang sử dụng nhất. Các chủ đề cũng đa dạng: DevOps, IoT, Big Data, Machine Learning, AI, VR AR, Blockchain, React Native ... Lần này mình thực hiện nghiên cứu và muốn chia sẻ nội dung cũng như kết quả đạt được:
- Đề tài: Tìm hiểu và triển khai ứng dụng Web với Kubernetes
- Thời gian nghiên cứu: 2 tuần (10/09 - 21/09)
- Môi trường triển khai: conoha cloud và GCP (Google Cloud Platform)
Kết quả đạt được
- Hiểu được tổng quan về kiến trúc và các thành phần của K8s
- Workload resource (Pod, ReplicaSet, Deployment, Job…etc..)
- Service (ClusterIP, NodePortIP, LoadBalancer, etc..)
- Xây dựng được K8s cluster, thử nghiệm các loại resouce
- Trải nghiệm các loại môi trường K8s
- Minikube, Docker for MAC
- K8s with tool Rancher
- GCE
- Kết hợp được với các công cụ hỗ trợ cho K8s
- Rancher 2.0
- Harbor
- Xây dựng demo kết hợp các thành phần + công cụ hỗ trợ K8s
- Hiểu sâu hơn về kiến trúc dự án GMO POINT (https://point.gmo.jp/) hiện tại
Chưa làm được và hướng phát triển
Chưa làm được
- Chưa tìm hiểu hết được các resource trong K8s
Resource trong K8s rất nhiều, và trong thời gian 10 ngày, trong khả năng có thể mình đã tìm hiểu những resource cần thiết trước để vận hành ứng dụng web. Các resource còn lại sẽ tiếp tục tìm hiểu khi có thời gian.
- Demo còn nhỏ, chưa thể hiện được sự phức tạp và phát huy sức mạnh của K8s
- Chưa kết hợp với Ansible để cấu trúc và deploy k8s resource
- Việc kết hợp với mô hình CI/CD sử dụng Asible là hoàn toàn cần thiết để vận hành application của bạn, việc kiến trúc với Ansible tốn rất nhiều thời gian, nhưng mang lại sự tiện lợi sau này, bảo trì, sữa lỗi hay chuyển đổi môi trường, cấu trúc server, deploy tự động vv.
Hướng phát triển
- Tìm hiểu về các resource còn lại
- Kết hợp với Ansibe
- Tìm hiểu MetalLB để Loadbalancer
- Sử dụng công cụ hỗ trợ
- Prometheus – Grafana: system & time series database
- Elasticsearch – Fluent – Kibana: log collect and monitoring
Kết luận
Qua lần nghiên cứu này, những gì học được không chỉ là kiến thức về Kubernetes đã tìm hiểu được, mà còn học được cách lập kế hoạch nghiên cứu, cách tiếp cận một công nghệ mới như thế nào, cách trình bày vấn đề sao cho dễ hiểu nhất.
Slide - Source
Slide
GitHub
https://github.com/gmo-vietnamlab/kubernetes-research-demo
Nhập môn Kubernetes serial blog
https://blog.vietnamlab.vn/2018/09/25/nhap-mon-kubernetes-gioi-thieu-rerial-kubernetes/