在pod内的容器中,如何使用kubectl运行命令?例如,如果我需要在容器内执行以下操作:
kubectl得到豆荚
我已经试过了:在我的dockerfile中,我有以下命令:
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
RUN chmod +x ./kubectl
RUN sudo mv ./kubectl /usr/local/bin/kubectl
编辑:我正在尝试OSX文件,我已将其更正为linux二进制文件。(由@svenwltr纠正
在创建docker文件时,这是成功的,但是当我在容器中运行kubectl get pod时,
kubectl get pods
我收到此错误:
与服务器的连接:被拒绝-您是否指定了正确的主机或端口?
当我在本地部署时,如果我的docker-machine没有运行,那么我会遇到此错误,但是在容器内部,docker-machine如何运行?
在本地,我通过运行以下命令来解决此错误:(dev是docker-machine的名称)
docker-machine env dev
eval $(docker-machine env dev)
有人可以告诉我我需要做什么吗?
我将使用kubernetes api,您只需要安装curl,而不是kubectl
其余的即可。
curl http://localhost:8080/api/v1/namespaces/default/pods
我在我的一个apiserver上运行以上命令。将 localhost 更改为 apiserver ip地址/ dns名称 。
根据您的配置,您可能需要使用ssl或提供客户端证书。
为了找到API端点,可以使用--v=8
同kubectl
。
例:
kubectl get pods --v=8
资源:
Kubernetes API文档
RBAC更新:
我假设您已经配置了rbac,为您的pod创建了一个服务帐户并使用它运行。此服务帐户应具有所需名称空间中的Pod的列表权限。为此,您需要为该服务帐户创建角色和角色绑定。
群集中的每个容器都填充有可用于向API服务器进行身份验证的令牌。要验证,在容器内部运行:
cat /var/run/secrets/kubernetes.io/serviceaccount/token
要向apiserver发出请求,请在容器内运行:
curl -ik \
-H "Authorization: Bearer $(cat /var/run/secrets/kubernetes.io/serviceaccount/token)" \
https://kubernetes.default.svc.cluster.local/api/v1/namespaces/default/pods
目的是从命令行执行gatling perf测试。等效docker命令是 现在,为了映射上面使用kubectl在库伯内特斯运行的docker,我创建了一个pod,下面是gradlewcommand.yaml文件 现在,使用以下命令创建容器:- 现在是我的实际要求或问题,我如何运行或触发kubectl run命令,以便在上面创建的pod中运行容器?,请注意,您的 pod 名称是 gradlecomma
问题内容: 我要完成的工作是在已经使用Ansible在Digital Ocean Ubuntu / Docker Droplet上创建的Docker容器内运行命令。 似乎找不到任何东西,或者我主要是缺少一些东西。这是我在剧本中完成的任务。我对Ansible非常陌生,因此任何建议或智慧都将不胜感激。 问题答案: 您应该能够使用以下命令执行脚本(包含命令序列): 应该可以通过Ansible流程访问。
问题内容: 我想在postgres映像中使用psql以便在数据库上运行一些查询。但是不幸的是,当我连接到postgres容器时,出现了该错误,找不到psql命令… 对我来说,如何在容器中运行postgre sql查询或命令是一个谜。 如何在postgres容器中运行psql命令?(我是Docker世界中的新手) 我使用Ubuntu作为主机,但没有在主机上安装postgres,而是使用postgre
我想使用postgres映像中的psql在数据库上运行一些查询。但不幸的是,当我附加到postgres容器时,我得到的错误是psql命令找不到... 对我来说,如何在容器中运行postgre sql查询或命令是一个谜。 这是我的docker-compose.yml:
我想运行podman作为运行CI/CD管道的容器。然而,我一直从podman容器中得到这个错误: 我使用Jenkins Kubernetes插件来编写CI/CD管道,这些管道在Kubernetes集群中作为容器运行。我已经成功地编写了使用Docker-in-Docker容器来运行< code>docker build和< code>docker push命令的管道。 然而,在容器中运行Docker
问题内容: 我使用第三方GUI(Synology Docker软件包)来设置Docker容器。但是,它的局限性使我需要从命令行运行容器。(我想映射另一个主机IP绑定端口) 现在,由于已经完成了许多设置,因此我想检索启动该容器的原始运行命令,然后可以将端口映射端口更改为新端口。例如。“ ” 我找不到这样做的方法,事件使用“ docker inspect”,没有提供此类信息。 请提供一些建议以解决此问