Kubernetes 部署
- Kubernetes 1.10+
- Helm 3.0+
- InLong Helm Chart
- A dynamic provisioner for the PersistentVolumes()
在 目录下安装 chart:
helm upgrade inlong --install -n inlong ./
进入 InLong Dashboard
如果 中的 ingress.enabled
字段值是 true
, 则直接在浏览器中访问 http://${ingress.host}/dashboard
即可
否则,如果 dashboard.service.type
字段值设置为 ClusterIP
,则需要执行以下命令进行端口转发:
export DASHBOARD_POD_NAME=$(kubectl get pods -l "app.kubernetes.io/name=inlong-dashboard,app.kubernetes.io/instance=inlong" -o jsonpath="{.items[0].metadata.name}" -n inlong)
export DASHBOARD_CONTAINER_PORT=$(kubectl get pod $DASHBOARD_POD_NAME -o jsonpath="{.spec.containers[0].ports[0].containerPort}" -n inlong)
之后就可以访问 http://127.0.0.1:8181 进入 InLong Dashboard 了。
如果 dashboard.service.type
字段值设置为 NodePort
,则需要执行以下命令:
export DASHBOARD_NODE_IP=$(kubectl get nodes -o jsonpath="{.items[0].status.addresses[0].address}" -n inlong)
export DASHBOARD_NODE_PORT=$(kubectl get svc inlong-dashboard -o jsonpath="{.spec.ports[0].nodePort}" -n inlong)
之后就可以访问 http://$DASHBOARD_NODE_IP:$DASHBOARD_NODE_PORT
进入 InLong Dashboard 了。
如果 dashboard.service.type
字段值设置为 LoadBalancer
,则需要执行以下命令:
之后就可以访问 http://$DASHBOARD_SERVICE_IP:30080
进入 InLong Dashboard 了。
默认的用户名是 admin
,默认密码是 inlong
,你可以通过它们进入 InLong Dashboard。
配置项在 文件中,下表展示了所有可配置项及其默认值:
卸载
通过以下命令卸载 chart:
helm uninstall inlong -n inlong
上述命令会删除除与 chart 关联的 PVC
之外的所有 Kubernetes 组件。
如果不再使用 PVC
,可通过下列命令删除,它将会删除所有数据。
kubectl delete pvc -n inlong --all
在开发前需要有一个装有 的 Kubernetes 集群。 但是没有也没有关系,推荐使用 kind , 它能够在 Docker 容器中运行一个本地的 Kubernetes 集群,因此,只需花费很少的时间即可启动和停止 kubernetes 节点。
你可以按照 章节中的指示安装 kind。 安装好 kind 后,你可以通过 kind.yml 配置文件来创建一个 Kubernetes 集群。
kind create cluster --config kind.yml
之后,你可以通过以下命令与集群进行交互:
现在,你已经拥有了一个可以进行本地开发的 Kubernetes 集群!
安装 Helm
请按照 安装指引 进行安装。
通过以下命令创建命名空间并安装 chart:
kubectl create namespace inlong
helm upgrade inlong --install -n inlong ./
这将花费一段时间,通过以下命令查看所有 pod 是否能够正常启动:
watch kubectl get pods -n inlong -o wide
开发与调试
按照 模板调试指引 来调试你所开发的 chart。
除此以外,你可以通过以下命令保存渲染的模板:
helm template ./ --output-dir ./result
之后,你可以在 result
文件夹下检查渲染后的模板。
我们已尽最大努力使这些 chart 尽可能正确,但偶尔也会出现我们无法控制的情况。 我们已经收集了用于解决常见问题的提示和技巧。 请在提出 之前先检查这些内容,并随时欢迎向我们提出 Pull Request !