kind
$ cat <<EOF | kind create cluster --name helm-practice2 --config=- kind: Cluster apiVersion: kind.x-k8s.io/v1alpha4 nodes: - role: control-plane kubeadmConfigPatches: - | kind: InitConfiguration nodeRegistration: kubeletExtraArgs: node-labels: "ingress-ready=true" extraPortMappings: - containerPort: 80 hostPort: 80 protocol: TCP - containerPort: 30000 hostPort: 30000 protocol: TCP EOF
この状態でnginxを公開するには
--- apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment spec: replicas: 3 # デプロイするPodのレプリカ数 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx:latest # 使用するNginxのDockerイメージ ports: - containerPort: 80 # コンテナが公開するポート番号 --- apiVersion: v1 kind: Service metadata: name: nginx-service spec: selector: app: nginx ports: - protocol: TCP port: 80 # Serviceが公開するポート番号 targetPort: 80 # ポート80をコンテナのポート80にマッピング nodePort: 30000 type: NodePort # NodePortタイプを使用して外部からアクセス可能にする
helm
# Chartリポジトリの追加 $ helm repo add <リポジトリ名> <リポジトリURL> # Chartリポジトリの更新 $ helm repo update # 利用可能なChartの一覧を確認 $ helm search repo <キーワード> # Chartの簡易情報 $ helm show chart <Chart名> # Chartのインストール $ helm install <Chart名> --generate-name # リリースの確認 $ helm ls # Chartのアンインストール $ helm uninstall <リリース名>
nginxを入れる
ChartsをArtifacthub.ioから探してくる。show valuesで設定可能なオプションを書き出してみる
helm show values oci://registry-1.docker.io/bitnamicharts/nginx > values.yml
limitsとか書き換えてinstallすれば入る
$ helm install nginx oci://registry-1.docker.io/bitnamicharts/nginx -f values.yml