查看http://kubernetes.io/docs/user-guide/labels/#selecting-sets-of-nodes,看起来可以根据标签选择一定范围的pod.但在我的情况下,我想选择一个节点上的所有pod,但我不想在相应的节点上标记每个pod.
我是否遗漏了文档中的内容,或者是否无法按节点选择?如果我做:
kubectl --server="<SERVER>" --namespace=<NS> get pods -o wide | head
NAME READY STATUS RESTARTS AGE NODE
Run Code Online (Sandbox Code Playgroud)
这些标题中的任何一个都可以用作选择器吗?如果是,最重要的是如何使用kubectl bust,如何使用API?
提前致谢
我可以使用以下名称对我的Kubernetes豆荚进行排序:
kubectl get pods --sort-by=.metadata.name
Run Code Online (Sandbox Code Playgroud)
我怎样才能按年龄对它们(或其他资源)进行排序kubectl?
我正在尝试在kubernetes集群上安装一个helm软件包,该集群据称已禁用RBAC.我收到了一个权限错误提示clusterroles.rbac.authorization.k8s.io,如果启用了 RBAC,这就是我所期望的.
有没有办法检查kubectlRBAC是否真的被禁用?
我尝试过的:
kubectl describe nodes --all-namespaces | grep -i rbac :什么都没有出现kubectl describe rbac --all-namespaces | grep -i rbac :什么都没有出现kubectl config get-contexts | grep -i rbac :什么都没有出现k get clusterroles它说"找不到资源",而不是错误信息.这是否意味着,RBAC 被启用?kuebctl describe cluster 不是一件事我知道这可能是xy问题,因为我正在安装的helm软件包可能需要启用RBAC.但是,我仍然想知道如何检查它是否启用/禁用.
我正在为我的 eks 环境设置我的新 Mac。安装 kubectl 后,aws-iam-authenticator 和 kubeconfig 文件放置在默认位置。我运行了命令 kubectl 命令并在命令块中收到了下面提到的错误。
我的集群使用 v1alpha1 客户端身份验证 api 版本,所以基本上我想在我的 Mac 中使用相同的版本。
我也尝试了最新版本(1.23.0)的 kubectl,仍然是同样的错误。然而,当我尝试使用 aws-iam-authenticator (版本 0.5.5)时,我无法下载较低版本。
有人可以帮我解决吗?
% kubectl version
Client Version: version.Info{Major:"1", Minor:"20", GitVersion:"v1.20.0", GitCommit:"af46c47ce925f4c4ad5cc8d1fca46c7b77d13b38", GitTreeState:"clean", BuildDate:"2020-12-08T17:59:43Z", GoVersion:"go1.15.5", Compiler:"gc", Platform:"darwin/amd64"}
Unable to connect to the server: getting credentials: exec plugin is configured to use API version client.authentication.k8s.io/v1alpha1, plugin returned version client.authentication.k8s.io/v1beta1
Run Code Online (Sandbox Code Playgroud)
谢谢和问候, 萨拉瓦娜
我有一个admin.conf文件,其中包含有关群集的信息,以便以下命令正常工作:
kubectl --kubeconfig ./admin.conf get nodes
Run Code Online (Sandbox Code Playgroud)
如何config在一个命令中将kubectl作为默认值使用此文件中的群集,用户和身份验证?我只看到单独的set-cluster,set-credentials,set-context,use-context等.我想在运行时得到相同的输出:
kubectl get nodes
Run Code Online (Sandbox Code Playgroud) 我正在寻找一种方法来告诉(从脚本中)Kubernetes Job完成的时间.我想从容器中取出日志并执行清理.
这样做有什么好办法?最好的方法是运行kubectl describe job <job_name>和grep 1 Succeeded或类似的东西?
我曾经用来kubectl create serviceaccount sa1创建服务帐户。然后我使用kubectl get serviceaccount sa1 -oyaml命令来获取服务帐户信息。但它返回如下。
apiVersion: v1
kind: ServiceAccount
metadata:
creationTimestamp: "2022-05-16T08:03:50Z"
name: sa1
namespace: default
resourceVersion: "19651"
uid: fdddacba-be9d-4e77-a849-95ca243781cc
Run Code Online (Sandbox Code Playgroud)
我需要得到,
secrets:
- name: <secret>
Run Code Online (Sandbox Code Playgroud)
部分。但它不会返回秘密。如何修复它?
如何使用kubectlAPI或API来检索pod或部署中容器的当前映像?
例如,在使用以下配置创建的部署中,我想要检索该值eu.gcr.io/test0/brain:latest.
apiVersion: v1
kind: Deployment
metadata:
name: flags
spec:
replicas: 6
template:
metadata:
labels:
app: flags
spec:
containers:
- name: flags
image: eu.gcr.io/test0/brain:latest
Run Code Online (Sandbox Code Playgroud) 我在Helm图表的templates目录中有我的deployment.yaml文件,其中包含我将使用Helm运行的容器的几个环境变量.
现在我希望能够从运行helm的任何机器本地提取环境变量,这样我就可以隐藏秘密.
当我使用Helm运行应用程序时,如何传入此函并让helm在本地获取环境变量?
这是我的deployment.yaml文件的一部分
...
...
spec:
restartPolicy: Always
containers:
- name: sample-app
image: "sample-app:latest"
imagePullPolicy: Always
env:
- name: "USERNAME"
value: "app-username"
- name: "PASSWORD"
value: "28sin47dsk9ik"
...
...
Run Code Online (Sandbox Code Playgroud)
当我运行helm时,如何从本地环境变量中提取USERNAME和PASSWORD的值?
这可能吗?如果是,那我该怎么做?
kubectl expose命令可用于为应用程序创建服务并分配IP地址以从Internet访问它.
据我了解,要访问Kubernetes集群中的任何应用程序,应该创建一个服务资源,并且该服务资源应具有可从外部网络访问的IP地址.
但是在端口转发的情况下kubectl如何创建与应用程序的连接而没有可从外部访问的IP地址?