Helm環境デプロイ手順

こんにちは。
株式会社クラスアクト インフラストラクチャ事業部の大塚です。

現在k8sについて理解を深めるために絶賛色々触っている身分なのですが、JAEGERを触ってみたいと思いHelmベースで環境構築しようと思いました。（なおJAEGER環境は上手く行かなかった模様。）
せっかくHelm環境作ったのでその備忘録をササっと書いておきたいと思います。

# クラスタ環境
Helm環境をデプロイした際のクラスタは以下となっております。
Helm環境を作るだけであればこんなスペックはいりません。現在Cephや他の機能を試してみたいと思い、こんな状態になっているだけです汗

|  Hostname  |  IP Address  |  OS  | 　CPU  |  Memory  |  HardDisk 1  |  HardDisk 2  |
| ---- | ---- | ---- | ---- | ---- | ---- | ---- |
|  k8s-master  |  192.168.2.30  |   Ubuntu 22.04.2 LTS  |  4sockets 4cores  |  48.83GiB  |  100G  |  10G  |
|  k8s-worker01  |  192.168.2.31  |   Ubuntu 22.04.2 LTS  |  2sockets 4cores  |  29.30GB  |  60G  |  50G |
|  k8s-worker02  |  192.168.2.32  |   Ubuntu 22.04.2 LTS  |  2sockets 4cores  |  29.30GB  |  60G  |  50G  |
|  k8s-worker03  |  192.168.2.33  |   Ubuntu 22.04.2 LTS  |  2sockets 4cores  |  29.30GB  |  60G  |  50G  |
|  k8s-ceph01  |  192.168.2.37  |   Ubuntu 22.04.2 LTS  |  2sockets 4cores  |  19.53GiB  |  50G  |  50G  |
|  k8s-ceph02  |  192.168.2.38  |   Ubuntu 22.04.2 LTS  |  2sockets 4cores  |  19.53GiB  |  50G  |  50G |
|  k8s-ceph03  |  192.168.2.39  |   Ubuntu 22.04.2 LTS  |  2sockets 4cores  |  19.53GiB  |  50G  |  50G  |

# Helmとは

公式サイトより引用します。
docker/kubernetes等により、任意の環境をコマンド1つ（yamlがある前提）でデプロイすることができ、便利になる一方で、数が増えると管理が大変となる。それを解消するためのツールっぽいです。kubernetesはpodやserviceが目立ちますが、ConfigMapやSecret等他にも細々としたものがあります。これらの管理を簡単にしてくれます。
後で出てきますが、内部でBitnamiも使っているっぽく、このBitnamiという文字面を見ると「AWSのLightsailで見たことがあるな～」と個人的に思うのですが、もし同様の方がいれば、小難しく考えずあのイメージでいいと思います。WordpressとかRedmineなどの環境をポチポチするだけで用意してくれるやつ、ってことですね。

>Helm は、Kubernetes アプリケーションの管理を支援します。Helm チャートは、最も複雑な Kubernetes アプリケーションの定義、インストール、およびアップグレードを支援します。

https://helm.sh/ja/

# 構築
以下のサイトを参考にします。
手順通りにHelmをインストールして、インストールできているかを確認するために versionオプションを叩いています。

https://helm.sh/docs/intro/install/#from-apt-debianubuntu

```
root@k8s-master:~# curl https://baltocdn.com/helm/signing.asc | gpg --dearmor | sudo tee /usr/share/keyrings/helm.gpg > /dev/null
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  1699  100  1699    0     0   4984      0 --:--:-- --:--:-- --:--:--  4997
root@k8s-master:~#  apt-get install apt-transport-https --yes
root@k8s-master:~# echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/helm.gpg] https://baltocdn.com/helm/stable/debian/ all main" | sudo tee /etc/apt/sources.list.d/helm-stable-debian.list
deb [arch=amd64 signed-by=/usr/share/keyrings/helm.gpg] https://baltocdn.com/helm/stable/debian/ all main
root@k8s-master:~# apt-get update
root@k8s-master:~# apt-get install helm
root@k8s-master:~# helm version
version.BuildInfo{Version:"v3.12.1", GitCommit:"f32a527a060157990e2aa86bf45010dfb3cc8b8d", GitTreeState:"clean", GoVersion:"go1.20.4"}
```

