Skip to main content

Posts

Showing posts with the label Docker

Kiến trúc Docker, phỏng vấn, best practice

Bài này không giới thiệu về docker, "lúc nào rảnh" chắc sẽ có bài đó. Bài này nói về kiến trúc của docker, các công nghệ liên quan phía dưới mà docker sử dụng - thường có tác dụng lớn khi 1) chém gió lên mặt 2) phỏng vấn. Ngoài ra có kèm theo một số best-practice khi build docker image để có size nhỏ/build nhanh hơn. Photo by Andy Li on Unsplash Kiến trúc của Docker Docker là một phần mềm viết bằng Golang, theo kiến trúc client-server. Nghe hình thức thì vậy, mô hình này nham nhảm khắp nơi khi dùng các database: mysql sẽ có mysqld và mysql client (cli, GUI) ... redis có redis-server và redis-cli... Docker có dockerd và docker-cli.

Kubernetes - rồi cũng đến đít

Gần 1 tháng sau bài "từ đầu" ra đời http://www.familug.org/2017/03/kubernetes.html mình vẫn chưa động vào Kubernetes. Vậy nên viết nhanh phần đến đít, không mai kia rơi vãi hết. Bài này KHÔNG PHẢI HƯỚNG DẪN DÙNG K8s, ai cần hướng dẫn thì vào trang chủ xem. Bài này tổng kết về kinh nghiệm sử dụng K8s: Khái niệm, kiến trúc, troubleshoot, ... dựa trên trí nhớ mong manh còn sót lại chút ít sau những cơn lụt ở Sài Gòn... Kubernetes Các khái niệm trong K8s K8s đưa ra một lô 1 lốc các khái niệm. Vậy nên muốn dùng k8s, phải nắm chắc các khái niệm. Xem thì có vẻ nhiều, nhưng đó là những thứ mà nếu như k8s không đưa ra, thì một ngày nào đó, bạn cũng lại tự "phát minh" ra (và 99,96 % là tệ / tạm bợ hơn nhiều). Pod Pod là một khái niệm rộng hơn container, nhưng đa số trường hợp thì đánh đồng nó với container cũng không sao. Pod là 1 nhóm (1 trở lên) các container thực hiện một mục đích nào đó (chạy software nào đó - pod có nhiều container là khi các app có ...

Kubernetes từ đầu ...

Một công nghệ xây dựng dựa trên 15 tinh hoa vận hành hệ thống G o o g l e . Một sản phẩm của chính G o o g l e , viết trên ngôn ngữ lập trình phát triển tại G o o g l e ( Golang ). Một công nghệ mới được công bố từ giữa năm 2014, nhưng đã chiếm lĩnh thị phần không nhỏ trên các hệ thống cloud. Một từ khoá nóng nhất mà các sysadmin/devops đều muốn có trong danh sách kỹ năng của mình. Đó là Kubernetes ! Kubernetes là gì Kubernetes hay K8s là một hệ thống để quản lý các "container". Theo Kubernetes GitHub repository : Kubernetest - Production-Grade Container Scheduling and Management Kubernetes is an open source system for managing containerized applications across multiple hosts, providing basic mechanisms for deployment, maintenance, and scaling of applications. Nói một cách dễ hiểu, nếu bạn biết dùng Docker hoặc rkt [0] để chạy các container, thì K8s là giải pháp để quản lý chúng (quản lý bao gồm: tạo, sửa, xoá, xếp lịch(schedule), hay mở rộng (s...

[CLI/docker] busybox - con dao lính tây của hệ thống nhúng Linux

xin được cười cái title một cái đã =)) Busybox là một software, nó tập hợp nhiều UNIX utilities (các câu lệnh) thành một file duy nhất. Các câu lệnh cung cấp bởi busybox thường tương đương với các câu lệnh cung cấp bởi GNU nhưng có ít option hơn. Cài đặt: $ sudo apt-get install -y busybox Hỏi nào:  $ whatis busybox busybox (1)          - The Swiss Army Knife of Embedded Linux Chạy lệnh ``du`` cung cấp bởi busybox $ busybox du --help BusyBox v1.25.0 (2016-06-23 20:12:29 UTC) multi-call binary.

Chơi với docker, fail lần 1

