Ubuntu 24.04
Sponsored Link

Kubernetes : Helm インストール2024/06/07

 

Helm をインストールすると、Kubernetes アプリケーションのイントール等々の管理が容易になります。

当例では以下のように 4 台のノードを使用して Kubernetes クラスターを構成しています。

+----------------------+   +----------------------+
|  [ ctrl.srv.world ]  |   |   [ dlp.srv.world ]  |
|     Manager Node     |   |     Control Plane    |
+-----------+----------+   +-----------+----------+
        eth0|10.0.0.25             eth0|10.0.0.30
            |                          |
------------+--------------------------+-----------
            |                          |
        eth0|10.0.0.51             eth0|10.0.0.52
+-----------+----------+   +-----------+----------+
| [ node01.srv.world ] |   | [ node02.srv.world ] |
|     Worker Node#1    |   |     Worker Node#2    |
+----------------------+   +----------------------+

[1] Helm をインストールします。
root@ctrl:~#
curl -O https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3
root@ctrl:~#
bash ./get-helm-3

Downloading https://get.helm.sh/helm-v3.15.1-linux-amd64.tar.gz
Verifying checksum... Done.
Preparing to install helm into /usr/local/bin
helm installed into /usr/local/bin/helm
root@ctrl:~#
helm version

version.BuildInfo{Version:"v3.15.1", GitCommit:"e211f2aa62992bd72586b395de50979e31231829", GitTreeState:"clean", GoVersion:"go1.22.3"}
[2] Helm の基本操作です。
# Helm Hub からキーワードが含まれるチャートを検索

root@ctrl:~#
helm search hub wordpress

URL                                                     CHART VERSION   APP VERSION             DESCRIPTION                     
https://artifacthub.io/packages/helm/kube-wordp...      0.1.0           1.1                     this is my wordpress package    
https://artifacthub.io/packages/helm/wordpress-...      1.0.2           1.0.0                   A Helm chart for deploying Wordpress+Mariadb st...
https://artifacthub.io/packages/helm/bitnami-ak...      15.2.13         6.1.0                   WordPress is the world's most popular blogging ...
.....
.....

# リポジトリを追加 (下例は bitnami リポジトリ)

root@ctrl:~#
helm repo add bitnami https://charts.bitnami.com/bitnami

"bitnami" has been added to your repositories
# リポジトリ一覧

root@ctrl:~#
helm repo list

NAME    URL
bitnami https://charts.bitnami.com/bitnami

# リポジトリからキーワードが含まれるチャートを検索

root@ctrl:~#
helm search repo bitnami

NAME                                            CHART VERSION   APP VERSION     DESCRIPTION                                     
bitnami/airflow                                 18.1.1          2.9.1           Apache Airflow is a tool to express and execute...
bitnami/apache                                  11.0.6          2.4.59          Apache HTTP Server is an open-source HTTP serve...
bitnami/apisix                                  3.1.1           3.9.1           Apache APISIX is high-performance, real-time AP...
bitnami/appsmith                                3.2.1           1.26.0          Appsmith is an open source platform for buildin...
bitnami/argo-cd                                 6.3.1           2.11.0          Argo CD is a continuous delivery tool for Kuber...
bitnami/argo-workflows                          8.1.1           3.5.6           Argo Workflows is meant to orchestrate Kubernet...
bitnami/aspnet-core                             6.1.0           8.0.5           ASP.NET Core is an open-source framework for we...
bitnami/cassandra                               11.1.8          4.1.5           Apache Cassandra is an open source distributed ...
.....
.....

# チャートの情報を表示
# helm show [all|chart|readme|values] [チャート名]

root@ctrl:~#
helm show chart bitnami/haproxy

annotations:
  category: Infrastructure
  images: |
    - name: haproxy
      image: docker.io/bitnami/haproxy:3.0.0-debian-12-r0
  licenses: Apache-2.0
apiVersion: v2
appVersion: 3.0.0
dependencies:
- name: common
  repository: oci://registry-1.docker.io/bitnamicharts
  tags:
  - bitnami-common
  version: 2.x.x
description: HAProxy is a TCP proxy and a HTTP reverse proxy. It supports SSL termination
  and offloading, TCP and HTTP normalization, traffic regulation, caching and protection
  against DDoS attacks.
home: https://bitnami.com
icon: https://bitnami.com/assets/stacks/haproxy/img/haproxy-stack-220x234.png
keywords:
- haproxy
- proxy
- infrastructure
maintainers:
- name: Broadcom, Inc. All Rights Reserved.
  url: https://github.com/bitnami/charts
name: haproxy
sources:
- https://github.com/bitnami/charts/tree/main/bitnami/haproxy
version: 2.0.1

# チャートからアプリケーションをデプロイ
# helm install [任意の名称] [チャート名]

root@ctrl:~#
helm install haproxy bitnami/haproxy

NAME: haproxy
LAST DEPLOYED: Fri Jun  7 00:30:01 2024
NAMESPACE: default
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
CHART NAME: haproxy
CHART VERSION: 2.0.1
APP VERSION: 3.0.0

** Please be patient while the chart is being deployed **
1. HAproxy has been started. You can find out the port numbers being used by HAProxy by running:

    $ kubectl describe svc haproxy --namespace default
2. Get HAProxy's load balancer IP/hostname:

    NOTE: It may take a few minutes for this to become available.

    You can watch the status by running:

        $ kubectl get svc haproxy --namespace default -w

    Once 'EXTERNAL-IP' is no longer '<pending>':

        $ kubectl describe svc haproxy --namespace default | grep Ingress | awk '{print $3}'

3. Configure DNS records corresponding to Kubernetes ingress resources to point to the load balancer IP/hostname found in step 3

WARNING: There are "resources" sections in the chart not set. Using "resourcesPreset" is not recommended for production. For production installations, please set the following values according to your workload needs:
  - resources
+info https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/

# デプロイ済みアプリケーションの一覧

root@ctrl:~#
helm list

NAME    NAMESPACE       REVISION        UPDATED                                 STATUS          CHART           APP VERSION
haproxy default         1               2024-06-07 00:30:01.742678649 +0000 UTC deployed        haproxy-2.0.1   3.0.0

# デプロイ済みアプリケーションのステータスを表示

root@ctrl:~#
helm status haproxy

NAME: haproxy
LAST DEPLOYED: Fri Jun  7 00:30:01 2024
NAMESPACE: default
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
CHART NAME: haproxy
CHART VERSION: 2.0.1
APP VERSION: 3.0.0
.....
.....

# デプロイ済みアプリケーションをアンインストール

root@ctrl:~#
helm uninstall haproxy

release "haproxy" uninstalled
関連コンテンツ