ここまで対応が済んだら、リポジトリを追加します。
出力された一覧を見てみると、色々環境が用意できそうですね。
以上！！
```
root@k8s-master:~# helm repo add bitnami https://charts.bitnami.com/bitnami
"bitnami" has been added to your repositories
root@k8s-master:~# helm search repo bitnami
NAME                                            CHART VERSION   APP VERSION     DESCRIPTION
bitnami/airflow                                 14.2.5          2.6.1           Apache Airflow is a tool to express and execute...
bitnami/apache                                  9.6.3           2.4.57          Apache HTTP Server is an open-source HTTP serve...
bitnami/apisix                                  2.0.1           3.3.0           Apache APISIX is high-performance, real-time AP...
bitnami/appsmith                                0.3.7           1.9.21          Appsmith is an open source platform for buildin...
bitnami/argo-cd                                 4.7.12          2.7.5           Argo CD is a continuous delivery tool for Kuber...
bitnami/argo-workflows                          5.3.5           3.4.8           Argo Workflows is meant to orchestrate Kubernet...
bitnami/aspnet-core                             4.3.2           7.0.8           ASP.NET Core is an open-source framework for we...
bitnami/cassandra                               10.4.2          4.1.2           Apache Cassandra is an open source distributed ...
bitnami/cert-manager                            0.11.4          1.12.2          cert-manager is a Kubernetes add-on to automate...
bitnami/clickhouse                              3.4.4           23.5.3          ClickHouse is an open-source column-oriented OL...
bitnami/common                                  2.4.0           2.4.0           A Library Helm Chart for grouping common logic ...
bitnami/concourse                               2.2.2           7.9.1           Concourse is an automation system written in Go...
bitnami/consul                                  10.12.3         1.15.3          HashiCorp Consul is a tool for discovering and ...
bitnami/contour                                 12.1.1          1.25.0          Contour is an open source Kubernetes ingress co...
bitnami/contour-operator                        4.2.1           1.24.0          DEPRECATED The Contour Operator extends the Kub...
bitnami/dataplatform-bp2                        12.0.5          1.0.1           DEPRECATED This Helm chart can be used for the ...
bitnami/discourse                               10.3.4          3.0.4           Discourse is an open source discussion platform...
bitnami/dokuwiki                                14.1.3          20230404.1.0    DokuWiki is a standards-compliant wiki optimize...
bitnami/drupal                                  14.1.5          10.0.9          Drupal is one of the most versatile open source...
bitnami/ejbca                                   7.1.3           7.11.0          EJBCA is an enterprise class PKI Certificate Au...
bitnami/elasticsearch                           19.10.2         8.8.1           Elasticsearch is a distributed search and analy...
bitnami/etcd                                    9.0.1           3.5.9           etcd is a distributed key-value store designed ...
bitnami/external-dns                            6.20.4          0.13.4          ExternalDNS is a Kubernetes addon that configur...
bitnami/flink                                   0.3.2           1.17.1          Apache Flink is a framework and distributed pro...
bitnami/fluent-bit                              0.4.6           2.1.6           Fluent Bit is a Fast and Lightweight Log Proces...
bitnami/fluentd                                 5.8.4           1.16.1          Fluentd collects events from various data sourc...
bitnami/flux                                    0.3.5           0.36.1          Flux is a tool for keeping Kubernetes clusters ...
bitnami/geode                                   1.1.8           1.15.1          DEPRECATED Apache Geode is a data management pl...
bitnami/ghost                                   19.3.19         5.52.3          Ghost is an open source publishing platform des...
bitnami/gitea                                   0.3.4           1.19.3          Gitea is a lightweight code hosting solution. W...
bitnami/grafana                                 8.4.6           9.5.5           Grafana is an open source metric analytics and ...
bitnami/grafana-loki                            2.9.2           2.8.2           Grafana Loki is a horizontally scalable, highly...
bitnami/grafana-mimir                           0.5.2           2.9.0           Grafana Mimir is an open source, horizontally s...
bitnami/grafana-operator                        2.9.3           4.10.1          Grafana Operator is a Kubernetes operator that ...
bitnami/grafana-tempo                           2.3.4           2.1.1           Grafana Tempo is a distributed tracing system t...
bitnami/haproxy                                 0.8.3           2.8.0           HAProxy is a TCP proxy and a HTTP reverse proxy...
bitnami/haproxy-intel                           0.2.11          2.7.1           DEPRECATED HAProxy for Intel is a high-performa...
bitnami/harbor                                  16.6.8          2.8.2           Harbor is an open source trusted cloud-native r...
bitnami/influxdb                                5.6.1           2.7.1           InfluxDB(TM) is an open source time-series data...
bitnami/jaeger                                  1.2.4           1.46.0          Jaeger is a distributed tracing system. It is u...
bitnami/jasperreports                           15.1.3          8.2.0           JasperReports Server is a stand-alone and embed...
bitnami/jenkins                                 12.2.2          2.401.1         Jenkins is an open source Continuous Integratio...
bitnami/joomla                                  14.1.3          4.3.2           Joomla! is an award winning open source CMS pla...
bitnami/jupyterhub                              4.1.4           4.0.0           JupyterHub brings the power of notebooks to gro...
bitnami/kafka                                   22.1.6          3.4.1           Apache Kafka is a distributed streaming platfor...
bitnami/keycloak                                15.1.4          21.1.1          Keycloak is a high performance Java-based ident...
bitnami/kiam                                    1.3.4           4.2.0           kiam is a proxy that captures AWS Metadata API ...
bitnami/kibana                                  10.4.3          8.8.1           Kibana is an open source, browser based analyti...
bitnami/kong                                    9.3.3           3.3.0           Kong is an open source Microservice API gateway...
bitnami/kube-prometheus                         8.14.1          0.66.0          Prometheus Operator provides easy monitoring de...
bitnami/kube-state-metrics                      3.5.7           2.9.2           kube-state-metrics is a simple service that lis...
bitnami/kubeapps                                12.4.4          2.7.0           Kubeapps is a web-based UI for launching and ma...
bitnami/kubernetes-event-exporter               2.4.4           1.1.0           Kubernetes Event Exporter makes it easy to expo...
bitnami/logstash                                5.4.3           8.8.1           Logstash is an open source data processing engi...
bitnami/magento                                 22.1.2          2.4.6           Magento is a powerful open source e-commerce pl...
bitnami/mariadb                                 12.2.5          10.11.4         MariaDB is an open source, community-developed ...
bitnami/mariadb-galera                          8.2.6           10.11.4         MariaDB Galera is a multi-primary database clus...
bitnami/mastodon                                1.5.4           4.1.2           Mastodon is self-hosted social network server b...
bitnami/matomo                                  1.1.4           4.14.2          Matomo, formerly known as Piwik, is a real time...
bitnami/mediawiki                               15.1.3          1.39.3          MediaWiki is the free and open source wiki soft...
bitnami/memcached                               6.5.3           1.6.21          Memcached is an high-performance, distributed m...
bitnami/metallb                                 4.5.4           0.13.10         MetalLB is a load-balancer implementation for b...
bitnami/metrics-server                          6.4.3           0.6.3           Metrics Server aggregates resource usage data, ...
bitnami/minio                                   12.6.5          2023.6.19       MinIO(R) is an object storage server, compatibl...
bitnami/mongodb                                 13.15.3         6.0.6           MongoDB(R) is a relational open source NoSQL da...
bitnami/mongodb-sharded                         6.5.4           6.0.6           MongoDB(R) is an open source NoSQL database tha...
bitnami/moodle                                  16.1.3          4.2.1           Moodle(TM) LMS is an open source online Learnin...
bitnami/multus-cni                              1.0.2           4.0.2           Multus is a CNI plugin for Kubernetes clusters....
bitnami/mxnet                                   3.3.3           1.9.1           Apache MXNet (Incubating) is a flexible and eff...
bitnami/mysql                                   9.10.4          8.0.33          MySQL is a fast, reliable, scalable, and easy t...
bitnami/nats                                    7.8.5           2.9.19          NATS is an open source, lightweight and high-pe...
bitnami/nginx                                   15.0.2          1.25.1          NGINX Open Source is a web server that can be a...
bitnami/nginx-ingress-controller                9.7.3           1.8.0           NGINX Ingress Controller is an Ingress controll...
bitnami/nginx-intel                             2.1.15          0.4.9           DEPRECATED NGINX Open Source for Intel is a lig...
bitnami/node                                    19.1.7          16.18.0         DEPRECATED Node.js is a runtime environment bui...
bitnami/node-exporter                           3.5.4           1.6.0           Prometheus exporter for hardware and OS metrics...
bitnami/oauth2-proxy                            3.7.4           7.4.0           A reverse proxy and static file server that pro...
bitnami/odoo                                    23.2.5          16.0.20230615   Odoo is an open source ERP and CRM platform, fo...
bitnami/opencart                                14.1.3          4.0.2-1         OpenCart is free open source ecommerce platform...
bitnami/osclass                                 15.1.2          8.1.2           Osclass allows you to easily create a classifie...
bitnami/owncloud                                12.2.11         10.11.0         DEPRECATED ownCloud is an open source content c...
bitnami/parse                                   20.2.3          6.2.0           Parse is a platform that enables users to add a...
bitnami/phpbb                                   13.1.3          3.3.10          phpBB is a popular bulletin board that features...
bitnami/phpmyadmin                              11.1.3          5.2.1           phpMyAdmin is a free software tool written in P...
bitnami/pinniped                                1.2.2           0.24.0          Pinniped is an identity service provider for Ku...
bitnami/postgresql                              12.5.8          15.3.0          PostgreSQL (Postgres) is an open source object-...
bitnami/postgresql-ha                           11.7.6          15.3.0          This PostgreSQL cluster solution includes the P...
bitnami/prestashop                              17.1.3          8.0.4           PrestaShop is a powerful open source eCommerce ...
bitnami/prometheus                              0.1.5           2.44.0          Prometheus is an open source monitoring and ale...
bitnami/pytorch                                 3.2.6           2.0.1           PyTorch is a deep learning platform that accele...
bitnami/rabbitmq                                12.0.3          3.12.0          RabbitMQ is an open source general-purpose mess...
bitnami/rabbitmq-cluster-operator               3.4.2           2.3.0           The RabbitMQ Cluster Kubernetes Operator automa...
bitnami/redis                                   17.11.6         7.0.11          Redis(R) is an open source, advanced key-value ...
bitnami/redis-cluster                           8.6.4           7.0.11          Redis(R) is an open source, scalable, distribut...
bitnami/redmine                                 22.1.4          5.0.5           Redmine is an open source management applicatio...
bitnami/schema-registry                         11.0.1          7.4.0           Confluent Schema Registry provides a RESTful in...
bitnami/sealed-secrets                          1.4.4           0.22.0          Sealed Secrets are "one-way" encrypted K8s Secr...
bitnami/solr                                    7.5.1           9.2.1           Apache Solr is an extremely powerful, open sour...
bitnami/sonarqube                               3.2.5           10.1.0          SonarQube(TM) is an open source quality managem...
bitnami/spark                                   7.0.1           3.4.0           Apache Spark is a high-performance engine for l...
bitnami/spring-cloud-dataflow                   19.0.1          2.10.3          Spring Cloud Data Flow is a microservices-based...
bitnami/suitecrm                                12.1.3          7.13.3          SuiteCRM is a completely open source, enterpris...
bitnami/supabase                                0.3.8           0.23.5          Supabase is an open source Firebase alternative...
bitnami/tensorflow-resnet                       3.8.3           2.12.1          TensorFlow ResNet is a client utility for use w...
bitnami/thanos                                  12.8.3          0.31.0          Thanos is a highly available metrics system tha...
bitnami/tomcat                                  10.9.3          10.1.10         Apache Tomcat is an open-source web server desi...
bitnami/vault                                   0.2.4           1.13.3          Vault is a tool for securely managing and acces...
bitnami/wavefront                               4.4.3           1.13.0          DEPRECATED Wavefront is a high-performance stre...
bitnami/wavefront-adapter-for-istio             2.0.6           0.1.5           DEPRECATED Wavefront Adapter for Istio is an ad...
bitnami/wavefront-hpa-adapter                   1.5.2           0.9.10          DEPRECATED Wavefront HPA Adapter for Kubernetes...
bitnami/wavefront-prometheus-storage-adapter    2.3.3           1.0.7           DEPRECATED Wavefront Storage Adapter is a Prome...
bitnami/whereabouts                             0.4.1           0.6.2           Whereabouts is a CNI plugin for Kubernetes clus...
bitnami/wildfly                                 15.1.3          28.0.1          Wildfly is a lightweight, open source applicati...
bitnami/wordpress                               16.1.19         6.2.2           WordPress is the world's most popular blogging ...
bitnami/wordpress-intel                         2.1.31          6.1.1           DEPRECATED WordPress for Intel is the most popu...
bitnami/zookeeper                               11.4.3          3.8.1           Apache ZooKeeper provides a reliable, centraliz...
```