Helm & 命名空间
介绍
Helm
类似npm,pip,docker hub
, 可以理解为是一个软件库,可以方便快速的为我们的集群安装一些第三方软件。- 使用
Helm
我们可以非常方便的就搭建出来MongoDB / MySQL
副本集群,YAML 文件别人都给我们写好了,直接使用。
安装 Helm
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
安装 MongoDB 示例
sh
# https://artifacthub.io/packages/helm/bitnami/mongodb
# 安装
helm repo add bitnami https://charts.bitnami.com/bitnami
helm install my-mongo bitnami/mongodb
# 指定密码和架构
helm install my-mongo bitnami/mongodb --set architecture="replicaset",auth.rootPassword="mongopass"
# 删除
helm ls
helm delete my-mongo
# 查看密码
kubectl get secret my-mongo-mongodb -o json
kubectl get secret my-mongo-mongodb -o yaml > secret.yaml
# 临时运行一个包含 mongo client 的 debian 系统
kubectl run mongodb-client --rm --tty -i --restart='Never' --image docker.io/bitnami/mongodb:4.4.10-debian-10-r20 --command -- bash
# 进去 mongodb
mongo --host "my-mongo-mongodb" -u root -p mongopass
# 也可以转发集群里的端口到宿主机访问 mongodb
kubectl port-forward svc/my-mongo-mongodb 27017:27018
将 Portainer 部署到您的集群中
使用以下命令将 Portainer 存储库添加到 Helm:
sh
$ helm repo add portainer https://portainer.github.io/k8s/
$ helm repo update
接下来运行以下命令之一来部署 Portainer 应用程序。
使用 NodePort 公开 Portainer
$ helm install --create-namespace -n portainer portainer portainer/portainer
这是最简单的方法。您将能够在运行 Portainer Pod 的节点上使用端口 30777 通过 HTTP 访问 Portainer。 HTTPS 流量将使用自签名证书在端口 30779 上提供服务。如果您想在使用此方法部署时提供自己的 SSL 证书,请参阅 Portainer 文档。
使用负载均衡器公开 Portainer
sh
$ helm install --create-namespace -n portainer portainer portainer/portainer \
--set service.type=LoadBalancer
此方法类似于 NodePort,但它将在您的节点前使用负载均衡器。访问负载均衡器 IP 上的端口 9000 以通过 HTTP 访问 Portainer。端口 9443 支持 HTTPS