Bài đăng

Đang hiển thị bài đăng từ 2020

Docker sẽ bị loại bỏ trên những bản release tiếp Theo của Kubernetes.

Hình ảnh
  Ngày 02 tháng 12 năm 2020 , Kubernetes ra thông báo là docker sẽ được loại bỏ trên những bản kubernetes tiếp theo.  Từ bản Kubernetes 1.22 thì docker sẽ không được hỗ trợ trên bộ Kubernetes.  Như hình vẽ thì các node sẽ giao tiếp với Control Plane, và trên mỗi node, kubelet sẽ lấy thông tin node và thực thi CRI để tạo/xoá container chạy trên node mà kubenet đang quản lý.  Trong một bộ Kubernetes cluster thì docker chỉ đóng vai trò là CRI cho kubernetes Cluster.  Vậy CRI là gì ? CRI là viết tắt bởi Container Runtime Interface, là phần mềm đảm nhiệm cho container chạy.  Trong Kubernetes kubelets thì docker làm chức năng CRI dưới hình thái là một module gọi lại dockershim, vậy thực chất thì module dockershim bị loại bỏ khỏi Kubernetes ở các phiên bản tiếp theo.  Lý do :  Theo như Kubernetes đưa ra thì docker chỉ có chức năng CRI trong cluster nhưng nó vẫn có những thành phần không cần thiết được cài đặt trên cluster, làm cho cluster hoạt động nặng hơn,  [hinh h5] Theo như hình trên thì

Trang web medium.com chết, vì sao ?

Hình ảnh
 Medium.com là trang web có những bài viết về IT, phần mềm và công nghệ nói chung rất phổ biến và chất lượng.  Nhưng khoảng 1 tuần nay không vào được bằng cả mạng viettel và 4G của Mobi phone.  Dân It thường tham khảo các bài viết trên trang này. Nhiều bài viết hay và chất lượng. là một cơ sở dữ liệu lớn cho dân IT nhưng đã bị chặn.  Các bài viết này thường thì có tính quy chuẩn và dài hơn, các topic có chất lượng hơn so với stackoverflow.  Nhưng các subdomain thì vẫn truy cập được như:  https://about.medium.com Bạn có thể tham khảo lý do vì sao medium.com bị chặn ở Việt nam. tại trang tinh tế:  Nói chung mình không thích điều này.  https://tinhte.vn/thread/website-medium-khong-truy-cap-duoc-la-do-website-chet-hay-chan-ip-viet-nam-nhi.3231608/

How to deploy a react app to Azure storage account ?

Hình ảnh
 For react application, we can host it on Azure storage account and then we can enable static web on it.  Firstly, we create Storage account, in this part we take note:  1. Region of storage account.  2. Performance.  Once storage account is created successfully, we enable static website and put index.html as index document name as below:  After click SAVE button, we get URL for the static website.  Example :  https://xxxxxx.z23.web.core.windows.net/ OK, then we deploy code into storage accounts:  For deployment, we need access key of storage account,  Click on Storage accounts >> Settings >> Access Keys  to get ConnectionString:  For deployment we can use Jenkins, GitHub Action,.... In this topic I use GitHub Action for deployment,  1. Create a deploy.yml file,      deploy : if : ${{ contains(github.ref, 'develop') }} runs-on : ubuntu-latest strategy : matrix : node-version : [12.x] steps : - name : Checkout GitHub Action u

Amazon CDK cho K8s - những bước cơ bản.

Hình ảnh
  Như chúng ta đã biết thì CDK là một framework của Amazon để viết code cho việc thiết lập hạ tầng mạng cho những ứng dụng chạy trên Amazon Web Service.  Không giống như các công cụ automation hạ tầng khác, muốn sử dụng framework này bạn phải biết ít nhất 1 ngôn ngữ lập trình như : TypeScript, .NET, Java hay Python.  Trong bài viết này mình đề cập đến dùng CDK framework để viết một hạ tầng kubernetes trên AWS dùng ngôn ngữ python.  Trước khi đi vào thiết lập một ví dụ dùng ngôn ngữ python thì bạn cần cài Python và PIP kèm theo.  I. Các tool cần có:      Python >= 3.7.7      pipenv version 2018.11.26 hoặc cao hơn.  II. Cài đặt:      Cài đặt cdk8s thì bạn có 2 cách cài:  $ brew install cdk8s hoặc:  $ npm install -g cdk8s-cli III. Tạo project:     Ok, giờ bạn tạo project cdk bạn chạy các command sau:  $ mkdir hello $ cd hello $ cdk8s init python-app creating a new project from template: python-app ... Quá trình làm mình sẽ thực hiện các bước sau: Tạo một thư mục hello   Cài đặt cá

Azure là gì ? vài cảm nhận về Azure cloud.

