问题标签 [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 访问 SQL Server 数据库
我部署的 Spring Boot 应用程序试图从 Kubernetes Pod 连接到外部 SQL Server 数据库。但是每次它都因错误而失败
初始化池失败:与主机 <>、端口 1443 的 TCP/IP 连接失败。
错误:“连接超时:没有更多信息。
验证连接属性。确保 SQL Server 实例正在主机上运行并在端口接受 TCP/IP 连接。确保与端口的 TCP 连接未被阻止通过防火墙。
我尝试执行到 Pod 并成功 ping 数据库服务器,没有任何问题
以下是我尝试过的解决方案:
创建了一个服务和端点,并在配置文件中提供了数据库 IP 尝试在 Pod 中启动应用程序
尝试在配置中使用 Endpoint 的内部 IP 而不是 DB IP 来查看内部 IP 被解析为 DB IP
但是这两种情况都给出了相同的结果。下面是我使用创建服务和端点的 yaml。
如果我在此设置中有错误或遗漏,请告诉我。
K8s 设置的附加信息
- 它是具有外部 etcd 集群拓扑的集群主节点
- 节点上的操作系统是 CentOS
- 能够从所有节点和创建的 Pod ping 服务器
kubernetes - Helm V3 - 找不到官方仓库
我一直在尝试使用 helm 版本 3 安装 nginx 入口
但是 Helm 似乎无法找到它的官方stable
repo。它给出了以下信息:
错误:无法下载“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未找到
kubernetes - 为什么 kubernetes 报告“就绪探测失败”和“活性探测失败”
我的应用程序有一个有效的 Kubernetes 部署。
当我应用我的部署时,我可以看到它运行正常并且应用程序响应了我的请求。
应用程序有缺陷并在某些情况下崩溃。我“调用”了这样一个条件,然后在 pod 事件中看到以下内容:
预计活性探测失败并重新启动容器。但为什么我会看到Readiness probe failed
事件?
kubernetes - Kubernetes 在服务/部署级别检查 readinessProbe
有没有办法通过使用链接到部署的服务名称来请求 readinessProbe 的状态?例如在 initContainer 中?
想象一下,我们有一个部署 X,使用一个 readinessProbe,一个服务链接到它,所以我们可以请求例如http://service-X:8080
。现在我们创建一个部署 Y,在 initContainer 中我们想知道部署 X 是否准备好。有没有办法问类似的东西deployment-X.ready
or service-X.ready
?
我知道处理依赖关系的正确方法是让 kubernetes 为我们做这件事,但我有一个不会崩溃的容器,我没有手...
kubernetes - 版本“v1”中的部署不能作为部署处理:
helm install 失败并出现以下错误
命令
以下是我运行以上命令后的错误
下面是deployment.yaml 文件,我觉得在liveness 和probeness 配置中存在问题。
kubernetes - 部署 yaml 文件时出现 BadRequest 错误
在 Kubernetes 集群中部署 yaml 文件时出现错误请求错误。
kubernetes 集群是 1.14.7 版本,有 2 个节点池。一个是带有 linux 节点的默认节点池,另一个是用于 windows 容器的 windows 节点池(节点数为 1)。我正在门户中登录 Azure CLI 并运行 kubectl 命令。
试过 apiVersion: apps/v1beta1 但不好。
这是deployment.yaml文件
预期结果应该是部署了 yaml 文件。
不确定这是否与文件的缩进有关。yaml 文件是错误的还是我遗漏了什么?
kubernetes - 将卷安装为只读有性能优势吗?
在 Kubernetes 部署中,您可以将卷挂载指定为只读。它有性能优势,还是仅合乎逻辑?
它取决于卷类型吗?
为了明确我的意图,我在一个作者和许多读者的场景中使用 pv,并注意到挂载卷上的任何 fs 操作都比易失性磁盘上的慢得多。
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 失败了。有人能帮我吗?
kubernetes - Kubernetes Cronjobs 可以重用现有部署中的环境变量吗?
我正在使用 Kubernetes Cronjob 来运行周期数据库恢复和发布恢复脚本,这些脚本针对目标环境运行,其中包括使用数据库、redis 和文件系统等任务。
我面临的问题是我必须重新定义我在 Cronjob 中的部署中使用的所有环境变量(例如,、、DATABASE_NAME
等DATABASE_PASSWORD
)REDIS_HOST
。
虽然重复所有环境变量都有效,但很容易出错,因为我已经忘记更新作业,这导致我不得不重新运行整个过程,这需要 2-4 小时才能运行,具体取决于环境。
有没有办法在我的 Cronjob 中引用现有的Deployment
并重新使用定义的环境变量?
kubernetes - 使用 kubectl rollouts 更新我的图像,但还需要将我的部署对象保留在版本控制中
在我的 CICD 中,我是:
生成具有唯一标签的新图像。foo:dev-1339 并将其推送到我的图像存储库 (ECR)。然后我使用滚动更新来更新我的部署。
kubectl rolling-update frontend --image=foo:dev-1339
但我在这里有一个冲突。
如果我还需要更新存储在 deployment.yaml 文件中的部署对象的某些部分,该怎么办。让我们说加强健康检查或添加参数?
然后,当我将apply
我的部署对象作为一个整体时,它将与当前副本集不同步,标签将被还原,并且我将丢失该图像更新,因为它存在于集群中。
如何避免这种竞争条件?