问题标签 [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 回答
3867 浏览

kubernetes - 从 Kubernetes Pod 访问 SQL Server 数据库

我部署的 Spring Boot 应用程序试图从 Kubernetes Pod 连接到外部 SQL Server 数据库。但是每次它都因错误而失败

初始化池失败:与主机 <>、端口 1443 的 TCP/IP 连接失败。
错误:“连接超时:没有更多信息。
验证连接属性。确保 SQL Server 实例正在主机上运行并在端口接受 TCP/IP 连接。确保与端口的 TCP 连接未被阻止通过防火墙。

我尝试执行到 Pod 并成功 ping 数据库服务器,没有任何问题

以下是我尝试过的解决方案:

  1. 创建了一个服务和端点,并在配置文件中提供了数据库 IP 尝试在 Pod 中启动应用程序

  2. 尝试在配置中使用 Endpoint 的内部 IP 而不是 DB IP 来查看内部 IP 被解析为 DB IP

但是这两种情况都给出了相同的结果。下面是我使用创建服务和端点的 yaml。

如果我在此设置中有错误或遗漏,请告诉我。

K8s 设置的附加信息

  • 它是具有外部 etcd 集群拓扑的集群主节点
  • 节点上的操作系统是 CentOS
  • 能够从所有节点和创建的 Pod ping 服务器
0 投票
6 回答
38986 浏览

kubernetes - Helm V3 - 找不到官方仓库

我一直在尝试使用 helm 版本 3 安装 nginx 入口

但是 Helm 似乎无法找到它的官方stablerepo。它给出了以下信息:

错误:无法下载“stable/nginx-ingress”(提示:运行helm repo update可能有帮助)


我试过了helm repo update。但这无济于事。

我尝试列出回购helm repo list但它是空的。


我尝试添加稳定的仓库:

但它失败了:

错误:看起来“ https://github.com/helm/charts/tree/master/stable ”不是有效的图表存储库或无法访问:无法获取 https://github.com/helm/charts/tree /master/stable/index.yaml:404未找到

0 投票
4 回答
10032 浏览

kubernetes - 为什么 kubernetes 报告“就绪探测失败”和“活性探测失败”

我的应用程序有一个有效的 Kubernetes 部署。

当我应用我的部署时,我可以看到它运行正常并且应用程序响应了我的请求。

应用程序有缺陷并在某些情况下崩溃。我“调用”了这样一个条件,然后在 pod 事件中看到以下内容:

预计活性探测失败并重新启动容器。但为什么我会看到Readiness probe failed事件?

0 投票
3 回答
231 浏览

kubernetes - Kubernetes 在服务/部署级别检查 readinessProbe

有没有办法通过使用链接到部署的服务名称来请求 readinessProbe 的状态?例如在 initContainer 中?

想象一下,我们有一个部署 X,使用一个 readinessProbe,一个服务链接到它,所以我们可以请求例如http://service-X:8080。现在我们创建一个部署 Y,在 initContainer 中我们想知道部署 X 是否准备好。有没有办法问类似的东西deployment-X.readyor service-X.ready

我知道处理依赖关系的正确方法是让 kubernetes 为我们做这件事,但我有一个不会崩溃的容器,我没有手.​​..

0 投票
1 回答
7847 浏览

kubernetes - 版本“v1”中的部署不能作为部署处理:

helm install 失败并出现以下错误

命令

以下是我运行以上命令后的错误

下面是deployment.yaml 文件,我觉得在liveness 和probeness 配置中存在问题。

0 投票
1 回答
1751 浏览

kubernetes - 部署 yaml 文件时出现 BadRequest 错误

在 Kubernetes 集群中部署 yaml 文件时出现错误请求错误。

kubernetes 集群是 1.14.7 版本,有 2 个节点池。一个是带有 linux 节点的默认节点池,另一个是用于 windows 容器的 windows 节点池(节点数为 1)。我正在门户中登录 Azure CLI 并运行 kubectl 命令。

试过 apiVersion: apps/v1beta1 但不好。

这是deployment.yaml文件

预期结果应该是部署了 yaml 文件。

不确定这是否与文件的缩进有关。yaml 文件是错误的还是我遗漏了什么?

0 投票
1 回答
72 浏览

kubernetes - 将卷安装为只读有性能优势吗?

在 Kubernetes 部署中,您可以将卷挂载指定为只读。它有性能优势,还是仅合乎逻辑?

它取决于卷类型吗?

为了明确我的意图,我在一个作者和许多读者的场景中使用 pv,并注意到挂载卷上的任何 fs 操作都比易失性磁盘上的慢得多。

0 投票
1 回答
70 浏览

kubernetes - K8s 部署失败但端点工作

我正在玩 k8s 部署,更改服务、容器和入口的端口。我很想知道部署是如何工作的。

我的场景:部署一个托管 2 个端点的休息服务应用程序。

情况1:

containerPort: 8081 - # 容器端口

port: 8081 #服务的端口targetPort: 8081

Host1 端口 : 8081 #入口的端口 Host2 端口 :8081

结果:按预期使用竹管道成功部署。

案例 2: containerPort: 8080 - # 容器端口

port: 8080 #服务的端口targetPort: 8081

Host1 port : 8081 #port of the ingress Host2 port :8081 结果 : 部署在竹子中失败,但运行状况检查和所有端点工作正常。

案例3:

containerPort: 8080 - # 容器端口

port: 8080 #服务的端口targetPort: 808

Host1 端口 : 8080 #入口的端口 Host2 端口 :8080

结果:在竹子中部署不成功,这也是预期的,因为另一台主机也在同一集群的 8080 中运行。

我真的不确定为什么案例 2 失败了。有人能帮我吗?

0 投票
2 回答
941 浏览

kubernetes - Kubernetes Cronjobs 可以重用现有部署中的环境变量吗?

我正在使用 Kubernetes Cronjob 来运行周期数据库恢复和发布恢复脚本,这些脚本针对目标环境运行,其中包括使用数据库、redis 和文件系统等任务。

我面临的问题是我必须重新定义我在 Cronjob 中的部署中使用的所有环境变量(例如,、、DATABASE_NAMEDATABASE_PASSWORDREDIS_HOST

虽然重复所有环境变量都有效,但很容易出错,因为我已经忘记更新作业,这导致我不得不重新运行整个过程,这需要 2-4 小时才能运行,具体取决于环境。

有没有办法在我的 Cronjob 中引用现有的Deployment并重新使用定义的环境变量?

0 投票
4 回答
79 浏览

kubernetes - 使用 kubectl rollouts 更新我的图像,但还需要将我的部署对象保留在版本控制中

在我的 CICD 中,我是:

生成具有唯一标签的新图像。foo:dev-1339 并将其推送到我的图像存储库 (ECR)。然后我使用滚动更新来更新我的部署。

kubectl rolling-update frontend --image=foo:dev-1339

但我在这里有一个冲突。

如果我还需要更新存储在 deployment.yaml 文件中的部署对象的某些部分,该怎么办。让我们说加强健康检查或添加参数?

然后,当我将apply我的部署对象作为一个整体时,它将与当前副本集不同步,标签将被还原,并且我将丢失该图像更新,因为它存在于集群中。

如何避免这种竞争条件?