Kubernetes 以编程方式获取节点的硬件详细信息

是否有一种方法可以通过编程方式获取OpenShift 3.0节点的硬件信息(例如CPU核数、RAM容量)?我在或的API参考中找不到任何有用的东西(除了Kubernetes API中的NodeSystemInfo,它不包含大多数硬件级别的规范)。KubernetesNodeStatus有一个名为容量的字段,这是一个资源及其相应数量的列表 您还可以在kubectl descripe节点的输出中看到容量 e、 g Openshift和Kubernetes上都有一个只读stat端点。正常情况下,它会显

Kubernetes Can';t在CoreOS上的rkt容器内启动iscsiadm

我正在尝试在CoreOS上的rkt中使用iscsi插件启动kubernetes,使用。问题是iscsi守护进程无法启动,因此我遇到错误,无法将卷装载到pod iscsi_util.go:112] iscsi: failed to sendtargets to portal 156.64.48.59:3260 error: iscsiadm: Failed to load module tcp: No such file iscsiadm: Could not load transpor

Kubernetes kubectl exec进入多容器吊舱的容器中

我在登录多容器吊舱的一个容器时遇到问题。 我从kubectl descripe pod 它显示:服务器错误:容器70761432854f对pod ipengine-net-benchmark-488656591-gjrpc无效再次详细阅读kubectl exec的手册页: 旗帜: -c、 --container=“”:容器名称。如果省略,将选择pod中的第一个容器 -p、 --pod=”“:pod名称 -i、 --stdin[=false]:将stdin传递给容器 -t、 --tty[=fals

如何向Kubernetes(kubectl)添加用户?

我已使用在AWS上创建了Kubernetes群集,并可通过本地机器上的kubectl成功管理该群集 我可以使用kubectl config view查看当前配置,也可以直接访问~/.kube/config上的存储状态,例如: apiVersion: v1 clusters: - cluster: certificate-authority-data: REDACTED server: https://api.{CLUSTER_NAME} name: {CLUSTER_NAME

Kubernetes 通过kubernete api创建pod

我想从java编写的代码中使用KuberneteAPI创建pod。我查阅了可用的文档,但没有发现任何帮助。我需要了解如何将值接收到相应的API,以及在创建POD时哪些字段是必需的和可选的 来自 @shubhandi请添加一些您拥有的代码示例,以便人们可以引导您通过。请按照此链接了解如何提出好的问题,只需创建一个即可查看。。。实验。。。失败,看。。。任何像Kubernetes这样的好api都会在任何缺少的必填字段上出错。。。创建豆荚的用例非常广泛,所以答案取决于你们想要的豆荚的味道。。。我建议

Kubernetes 在调度新节点上的吊舱之前,请等待canal吊舱

在为kubernetes创建/添加节点时,我们还必须创建运河吊舱 目前,kubernetes没有等到Canal吊舱准备就绪后再尝试调度吊舱,导致失败(错误如下) 一旦运河吊舱启动并运行,只需删除故障吊舱即可解决问题 我的问题是:告诉kubernetes等待网络pod准备就绪再尝试在节点上调度pod的正确方式是什么 我是否应该污染节点,使其仅允许运河,并在其准备就绪后取消着色 运河准备就绪后,我是否应该编写删除失败吊舱的脚本 是否有一种配置或方法可以消除该问题 这是一个常见的问题,所以我将发布答

带点的env变量,从docker compose到kubernetes yaml

我使用kompose将docker compose文件转换为kubernetes yaml。 但是,我遇到了一个带点的环境参数问题。Kompose用同一个名字翻译了这个,但是kubernetes不接受一个点。有什么建议吗?在我看来,它是一种数组表示法,但我不知道kubernetes YAML是否以及如何支持它 docker compose文件的原始部分 ui: image: reportportal/service-ui:3.2.4 environment: - RP_S

在google云平台上限制对kubernetes群集的访问

我们在谷歌云平台上创建了两个不同的Kubernetes集群,一个用于开发,另一个用于生产。 我们的团队成员具有“编辑”角色(因此他们可以创建、更新、删除和列出POD) 我们希望通过使用Kubernetes提供的RBAC授权来限制对生产集群的访问。我创建了一个ClusterRole和一个ClusterBindingRole,如下所示: kind: ClusterRole apiVersion: rbac.authorization.k8s.io/v1beta1 metadata: name:

运行shell脚本初始化kubernetes中的吊舱(初始化我的db集群)

我需要能够运行一个shell脚本(我的脚本用于初始化我的db集群)来初始化Kubernetes中的pod 我不想在dockerfile中创建脚本,因为我直接从web获取图像,所以我不想触摸它 因此,我想知道是否有办法将我的脚本放入我的一个卷中,这样我就可以像这样执行它: spec: containers: - name: command-demo-container image: debian command: ["./init.sh"] restartPolicy:

Kubernetes:--映像拉取策略总是不起作用

我有一个Kubernetes部署,它使用image:test:latest(不是真实的图像名称,但它是最新的标记)。 此图像位于docker hub上。我刚刚向dockerhub推出了新版本的test:latest。我原以为我的吊舱会在库伯内特斯重新部署,但什么也没发生 我创建了如下部署: kubectl run sample-app --image=`test:latest` --namespace=sample-app --image-pull-policy Always 为什么推送新映像

Kubernetes 无法运行装载为具有777权限的configmap的Bash脚本

这可能很简单,但我似乎不明白为什么装载为configmap的bash脚本不能作为根运行: root@myPodId:/opt/nodejs-app# ls -alh /path/fileName lrwxrwxrwx 1 root root 18 Sep 10 09:33 /path/fileName -> ..data/fileName root@myPodId:/opt/nodejs-app# whoami root root@myPodId:/opt/nodejs-app#

你能自动摧毁kubernetes吊舱吗?

我可以使用kubectl cli删除部署,但有没有办法在部署完成后自动销毁自己?就我的情况而言,我们正在AWS EKS上的Docker容器中启动一个长期运行的流程。当我检查状态时,它是“正在运行”,然后稍后状态是“已完成”。那么有没有办法让库伯内特斯吊舱在完成后自动摧毁 kubectl run some_deployment_name --image=path_to_image kubectl get pods //the above command returns... some_depl

Kubernetes 舵手:如何从repo安装最新的舵手图表

如何下载已经有不同版本的软件包的最新图表 我尝试使用helmrepoadd添加孵化器repo,然后执行helmrepo更新。当我尝试使用以下命令下载/安装最新图表时: helm install helm-name repo/chart-name 它抛出以下错误: Error: [debug] Created tunnel using local port: '37220' [debug] SERVER: "127.0.0.1:37220" [debug] Original chart ve

如何根据应用程序名称将Kubernetes(EKS)日志推送到具有单独日志流的Cloudwatch日志

我有一个场景,需要将EKS集群上运行的应用程序日志推送到单独的cloudwatch日志流。我遵循了下面的链接,它使用fluentd将所有日志推送到cloudwatch。但问题是,它只将日志推送到单个日志流 它还将所有日志推送到/var/lib/docker/container/*.log下。如何将其过滤到仅Can应用程序特定的日志?现在支持AWS CloudWatch日志(和S3/Athena/Glue)。它使您可以灵活地选择要转发数据的日志组和日志流(如果默认设置对您有效) 强烈建议

Kubernetes 普罗米修斯对库伯·克朗乔布斯的多对多问题

好了 我正在尝试配置Kubernetes Cronjobs监控和警报与普罗米修斯。我觉得这很有帮助 但我总是得到一个不允许的多对多匹配:匹配标签的一侧必须是唯一的错误 例如,这是触发此错误的PromQL查询: max( 工作状态开始时间 *在(职务名称)组右()上 kube_job_labels{label_cronjob!=“”) )按(作业名称、标签和作业) 查询本身会产生这些指标 kube\u作业状态\u开始时间: kube_工作状态开始时间{app=“kube state metri

Kubernetes 如何配置k8s客户机,使其能够从k8s集群吊舱与k8s CRD进行通信?

k8s java客户机中的示例都使用默认客户机,请参阅 我如何配置k8s客户机,以便它可以从k8s集群吊舱与k8s CRD(比如sparkoperator)进行通信?我应该如何配置这个客户端?(basePath,authentications?)那么我应该在同一k8s集群的pod中使用什么样的basePath?您可以使用Kubernetes API,只需安装curl curlhttp://localhost:8080/api/v1/namespaces/default/pods 只需将local

Kubernetes 注入istio侧车时pyspark不工作

我们在pod中运行pyspark,spark以独立模式启动。如果注入istio侧车,驾驶员无法连接到执行器。当我们禁用侧车喷射时,它工作正常 istio是否也会阻止吊舱间通信?如果是,如何解决?有没有办法将吊舱间通信列入白名单 执行pyspark任务时注入sidecar时出错: at io.netty.channel.AbstractChannelHandlerContext$AbstractWriteTask.run(AbstractChannelHandlerContext.java

Kubernetes K8S PersistenVolume和PersistentVolumeClaim

我正在练习存储主题。我不明白当教程在步骤3中配置PersistenVolumeClaim时,为什么步骤2:PersistentVolume具有不同的存储大小 例如nfs-0001.yaml,nfs-0002.yaml存储s是2Gi和5Gi apiVersion: v1 kind: PersistentVolumemetadata: name: nfs-0001 spec: capacity: storage: 2Gi accessModes: - ReadWriteO

Kubernetes事件日志

作为调试的一部分,我需要跟踪pod创建和删除等事件。在我的kubernetes设置中,我使用的是日志记录级别5 Kube api服务器、调度器、控制器、etcd在主节点上运行,而minion节点在kubelet和docker上运行 我正在使用journalctl获取主节点和工作节点上的K8s日志。在worker节点上,我可以看到Docker和Kubelet的日志。这些日志包含我在创建和销毁POD时预期的事件 但是,在主节点上,我没有看到任何相关日志,这些日志可能表明pod创建或删除请求处理 我可

如何映射kubernetes卷中的当前目录?

我需要将当前目录映射到windows上的Kubernetes卷 我可以使用hostPath执行此操作,但无法在部署中获取当前目录 通常我们使用./传递当前目录,但kubernetes无法识别它 如何在windows kubernetes中使用相应的 以下是我尝试的方法: apiVersion: apps/v1 kind: Deployment metadata: name: testeleitor labels: app: leitoreventos spec: selector:

库贝管制员经理及;kubernetes中CrashLoopBackoff错误中的kube调度程序

我在k8s中使用calico作为CNI,我试图在3台服务器中部署一个主集群。我用的是kubeadm,跟官方的。但是发生了一些错误,kube控制器管理器和kube调度程序进入CrashLoopBackOff错误,无法正常运行 我在每台服务器上都尝试了kubeadm reset,还重新启动了服务器,降级了docker 我使用kubeadm init--apiserver advertive address=192.168.213.128--pod network cidr=192.168.0.0/1

Kubernetes中的服务帐户和上下文有什么区别?

两者之间的实际区别是什么?什么时候我应该选择一个而不是另一个 例如,如果我想让项目中的开发人员只查看pod的日志。似乎可以通过角色绑定为服务帐户或上下文分配这些权限。什么是服务帐户? 从 用户帐户是针对人类的。服务帐户用于流程, 它们在豆荚中运行 用户帐户应为全局…服务 帐户具有名称空间 上下文 context与kubeconfig文件(~/.kube/config)相关。正如您所知,kubeconfig文件是一个yaml文件,context部分保存您的user/token和cluster引用c

Kubernetes作业未完成

遵循文档和此处提供的示例: 我运行kubectl apply-f job.yaml kubectl apply -f job.yaml job.batch/pi created 使用运行0 52s的get podspi-fts6q 1/2监视作业 我总是看到1/2运行,即使在作业完成后,检查日志显示它已完成 如何使作业显示已完成状态?作业将始终处于运行状态,显示没有完成 Parallelism: 1 Comple

在kubernetes中复制docker组合卷行为

我正在将tomcat+postgres应用程序的docker compose文件迁移到kubernetes。我的测试环境是启用Kubernetes的Windows Dockers 如果我将emptyDir卷用于postgres,我可以成功地测试我的应用程序,但我无法持久保存postgres数据 volumes: - name: "pgdata-vol" emptyDir: {} 在MacOS上,我能够使用hostPath卷持久化postgres数据

Kubernetes 如何更改Mac(docker desktop)上的默认节点端口范围?

如何更改Mac(docker desktop)上的默认节点端口范围 我想更改Mac上的默认节点端口范围。可能吗?我很高兴找到这篇文章:http://www.thinkcode.se/blog/2019/02/20/kubernetes-service-node-port-range。由于在我的环境中找不到/etc/kubernetes/manifests/kube apiserver.yaml,我试图通过运行sudo kubectl edit pod kube apiserver docker

Kubernetes Istio入口网关始终以503响应

我正在用头盔配置Istio。在这里您可以找到我的istio config.yaml: global: proxy: accessLogFile: "/dev/stdout" resources: requests: cpu: 10m memory: 40Mi disablePolicyChecks: false sidecarInjectorWebhook: enabled: true rewriteAppHTTPP

Kubernetes 如何通过一个入口为同一服务上的多个路径提供服务器?

我正在GKE集群上工作。我有一个简单的服务器正在运行。服务器上有三条路由 route 1 - / route 2 - /ping route 3 - /health 这些路径返回200个带有通用但不同的“ok”消息的响应 这就是我的安格尔·亚马尔的样子- apiVersion: extensions/v1beta1 kind: Ingress metadata: name: basic-ingress spec: tls: - hosts: - www.simple.c

Kubernetes 正在获取此错误!!与服务器localhost:8080的连接被拒绝-是否指定了正确的主机或端口?

当我运行下面提到的这个命令时,kubectl get po-n kube system 我得到这个错误:: 与服务器localhost:8080的连接被拒绝-是否指定了正确的主机或端口?localhost:8080是默认的服务器,如果您的系统上没有当前用户的连接 按照链接页面上的说明进行操作。您需要执行以下操作: gcloud容器群集获取凭据[群集\u名称] 如果当前用户的系统上没有本地主机,则localhost:8080是要连接的默认服务器 按照链接页面上的说明进行操作。您需要执行以下操作:

Kubernetes Openshift:如何访问外部文件系统中的文件?

我正在使用minishift部署我的java应用程序 应用已成功部署,但此应用需要读取/写入Windows上驱动器C上的某些文件 我不能把这个文件放在容器里,文件应该只放在驱动器C的这个文件夹里 有什么办法吗?您需要创建所谓的主机文件系统访问/共享。更多信息可在以下链接中找到您是否在与C驱动相同的机器上运行minishift?如果是这样,您需要设置某种主机文件系统共享@迪伦:是的,谢谢!

Kubernetes HAproxy作为入口控制器

什么样的负载平衡HAproxy入口控制器能够。 它能在Pod级别上实现负载平衡吗?或者在节点级负载平衡上实现 谢谢 Yaniv入口提供负载平衡、基于名称的虚拟主机、SSL/TLS终止。是的,它将在服务上进行负载平衡(由POD支持)。下面是示例Ingress kubernetes对象清单文件 Example: apiVersion: networking.k8s.io/v1beta1 kind: Ingress metadata: name: sample-ingress

服务请求通过Kubernetes的路径是什么?

假设Kubernetes集群中的服务映射到一组克隆容器,这些容器将满足外部世界对该服务的请求 来自外部世界的请求将进入Kubernetes群集,然后通过群集到达指定容器,然后通过Kubernetes群集返回外部世界的原始请求者的过程中有哪些步骤? 文档表明kube控制器管理器包括Endpoints控制器,它将服务连接到pod。但我还没有找到具体的文档来说明每个请求通过Kubernetes集群的过程中的步骤 这一点很重要,因为它会影响服务的安全性设计,包括围绕控制平面的路由配置。假设您主要使用默认

Kubernetes 如何使用kubectl cp覆盖目录

我正在使用kubectl cp命令将本地目录复制到Kubernetes吊舱中 kubectl cp test $POD:/tmp 它将test目录复制到Kubernetes pod/tmp目录中 现在我想覆盖pod中的测试目录。使用kubectl cp命令进行复制时,我找不到任何覆盖目录的选项 目前,我正在从pod中删除测试目录,然后复制该目录 kubectl exec $POD -- sh -c 'rm -rf /tmp/test' kubectl cp test $POD:/tmp 这工

Kubernetes 如何访问部署在minikube k8s集群中的应用程序

我已经安装了minikube,部署了hello minikube应用程序并打开了端口。基本上,我已经在学习了入门教程 当我想打开已部署应用程序正在运行的URL时,问题就开始了。该URL是通过运行minikube服务hello minikube--URL获得的 我得到http://172.17.0.7:31198并且无法打开该URI,因为该IP在本地不存在。将其更改为http://localhost:31198也不起作用(因此,我想向hosts文件中添加条目也不起作用) 应用程序正在运行,我可以通

Kubernetes Can';在istio系统命名空间中找不到群集本地网关

我正在使用Knative在K8s中部署无服务器应用程序,最近我发现istio系统名称空间中缺少集群本地网关,这有什么原因吗。。?恐怕在最新的版本中,istio删除了它,或者,它必须由Knative一方完成。 仅供参考-我在启用istio的GCP中进行部署。我没有手动安装istio,群集本地网关需要作为knative安装的一部分进行安装。由于您使用GKE安装istio而不是使用helm,因此需要手动安装 kubectl apply -f https://raw.githubusercontent.

我可以通过指向特定服务器而不是本地主机的域名访问Kubernetes仪表板吗

随后的文件 我可以设置仪表板并使用链接访问它 问题是“每个用户都必须遵循相同的方法才能访问仪表板” 我想知道是否有某种方式可以通过域名访问仪表板,并且每个人都应该能够访问仪表板,而无需预先设置。深层次的问题是身份验证。如果您希望仪表板尊重用户的Kubernetes RBAC规则,它需要用户的K8s信条,而这些信条通常很复杂。对于EKS,它基于您的AWS凭据。有些人只是在仪表板上放置一组静态权限,然后在其前面放置一些其他正常的web身份验证 我们有两种方法公开仪表板,NodePort和LoadB

Kubernetes 如何为特定目标动态更改prometheus操作符中的刮擦间隔

我正在使用普罗米修斯操作符来监视我的库伯内特斯集群。我想更改一些目标的scrape_间隔,在运行时需要时动态地增加和减少它 有什么建议吗 谢谢你可以随时改变- 在prometheus UI上查找servicemonitor,它是目标- kubectl获取服务监视器-n k get servicemonitor-n-o yaml | sed's/间隔:[0-9][0-9]s/间隔:50s/'| kubectl替换-f- 要自动重新加载,普罗米修斯操作员有配置重新加载程序,您可以将其作为容器安装在普

延长pod运行时的Kubernetes终止宽限期

我正在进行优雅的终止,并创建了一个在pod终止之前执行的预停止脚本,该脚本具有通过API与应用程序通信的逻辑,并且基于响应将继续终止。如果应用程序的响应不终止,是否可以延长宽限期,就像AWS自动缩放扩展心跳超时上的生命周期挂钩一样。如果预停止挂钩需要更长时间才能完成,则必须修改terminationGracePeriodSeconds lifecycle: preStop: exec: com

Kubernetes 是否可以在k8s中创建字符串数组密码?

我试图将字符串数组存储为机密;我有一个secrets.yml文件,我在本地环境中使用它,它工作得非常好(值仅用于解释): 秘密。yml passwordz: -pass_001 -通过002 -通行证003 这个想法是能够存储多个密码,我想使用它们作为k8s秘密的一部分,但迄今为止运气不佳;大概是这样的: k8s秘密。yml apiVersion:v1 种类:秘密 元数据: 姓名:master passwordz 类型:不透明 数据: secrets.yml:|- 密码Z:CIAGLSBWYX

Kubernetes Openshift:内部负载平衡(通过服务)工作不正常

我们在openshift环境中有以下设置: 命名空间B中的应用程序A通过路由和以下有关负载平衡的配置公开: haproxy.router.openshift.io/balance: roundrobin haproxy.router.openshift.io/disable_cookies: 'True' 应用程序A通过(内部)服务调用命名空间D(同一集群)中的应用程序C 目前,我们正在经历应用程序A的POD的良好负载平衡,这意味着这些POD具有大致相同的cpu/内存使用率和每秒请求数 然而,

Kubernetes 如何在env中为k8s设置数组结构属性?

要秘密定义客户端以存储客户端名称和密码,如何在env和secret中定义客户端数组以存储这些数据 在application.yml中应该是这样的: app: clients: client1: password1 client2: password2 ...... 我试图在app-deployment.yml中定义这个,但似乎不被允许 env: - name: APPLICATION_CLIENTS value: - name: clie

Kubernetes cri-o插座(crio.sock)与dockershim插座(dockershim.sock)

我对库伯内特斯很陌生,我试图理解克里奥和多克希姆之间的区别 我正在阅读关于如何安装kubernetes的手册,我认为crio是推荐的一个步骤(参见链接) 然而,当我第一次尝试启动该飞行员时,我感到更加困惑,我看到默认情况下kubernetes正在使用另一个cri工具(dockershim)作为默认的cri工具参见链接 我的问题是,CRI-O的安装程序是否值得一试?我在centos7(1.15.1-2.el7)的最新可用版本中发现了一些bug 我还测试了crio-v1.18.0,bug似乎已经修复

Kubernetes ingress将http重定向到https

我需要社区的帮助,我对kubernetes很陌生 我需要在“deployment.yaml”文件中定义的主机URL,以便使用任何技术从http重定向到https。接下来,我将把基础结构保留为我的代码 部署。yaml: apiVersion: apps/v1 kind: Deployment metadata: name: web namespace: default spec: selector: matchLabels: run: web template:

Kubernetes网络策略拒绝所有不阻止基本通信的策略

我正在运行GKE集群版本1.17.13-GKE.1400 我已在群集中应用了以下网络策略- apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: name: default-deny namespace: default spec: podSelector: {} policyTypes: - Ingress - Egress 这将阻止与默认命名空间上的POD之间的所有通信。 然而,事实并非如此。从

Kubernetes如何获取当前节点的名称

我的项目需要在当前主节点上部署PV,因此这涉及到资源调度问题。我使用hostPath,因此必须指定当前节点的调度 apiVersion: v1 kind: PersistentVolume metadata: name: local-pv-redis-0 spec: capacity: storage: 8Gi volumeMode: Filesystem accessModes: - ReadWriteOnce storageClassName: local-s

Kubernetes入口控制器-错误:ImagePullBackOff

我无法让控制器工作。尝试了很多次,但仍然得到错误:ImagePullBackOff 我有没有别的选择,或者知道为什么失败了 kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/nginx-0.27.0/deploy/static/mandatory.yaml kubectl描述吊舱nginx-ingres-controller-7fcb6cffc5-m8m5c-n ingres ngin

Kubernetes 禁用普罗米修斯社区掌舵图中的默认仪表板

我部署了舵图。虽然这个图表提供了一个非常好的起点,但它有很多我不想使用的默认仪表盘。在图表的values.yaml中,有一个选项defaultDashboardsEnabled:true,这似乎是我正在寻找的,但如果我使用我的值文件中的以下代码将其设置为false,并将其装入helm图表,则仪表板仍然存在。有人知道为什么这不起作用吗 我想到的一种可能性是,图表既有一个名为grafana的子图表,也有一个选项grafana,但我不知道如何修复它或测试这是否是问题所在 grafana: def

  1    2   3   4   5   6  ... 下一页 最后一页 共 189 页