问题标签 [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.
kubernetes - Kubernetes 从同一个部署/副本中获取同级 Pod IP/属性
需要将部署的 ip 和/或任何元数据设置为可作为环境变量用于同一部署下的每个 pod...
例如:拥有 3 个副本部署。需要为其他两个 pod 中的每一个设置其他 IP 地址的 env var。需要为彼此的两个 pod 设置主机名。拥有
需要补充:
这些应该在三个吊舱上相对可用。到目前为止,每个 pod 都只有自己的数据,我们需要将其他数据传播到同一部署中的其他副本。
kubernetes - Kubernetes Persistent Volume Claim 挂载了错误的 gid
我正在创建一个 Kubernetes PVC 和一个使用它的 Deploy。
在 yaml 中指定 uid 和 gid 必须为 1000。
但是在部署卷时,该卷安装了不同的 ID,因此我没有对其的写访问权限。
如何有效地为 PVC 指定 uid 和 gid?
聚氯乙烯:
部署yaml:
这是目录列表:
我正在研究 IBM 的 Bluemix 集群。
谢谢。
kubernetes - 获取部署的副本集
replica-set-name
如果使用下面的 api,我可以获得 ReplicaSet :
但是如何根据部署获取 ReplicaSet 呢?
任何帮助表示赞赏。
谢谢
kubernetes - 服务未在 Kubernetes 中公开
我在 GKE 中有部署和服务。我将部署公开为负载均衡器,但我无法通过服务(curl 或浏览器)访问它。我得到一个:
我可以直接转发到 pod,它工作正常:
我很可能错误地配置了我的服务,但看不到如何配置。对我所做的任何帮助将不胜感激。
服务 Yaml:
部署 YAML
输出:kubectl describe svc red-falcon-lb
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 世界的新手,请帮助我!
提前致谢!
kubernetes - 使用 PersistentDisk Volumnet 挂载的 Kubernetes 部署策略
我们有一个 K8s 部署规范,它使用 1 的副本数,并且该 pod 包含一个安装有 RWOnce 的 GCE PersistentDisk 卷。
就上下文而言,GCE PD 不允许 Multi-Write 挂载。
目前,我们有一个 Recreate Deployment 策略,因为这是唯一适合我们的策略,因为它确保当旧 pod 被销毁时卷将被分离,并与新 pod 创建成功连接。
然而,我们的 pod 镜像拉取需要一段时间,因此每次部署都会使我们的站点停机几十秒。
是否有任何其他部署策略可以防止这种情况?
当然,一种解决方案是使用允许多写入挂载的 VolumeMount,但我想知道是否有其他已知的解决方案来解决这个问题。
docker - 如何一次编辑所有 Kubernetes 的部署
我们有数百个部署,在配置中,我们将其中大多数的 imagePullPolicy 设置为“ifnotpresent”,而对于少数设置为“always”,现在我想将所有具有ifnotpresent的部署修改为always。
我们怎样才能一下子做到这一点?
前任:
上面的命令有助于为一个特定的部署重置它。
kubernetes - 在 Kubernetes 的 deployment.yaml 中定义 2 个端口
我有一个我正在做的 docker 图像
我正在尝试放入一个 kubernetes 部署文件,我有这个:
我的服务.yaml
我可以指导如何在我的部署文件中映射 2 个端口吗?
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 不会自动删除。