Hình ảnh
 Azure là nền tảng công nghệ đám mây của Microsoft. Nó cũng giống như Amazon Web Service của Amazon và Google Cloud của hãng google, Ali cloud của Alibaba. Những chú ý ban đầu khi làm quên với Azure:  1. Subcription :      - Trước khi sử dụng các dịch vụ trong Azure điều đầu tiên bạn phải tạo một subcription cho tài khoản Azure của bạn.      - Subcription là dịch vụ chứa các thông tin về thanh toán, tài khoản của bạn, khi bạn sử dụng các dịch vụ gì thì chi phí được tính trên subcription của bạn.  2. Resource group :      - Là nhóm các tài nguyên mà bạn cần group nó lại, bạn có thể group theo môi trường mà bạn đang định thiết lập;            Như môi trường develop, qc, staging hay môi trường production.      - Và resource group này phải chạy trên một vùng nào đó; ví dụ như : East US, East US 2,     South East Asia, ... nó giống như region của AWS.    3 . Các service hay dùng trên Azure:      - Virtual Marchine: máy ảo -  nó tương đương vơi EC2 instance của AWS.     - Conttainer Instanc

GitHub Actions là gì ? Làm quen với GitHub Actions.

Hình ảnh
  Như ta đã biết github là nới chứa source code nổi tiếng thế giới hiện nay, ngoài github còn có gitlab, bitbucket, codecommit, ... Cơ bản github miễn phí cho người dùng developer, nếu nhu cầu sử dụng nhiều repo cũng như project có nhiều thanh viên developer tham gia thì bạn có thể mua bản nâng cao.  Về tiến trình CI/CD process, chúng ta có thể biết tới như Jenkins, Team City, Codepipeline trên AWS, ...  GitHub Actions mới ra đời gần đây , ngày 13 tháng 11 năm 2019, GitHub Actions ra phiên bản đầu tiên, trước đó khoảng 1 năm bản beta ra đời.  Tham khảo tại đây : https://github.blog/2019-08-08-github-actions-now-supports-ci-cd/ GitHub Actions khá đơn giản, khi tiến trình build, test và deploy được viết trong một file có định dạng yaml nằm trong thư mục .github/workflows/ trong chính source code của bạn.  GitHub Actions là một event-driven nghĩa là chương trình chạy một loạt các dòng lệnh khi bạn nhận được 1 event, ví dụ mỗi lần một developer nào đó tạo một pull request cho một repositor

Các thành phần Kubernetes.

Hình ảnh
Khi bạn triển khai Kubernetes, Kubernetes cluster được hình thành.  Một Kubernetes cluster chứa một bộ các worker còn gọi là node. Bên trong những node này chạy các container, mỗi cluster có ít nhất một worker node.  Những worker node chứa các ***POD, những POD này là những thành phần ứng dụng workload.  Control plane quản lý các worker node và các POD trong một cluster.  Trên môi trường sản phẩm, Control Plane thường chạy nhiều tính toán và nhiều nodes , nó có khả năng fault-tolerance* và high-availability**.  Đây là các components trong một Kubernetes Cluster.  1. Các thành phần Control Plane:   Các thành phần Control plane nó quyết định toàn cục của một cluster, cũng như phát hiện và phản hồi một sự kiện trong cluster.  Các thành phần control plane có thể chạy bất kỳ trên máy nào trong cluster, Tuy nhiên để đơn giản, ta set up một đoạn code để start tất cả các thành phần control plane trong một một node và không chạy những ứng dụng dành cho người dùng trên node này.  + kube-apiserve

Tiến trình CI/CD trong phần mềm và thực tế áp dụng cho ngành Network.

Hình ảnh
Bài này mình viết cho vnpro đã đăng tại : https://vnpro.vn/thu-vien/tien-trinh-cicd-trong-phan-mem-va-thuc-te-ap-dung-cho-nganh-network-3588.html Trong kỹ thuật phần mềm, tiến trình CI/CD làm cho quá trình phát triển phần mềm nhanh hơn, thời gian release (ra đời) một sản phẩm được rút ngắn rất nhiều, nâng cao hiệu năng làm việc của developer.  Vậy kỹ thuật CI/CD process là gì ?  CI viết tắt bởi Continuous Integration và CD viết tắt bởi Continuous delivery. Liên tục tích hợp (CI) là quá trình diễn ra một cách liên tục không đứt quản trong phần việc develop --> testing --> build --> deploy.  Liên tục chuyển giao(CD) là quá trình ra đời sản phầm một cách liên tục theo từng phiên bản của phần mềm. (versioning) làm phần mềm dần hoàn thiện hơn cho tới bản release chính thức. Quá trình liên tục tích hợp(CD), cần có các thành phần :  1. Nơi chứa source code của nhà phát triển có thể là các phần mềm như: github, gutlab, bitbucket, .... 2. Tiến trình testing phần mềm : chạy các unit t