我正在浏览 Kubernetes 文档以了解节点关联性和匹配表达式。在其他运算符中,它列出了 Gt 和 Lt(我认为它们分别是大于和小于的缩写)。我正在考虑如何使用它们或者什么可能是它们的有效用例,但想不出任何。
您能告诉我 Gt 和 Lt 在节点关联中使用的可能用例是什么以及我将如何使用它们吗?
我正在尝试开始部署,但收到此错误
error: error validating "httpd-basic-deployment.yaml": error validating data: ValidationError(Deployment.spec.template.spec.containers): invalid type for io.k8s.api.core.v1.PodSpec.containers: got "map", expected "array"; if you choose to ignore these errors, turn validation off with --validate=false
Run Code Online (Sandbox Code Playgroud)
以下 pod 定义文件:
apiVersion: apps/v1
kind: Deployment
metadata:
name: ebay-app
spec:
selector:
matchLabels:
environment: dev
app: ebay
replicas: 1
template:
metadata:
labels:
environment: dev
app: ebay
spec:
volumes:
- name: volume
hostPath:
path: /mnt/data
containers:
name: container1-nginx
image: nginx
volumeMounts:
name: volume
mountPath: /var/nginx-data
name: container2-tomcat
image: tomcat
nodeSelector:
boardType: x86vm …Run Code Online (Sandbox Code Playgroud) 我需要执行为我的应用程序编写的诊断程序。该应用程序正在 Kubernetes Pod 中运行/部署。我想在 Kubernetes pod 中复制诊断可执行 jar 文件并在不停止 pod 的情况下执行它。如何才能实现这一目标?是否有特定的方法来使用 Kubernetes pod 环境运行可执行 jar?
我想知道 PodDisruptionBudget 能带来什么附加值。
据我了解,PodDisruptionBudget 承诺一定数量的节点将始终保留在集群中,同时有 2 个选项来决定如何保留:minAvailable / maxUnavailable。
现在,当我定义 ReplicaSet 时,我定义了我想要的副本数量。因此,如果我定义 2 个,则副本数不会少于 2 个。那么 PodDisruptionBudget 是由什么给出的呢?
我知道我可以用来kubectl wait检查 pod 是否存在,Ready但是有没有一种简单的方法来检查 pod 是否消失或处于Terminating状态?我正在运行一些测试,并且只想在 pod(或与此相关的命名空间)完全消失时继续。
超时选项也会派上用场。
我正在尝试 GCP 和 GKE 谷歌 kubernetes 引擎。1-)我正在创建一个集群 2-)我打开了cloud shell并使用了命令“kubectl getnodes”
我收到此错误:“与服务器 localhost:8080 的连接被拒绝 - 您指定了正确的主机或端口吗?”
我该如何解决。谢谢。
google-cloud-storage google-cloud-platform kubernetes google-kubernetes-engine kubernetes-pod
当我想重新启动 kubernetes( v1.21.2) statefulset pod 时,pod 处于终止状态,日志显示如下:
error killing pod: failed to "KillPodSandbox" for "8aafe99f-53c1-4bec-8cb8-abd09af1448f" with KillPodSandboxError: "rpc error: code = Unknown desc = failed to check network namespace closed: remove netns: unlinkat /var/run/netns/cni-f9ccb1de-ed43-dff6-1b86-1260e07178e6: device or resource busy"
Run Code Online (Sandbox Code Playgroud)
Pod 终止了几个小时但仍然卡住。为什么会发生这种情况?我应该怎么做才能解决这个问题?
将信息传递到服务背后抽象的所有Pod的最佳方法是什么?为简单起见,假设有一个实体会在随机时间生成信息,以供吊舱使用,并且所有吊舱都应尽早使用该信息。
我当时想POST在信息生成时对服务进行休息,以使该服务后面的所有pod都接收到数据。但是,k8s服务不能保证已将其传达给所有Pod。
另外,我可以考虑存储来自生产者的信息,并让每个吊舱从存储中提取信息。但是还有其他更好的方法吗?谢谢!
是否可以在两个不同的Shell中本地运行两个Kubernetes仪表板?我想同时查看两个不同的群集,但是,我遇到了仪表板端口的问题。
我创建了第一个仪表板,如下所示:
$ kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep admin-user | awk '{print $1}')
$ kubectl proxy
Starting to serve on 127.0.0.1:8001
Run Code Online (Sandbox Code Playgroud)
我打开了一个新的外壳,并将上下文更改为接收错误的新集群:
$ listen tcp 127.0.0.1:8001: bind: address already in use
Run Code Online (Sandbox Code Playgroud)
我知道为什么会这样,但是我不确定如何缓解这个问题。
此外,当我将第二个群集的仪表板的端口更改为8002时,如果不渲染一个页面,将无法实时查看两个页面。 Internal Server Error (500): square/go-jose: error in cryptographic primitive
我已切换到隐身模式,添加了一个Chrome配置,以从localhost:8001和localhost:8002擦除/忽略浏览器cookie,但是,当我登录时,我在Chrome控制台中收到以下错误:
Possibly unhandled rejection: {
"data":"MSG_LOGIN_UNAUTHORIZED_ERROR\n",
"status":401,
"config":{
"method":"GET",
"transformRequest":[
null
],
"transformResponse":[
null
],
"jsonpCallbackParam":"callback",
"url":"api/v1/rbac/status",
"headers":{
"Accept":"application/json, text/plain, */*"
}
},
"statusText":"Unauthorized",
"xhrStatus":"complete",
"resource":{ …Run Code Online (Sandbox Code Playgroud) 我试图了解 kubernetes 是如何工作的,所以我尝试为我的 minikube 执行此操作:
~ kubectl delete pod --all -n kube-system
pod "coredns-f9fd979d6-5n4b6" deleted
pod "etcd-minikube" deleted
pod "kube-apiserver-minikube" deleted
pod "kube-controller-manager-minikube" deleted
pod "kube-proxy-879lg" deleted
pod "kube-scheduler-minikube" deleted
Run Code Online (Sandbox Code Playgroud)
没关系。根据需要删除了 Pod。但如果我这样做,kubectl get pods -n kube-system我会看到:
NAME READY STATUS RESTARTS AGE
coredns-f9fd979d6-5d25r 1/1 Running 0 50s
etcd-minikube 1/1 Running 0 50s
kube-apiserver-minikube 1/1 Running 0 50s
kube-controller-manager-minikube 1/1 Running 0 50s
kube-proxy-nlw69 1/1 Running 0 43s
kube-scheduler-minikube 1/1 Running 0 49s
Run Code Online (Sandbox Code Playgroud)
好的。我以为是 ReplicaSet 或 DaemonSet:
? ~ kubectl …Run Code Online (Sandbox Code Playgroud)