Như phần tiếp theo của bài viết này http://www.familug.org/2014/03/vm-tu-virtualbox-en-docker.html hôm nay mình xin kể về chuyện chơi cùng Docker, và tại sao lại thất bại, tại sao lại tạm thời chia tay chỉ ngay sau nụ hôn đầu. Tin đồn rằng vài ngày trước, một tổ chức nguy hiểm có tên xưa cũ là dotCloud đã chính thức thả  ra (release) một yêu nữ tên là Docker - một cái tên nghe là nghĩ đến sắt thép và không được mỹ miều cho lắm ( http://blog.docker.com/2014/06/its-here-docker-1-0/ ). Và không gì hơn nếu thiên thời, địa lợi, nhân hoà, chính lúc ấy mình cần cài một cái máy ảo để testing vài thứ. KVM không có trên OS X, Virtualbox gần như là lựa chọn duy nhất dẫu không mấy mặn mà. Vậy là Docker được mang ra nghịch. Cài đặt: Không có gì đặc biệt hay khó khăn, cứ theo tut mà cài  https://docs.docker.com/installation Sau khi cài xong thì chạy thôi, dễ như ăn kẹo cao su :3 $ docker run ubuntu:12.04 /bin/echo 'hello thon' hello thon thật ra nó sẽ phải download image ub...

[VM] Từ VirtualBox đến docker

Bài này không trình bày dài dòng về các công nghệ ảo hóa. Bài này là một dạng nhật ký về hành trình sử dụng những công nghệ ảo hóa trên chính chiếc laptop của mình. Cuộc hành trình bắt đầu ngày xửa ngày xưa... khi mà thế giới loài người văn minh mới chỉ có Windows, một ngày nọ, chàng trai xứ sở hoa ban quyết mang Linux lạc hậu đến thế giới hiện đại này. Có lẽ là trước đó, nhưng bộ nhớ giới hạn chỉ có thể nhớ đến đây.VirtualBox là phần mềm ảo hóa đầu tiên mình sử dụng để chạy Ubuntu. 1. VirtualBox Cũng không nhớ nổi lý do vì sao mình chỉ dùng VirtualBox mà chưa 1 lần cài VMWare vào máy. Trải nghiệm với VirtualBox khá dễ chịu, bởi ngày ấy mình vẫn còn là 1 cute user của Windows. Và quá trình tập tành cài đặt Ubuntu cũng được thực hiện ở đây. VirtualBox là một giải pháp ảo hóa hóa phần cứng. VirtualBox chạy cả trên Windows, Linux và Mac. Nhờ VirtualBox, người dùng có thể chạy các hệ điều hành khác ngay trên hệ điều hành mình đang dùng. Đặt 1 chân sang thế giới khác! Nhưng hãy...

Docker - Giới thiệu Docker và sử dụng

Home page: http://docs.docker.io Các bài viết khác về docker: http://www.familug.org/search/label/Docker Giới thiệu về docker Docker là gì? docker , the Linux Container Runtime, runs Unix processes with strong guarantees of isolation across servers. Your software runs repeatably everywhere because its Container includes any dependencies. Ngắn gọn lại, nếu các bạn biết đến các file portable trên Windows [1], thì docker cũng làm 1 nhiệm vụ tương tự như vậy, container docker chứa application đã deploy, sau khi `đóng gói` có thể mang đi chạy ở các môi trường khác nhau ở các máy khác nhau ( Hiện nay mới chỉ support Ubuntu, Arch, Fedora... ), mà ko mất công deploy lại. Các thuật ngữ được sử dụng: - File system: http://docs.docker.io/en/latest/terms/filesystem/ - Layer: http://docs.docker.io/en/latest/terms/layer/ - Image: http://docs.docker.io/en/latest/terms/image/ - Container: http://docs.docker.io/en/latest/terms/container/ Trong phạm vi bài giới thiệu, mình không đi quá...

Popular posts from this blog

Tài liệu và hướng dẫn học Python

Để tiết kiệm thời gian, tốt nhất là đi học PyMI Updated: 130617 Sau đây là các tài liệu khuyên dùng: Vì nhiều lý do, nên học python2.7 tại thời điểm hiện tại (giờ là tháng 6/2013 - muốn biết tại sao thì tự tìm hiểu) python 3.5+ (giờ là tháng 2/2017) Chuẩn bị: 1. biết bật tắt máy 2. biết cài python 3. tập gõ 10 ngón - gõ 2 ngón hay 1 ngón cũng không sao, nhưng 10 ngón là cách dễ nhất để gõ nhanh nhất. Tài liệu - Nên dùng tài liệu tại trang chủ của Python làm chính, tham khảo thêm các tài liệu khác tại http://www.familug.org/2016/12/free-ebook.html Căn bản, mới học 1.1 Python PyMI.vn https://pymi.vn/tutorial/ 1.2. Python offical tutorial kết hợp làm bài tập trên HackerRank  (đề bài bằng tiếng Anh, nhưng Google translate 1 lúc cũng ra vì có nhiều ví dụ mẫu đi kèm). Học viên của Pymi.vn có rất nhiều học viên đã tự học với Learn Python the hard way nhưng chưa thấy ai thành công cả. Hai link dưới nên đọc sau khi đã nắm được những phần cơ bản của ngôn ngữ pytho...

The PyMiers

New FAMILUG