Kubernetes 部署

    • Kubernetes 1.10+
    • Helm 3.0+
    • InLong Helm Chart
    • A dynamic provisioner for the PersistentVolumes()

    在 目录下安装 chart:

    1. helm upgrade inlong --install -n inlong ./

    进入 InLong Dashboard

    如果 中的 ingress.enabled 字段值是 true, 则直接在浏览器中访问 http://${ingress.host}/dashboard 即可

    否则,如果 dashboard.service.type 字段值设置为 ClusterIP,则需要执行以下命令进行端口转发:

    1. 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)
    2. 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,则需要执行以下命令:

    1. export DASHBOARD_NODE_IP=$(kubectl get nodes -o jsonpath="{.items[0].status.addresses[0].address}" -n inlong)
    2. 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:

    1. helm uninstall inlong -n inlong

    上述命令会删除除与 chart 关联的 PVC 之外的所有 Kubernetes 组件。

    如果不再使用 PVC,可通过下列命令删除,它将会删除所有数据。

    1. kubectl delete pvc -n inlong --all

    在开发前需要有一个装有 的 Kubernetes 集群。 但是没有也没有关系,推荐使用 kind , 它能够在 Docker 容器中运行一个本地的 Kubernetes 集群,因此,只需花费很少的时间即可启动和停止 kubernetes 节点。

    你可以按照 章节中的指示安装 kind。 安装好 kind 后,你可以通过 kind.yml 配置文件来创建一个 Kubernetes 集群。

    1. kind create cluster --config kind.yml

    之后,你可以通过以下命令与集群进行交互:

    现在,你已经拥有了一个可以进行本地开发的 Kubernetes 集群!

    安装 Helm

    请按照 安装指引 进行安装。

    通过以下命令创建命名空间并安装 chart:

    1. kubectl create namespace inlong
    2. helm upgrade inlong --install -n inlong ./

    这将花费一段时间,通过以下命令查看所有 pod 是否能够正常启动:

    1. watch kubectl get pods -n inlong -o wide

    开发与调试

    按照 模板调试指引 来调试你所开发的 chart。

    除此以外,你可以通过以下命令保存渲染的模板:

    1. helm template ./ --output-dir ./result

    之后,你可以在 result 文件夹下检查渲染后的模板。

    我们已尽最大努力使这些 chart 尽可能正确,但偶尔也会出现我们无法控制的情况。 我们已经收集了用于解决常见问题的提示和技巧。 请在提出 之前先检查这些内容,并随时欢迎向我们提出 Pull Request