问题标签 [kubernetes-deployment]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
5805 浏览

kubernetes - Google Container Engine 错误:没有最低可用性

我正在尝试将网络服务部署到 Google 的 Kontainer 引擎。我创建了一个集群cluster size: 4 AND total cores: 8。在我的 yaml 配置中,我正在为我的三个服务创建部署,并Service公开这些服务以及ingress处理路由。

这是我的yaml:

它返回一个令人困惑的错误:

没有最低可用性您可以在下面的屏幕截图中看到: 在此处输入图像描述

请帮帮我!

提前致谢!

0 投票
1 回答
747 浏览

kubernetes - Kubernetes 从同一个部署/副本中获取同级 Pod IP/属性

需要将部署的 ip 和/或任何元数据设置为可作为环境变量用于同一部署下的每个 pod...

例如:拥有 3 个副本部署。需要为其他两个 pod 中的每一个设置其他 IP 地址的 env var。需要为彼此的两个 pod 设置主机名。拥有

需要补充:

这些应该在三个吊舱上相对可用。到目前为止,每个 pod 都只有自己的数据,我们需要将其他数据传播到同一部署中的其他副本。

0 投票
2 回答
9685 浏览

kubernetes - Kubernetes Persistent Volume Claim 挂载了错误的 gid

我正在创建一个 Kubernetes PVC 和一个使用它的 Deploy。

在 yaml 中指定 uid 和 gid 必须为 1000。

但是在部署卷时,该卷安装了不同的 ID,因此我没有对其的写访问权限。

如何有效地为 PVC 指定 uid 和 gid?

聚氯乙烯:

部署yaml:

这是目录列表:

我正在研究 IBM 的 Bluemix 集群。

谢谢。

0 投票
1 回答
1280 浏览

kubernetes - 获取部署的副本集

replica-set-name如果使用下面的 api,我可以获得 ReplicaSet :

但是如何根据部署获取 ReplicaSet 呢?

任何帮助表示赞赏。

谢谢

0 投票
1 回答
2710 浏览

kubernetes - 服务未在 Kubernetes 中公开

我在 GKE 中有部署和服务。我将部署公开为负载均衡器,但我无法通过服务(curl 或浏览器)访问它。我得到一个:

我可以直接转发到 pod,它工作正常:

我很可能错误地配置了我的服务,但看不到如何配置。对我所做的任何帮助将不胜感激。

服务 Yaml:

部署 YAML

输出:kubectl describe svc red-falcon-lb

0 投票
1 回答
2866 浏览

docker - 来自服务器的 Kubernetes 部署错误(禁止):检索当前配置时出错

我正在尝试将我的网络服务部署到 Google Container Engine:

这是我的deployment.yaml:

这是我的service.yaml:

我在 Google Container Engine 上创建了一个集群大小为 4 和 8 个 vCPU 的集群,我已经通过使用来自该集群的连接链接的命令成功获取了凭据。

当我尝试运行 deployment.yml 时,它返回一个错误:

来自服务器的错误(禁止):检索当前配置时出错:默认免提部署.yaml

来自服务器:“deployment.yaml” deployments.extensions “handfree”被禁止:用户“client”无法在命名空间“default”中获取 deployments.extensions:未知用户“client”。

我是 Kubernetes 世界的新手,请帮助我!

提前致谢!

0 投票
1 回答
36 浏览

kubernetes - 使用 PersistentDisk Volumnet 挂载的 Kubernetes 部署策略

我们有一个 K8s 部署规范,它使用 1 的副本数,并且该 pod 包含一个安装有 RWOnce 的 GCE PersistentDisk 卷。

就上下文而言,GCE PD 不允许 Multi-Write 挂载。

目前,我们有一个 Recreate Deployment 策略,因为这是唯一适合我们的策略,因为它确保当旧 pod 被销毁时卷将被分离,并与新 pod 创建成功连接。

然而,我们的 pod 镜像拉取需要一段时间,因此每次部署都会使我们的站点停机几十秒。

是否有任何其他部署策略可以防止这种情况?

当然,一种解决方案是使用允许多写入挂载的 VolumeMount,但我想知道是否有其他已知的解决方案来解决这个问题。

0 投票
1 回答
2219 浏览

docker - 如何一次编辑所有 Kubernetes 的部署

我们有数百个部署,在配置中,我们将其中大多数的 imagePullPolicy 设置为“ifnotpresent”,而对于少数设置为“always”,现在我想将所有具有ifnotpresent的部署修改为always

我们怎样才能一下子做到这一点?

前任:

上面的命令有助于为一个特定的部署重置它。

0 投票
2 回答
11761 浏览

kubernetes - 在 Kubernetes 的 deployment.yaml 中定义 2 个端口

我有一个我正在做的 docker 图像

我正在尝试放入一个 kubernetes 部署文件,我有这个:

我的服务.yaml

我可以指导如何在我的部署文件中映射 2 个端口吗?

0 投票
0 回答
639 浏览

kubernetes - Kubernetes 部署补丁 API 不会删除旧的 ReplicaSet

我正在使用 Kubernetes API v1.9 来修补我的部署,但是在修补之后,旧的副本集没有被删除,并且我无法使用 kubectl describe deploy xxx 看到“OldReplicaSets”。我也无法回滚到旧版本。

集群信息

  • IBM ICP v2.1.0.2、Kubernetes V1.9
  • IBM ICP v2.1.0.3、Kubernetes V1.10

Kubectl 版本:客户端版本:version.Info{Major:"1", Minor:"9", GitVersion:"v1.9.1", GitCommit:"3a1c9449a956b6026f075fa3134ff92f7d55f812", GitTreeState:"clean", BuildDate:"2018-01-04T11 :52:23Z", GoVersion:"go1.9.2", Compiler:"gc", Platform:"linux/amd64"} 服务器版本: version.Info{Major:"1", Minor:"9", GitVersion:" v1.9.1+icp-ee”,GitCommit:“d97ba3f083461e0ae0a8881550e83350af4c8f57”,GitTreeState:“clean”,BuildDate:“2018-02-23T07:20:41Z”,GoVersion:“go1.9.2”,编译器:“gc”,平台:"linux/amd64"}

API地址: https ://v1-9.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.9/#patch-22

我使用 Postman 进行的 API 调用:

请求后的部署信息:

我在这里提供更多细节

我的yaml文件:图片的版本标签和tag是由代码自动细化的。

当我使用 HTTP PATCH API 更新我的部署时,我得到了两个 ReplicaSet:

这两个副本集仅在版本标签和图像版本上有所不同。正如我所描述的,旧的 ReplicaSet 没有按预期删除,调用补丁 api 后我也没有看到滚动更新过程。

  • 为什么我不使用替换 api?

因为我了解到 kubernetes 具有 RollingUpdate 功能,并且我不希望我的应用程序在更新期间停机。我知道我可以使用 kubectl set image 来更改我的版本,但我也想更改标签。据我所知,我应该使用 kubectl patch deployments/devops-front ... 进行更改。这里的问题是 kubectl patch 不等于 patch rest api。

  • 为什么我不使用 kubectl?

因为有时我没有安装 kubectl。例如,我想用 Java 代码修补我的应用程序,我可以简单地从令牌端点获取令牌并调用 Kubernetes API 或使用 Fabric8io lib)。另一个例子是我想在 Jenkins Pipeline 中修补我的应用程序。

  • 为什么我不用kubernetes v1.10?

我已经安装了基于 K8s v1.10 的 ICP V2.1.0.3,同样的问题发生了。当我调用补丁 api 时,ReplicaSet 不会自动删除。