如何解决如何使用dockerfile安装Kubectl和Helm?
我是Docker的新手。我正在尝试创建一个基本上设置kubectl(Kubernetes客户端),Helm 3和Python 3.7的dockerfile。我用过:
FROM python:3.7-alpine
COPY ./ /usr/src/app/
WORKDIR /usr/src/app
现在,我正在尝试找出如何添加kubectl
和helm
。安装这两个的最佳方法是什么?
解决方法
正在工作的Dockerfile。这将安装kubectl
和helm-3
的最新稳定版本
FROM python:3.7-alpine
COPY ./ /usr/src/app/
WORKDIR /usr/src/app
RUN apk add curl openssl bash --no-cache
RUN curl -LO "https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl" \
&& chmod +x ./kubectl \
&& mv ./kubectl /usr/local/bin/kubectl \
&& curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 \
&& chmod +x get_helm.sh && ./get_helm.sh
,
我猜应该可以从python基本映像中获得Python。 我的看法是……
ENV K8S_VERSION=v1.18.X
ENV HELM_VERSION=v3.X.Y
ENV HELM_FILENAME=helm-${HELM_VERSION}-linux-amd64.tar.gz
,然后在Dockerfile中
RUN curl -L https://storage.googleapis.com/kubernetes-release/release/${K8S_VERSION}/bin/linux/amd64/kubectl -o /usr/local/bin/kubectl \
&& curl -L https://storage.googleapis.com/kubernetes-helm/${HELM_FILENAME} | tar xz && mv linux-amd64/helm /bin/helm && rm -rf linux-amd64
但是要知道baseimage中curl或wget的可用性,也许必须先安装这些或其他工具和程序,然后才能在Dockerfile中使用它。这始终取决于所使用的基本图像
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。