Pip 在 Kubernetes 集群中安装包
Pip installing a package inside of a Kubernetes cluster
我已经在 Google Cloud Kubernetes 集群中通过其 Helm Chart 安装了 Apache Superset。我需要 pip install
安装 Helm Chart 时未安装的包。如果我像这样连接到 Kubernetes bash shell:
kubectl exec -it superset-4934njn23-nsnjd /bin/bash
里面没有 python 可用,没有 pip,apt-get 找不到大部分包。
我了解到在容器安装过程中,包列在 Docker 文件中,我想我需要 fork docker 容器,修改 Docker 文件,将容器注册到容器注册表并制作一个新的 Helm Chart,它将 运行 这个容器。
但这一切对于一个简单的 pip install
来说似乎太复杂了,有没有更简单的方法来做到这一点?
链接:
Docker- https://hub.docker.com/r/amancevice/superset/
舵图 - https://github.com/helm/charts/tree/master/stable/superset
创建容器,多做一些开发工作,减少寻呼机发出的警报
Docker 文件似乎正在安装 python3 包。
尝试 'python3' 或 "pip3" 而不是 'python'/'pip'
如@Murli 所述,您应该使用 pip3
。但是,您应该记住的一件事是,helm
用于管理 k8s,即进入集群的内容应该是可追踪的。所以我向您推荐以下内容:
$ helm get stable/superset
修改values.yaml。就我而言,我将 jenkins-job-builder 添加到 pip3:
initFile: |-
pip3 install jenkins-job-builder
/usr/local/bin/superset-init --username admin --firstname admin --lastname user --email admin@fab.org --password admin
superset runserver
然后将 values.yaml
传递给 helm install
。
$ helm install --values=values.yaml stable/superset
就是这样。
$ kubectl exec -it doltish-gopher-superset-696448b777-8b9c6 which jenkins-jobs
/usr/local/bin/jenkins-jobs
$
我已经在 Google Cloud Kubernetes 集群中通过其 Helm Chart 安装了 Apache Superset。我需要 pip install
安装 Helm Chart 时未安装的包。如果我像这样连接到 Kubernetes bash shell:
kubectl exec -it superset-4934njn23-nsnjd /bin/bash
里面没有 python 可用,没有 pip,apt-get 找不到大部分包。
我了解到在容器安装过程中,包列在 Docker 文件中,我想我需要 fork docker 容器,修改 Docker 文件,将容器注册到容器注册表并制作一个新的 Helm Chart,它将 运行 这个容器。
但这一切对于一个简单的 pip install
来说似乎太复杂了,有没有更简单的方法来做到这一点?
链接:
Docker- https://hub.docker.com/r/amancevice/superset/
舵图 - https://github.com/helm/charts/tree/master/stable/superset
创建容器,多做一些开发工作,减少寻呼机发出的警报
Docker 文件似乎正在安装 python3 包。 尝试 'python3' 或 "pip3" 而不是 'python'/'pip'
如@Murli 所述,您应该使用 pip3
。但是,您应该记住的一件事是,helm
用于管理 k8s,即进入集群的内容应该是可追踪的。所以我向您推荐以下内容:
$ helm get stable/superset
修改values.yaml。就我而言,我将 jenkins-job-builder 添加到 pip3:
initFile: |-
pip3 install jenkins-job-builder
/usr/local/bin/superset-init --username admin --firstname admin --lastname user --email admin@fab.org --password admin
superset runserver
然后将 values.yaml
传递给 helm install
。
$ helm install --values=values.yaml stable/superset
就是这样。
$ kubectl exec -it doltish-gopher-superset-696448b777-8b9c6 which jenkins-jobs
/usr/local/bin/jenkins-jobs
$