Chuyển đến nội dung chính

Helm là gì ?

Chắc các bạn từng làm qua kubernetes nhưng chưa đụng tới helm thì thường thắc mắc helm là gì



Helm giúp bạn tìm kiếm, chia sẽ và dùng phần mềm đã được built trong kubernetes. Helm giúp bạn quản lý ứng dụng chạy trên kubernetes. 

Helm Chart giúp bạn định nghĩa, cài đặt, nâng cấp kubernetes thậm chí đó là một ứng dụng phức tạp chạy trên kubernetes. 

Charts dễ dàng tạo, đánh phiên bản, chia sẽ và public ra cộng đồng.  Helm là một project của hiệp hội CNCF : https://www.cncf.io/

Cài đặt kubernetes-helm trên MAC : 

brew install helm

Mục đích của Helm là gì ? 

Như ta đề cập phía trên thì helm là công cụ dùng để quản lý các package kubernetes còn gọi là charts, Helm có thể làm các việc sau: 

   - Tạo những Charts mới từ ban đầu 

   - Đóng gói những charts theo dạng lưu trữ tgz 

   - Kết nối với repo charts nơi mà các charts lưu trữ. 

    - Quản lý vòng đời phát hành của chart.

Đối với Helm thì có 3 thành phần cơ bản sau: 

   - chart

   - config

   - release 

Helm client được viết bằng ngôn ngữ GO. 

Thư viện của kubernetes client sử dụng để kết nối với kubernetes là sử dụng REST+JSON. Nó lưu trữ thông tin nhạy cảm trong kubernetes cho nên helm không cần phải có database riêng. 

Còn file configuration thì viết dưới dạng YAML. 

Một số câu lệnh và biến trong helm: 


Common actions for Helm:


- helm search:    search for charts

- helm pull:      download a chart to your local directory to view

- helm install:   upload the chart to Kubernetes

- helm list:      list releases of charts


Environment variables:


| Name                               | Description                                                                       |

|------------------------------------|-----------------------------------------------------------------------------------|

| $HELM_CACHE_HOME                   | set an alternative location for storing cached files.                             |

| $HELM_CONFIG_HOME                  | set an alternative location for storing Helm configuration.                       |

| $HELM_DATA_HOME                    | set an alternative location for storing Helm data.                                |

| $HELM_DEBUG                        | indicate whether or not Helm is running in Debug mode                             |

| $HELM_DRIVER                       | set the backend storage driver. Values are: configmap, secret, memory, postgres   |

| $HELM_DRIVER_SQL_CONNECTION_STRING | set the connection string the SQL storage driver should use.                      |

| $HELM_MAX_HISTORY                  | set the maximum number of helm release history.                                   |

| $HELM_NAMESPACE                    | set the namespace used for the helm operations.                                   |

| $HELM_NO_PLUGINS                   | disable plugins. Set HELM_NO_PLUGINS=1 to disable plugins.                        |

| $HELM_PLUGINS                      | set the path to the plugins directory                                             |

| $HELM_REGISTRY_CONFIG              | set the path to the registry config file.                                         |

| $HELM_REPOSITORY_CACHE             | set the path to the repository cache directory                                    |

| $HELM_REPOSITORY_CONFIG            | set the path to the repositories file.                                            |

| $KUBECONFIG                        | set an alternative Kubernetes configuration file (default "~/.kube/config")       |

| $HELM_KUBEAPISERVER                | set the Kubernetes API Server Endpoint for authentication                         |

| $HELM_KUBECAFILE                   | set the Kubernetes certificate authority file.                                    |

| $HELM_KUBEASGROUPS                 | set the Groups to use for impersonation using a comma-separated list.             |

| $HELM_KUBEASUSER                   | set the Username to impersonate for the operation.                                |

| $HELM_KUBECONTEXT                  | set the name of the kubeconfig context.                                           |

| $HELM_KUBETOKEN                    | set the Bearer KubeToken used for authentication.                                 |


Nhận xét

Bài đăng phổ biến từ blog này

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

 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/

Cách sử dụng sys.argv trong python.

Cách sử dụng sys.argv trong python. sys.argv là môt danh sách [list] trong python, nó được sư dụng khi bạn chạy một lệnh command-line nào đó trên hệ thống. Và argument này được đẩy vào script python để thực thi khi chạy câu lệnh. Ví dụ: python sys.argv arg1 arg2 Trước tiên bạn phải import mô đun sys trong script. import sys print "This is the name of the script: " , sys . argv [ 0 ] print "Number of arguments: " , len ( sys . argv ) print "The arguments are: " , str ( sys . argv ) Tên của script này : sysargv.py Số lượng arg là : 1 Arg là : ['sysargv.py'] python test1020.py 111 This is the name of the script:  test1020.py Number of arguments:  2 The arguments are:  ['test1020.py', '111']

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

  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