我有一个像这样的 StatefulSet:
apiVersion: apps/v1
kind: StatefulSet
metadata:
namespace: myns
name: myapp
spec:
replicas: 3
template:
spec:
containers:
- name: mycontainer
image: ...
...
env:
- name: MY_ENV1
value: "1"
Run Code Online (Sandbox Code Playgroud)
现在我想通过 Kustomize 添加第二个环境变量,因为它仅在开发环境中使用。我做了这样的事情:
namespace: myns
resources:
...
patches:
- patch: |-
- op: add
path: "/spec/template/spec/containers/0/env/-"
value:
- name: MY_ENV2
value: "2"
target:
kind: StatefulSet
namespace: myns
name: myapp
Run Code Online (Sandbox Code Playgroud)
问题是它不起作用。如果我运行,kustomize build
我看不到这个附加变量(我看到其他变体)。
谁能帮助我了解如何实施它?
我正在使用 Kustomize 来管理同一集群的多个变体。我正在使用nameSuffix
选项为我的所有资源添加后缀:
nameSuffix: -mysfx
Run Code Online (Sandbox Code Playgroud)
我的问题是一切正常,但仅将此后缀添加到一个服务资源会给我带来问题。我的问题是应用程序(Patroni)与必须调用的服务交互:
CLUSTER-NAME-config
Run Code Online (Sandbox Code Playgroud)
所以我想从nameSuffix
. 我知道由于此功能的设计方式,这是不可能的。我在 StackOverflow 和网络上阅读了几篇文章。nameSuffix
我知道我可以跳过对一类资源的使用。所以我尝试输入我的kustomization.yaml
行:
configurations:
- kustomize-config/kustomize-config.yaml
Run Code Online (Sandbox Code Playgroud)
跳过所有服务资源。然后在文件中kustomize-config/kustomize-config.yaml
nameSuffix:
- path: metadata/name
apiVersion: v1
kind: Service
skip: true
Run Code Online (Sandbox Code Playgroud)
但这行不通。
有谁知道这个配置有什么问题吗?
然后假设我现在可以跳过nameSuffix
仅使用服务资源,我还有其他两个服务要添加此后缀。我需要做什么才能添加nameSuffix
到这两项服务而不是上面提到的服务?
如果对此有更好的解决方案,请告诉我。
在下一页中:
我有一个灰色按钮(请参阅第一本书的部分,它是页面上唯一的灰色按钮),但是应该是蓝色的。我从邮件服务中剪切并粘贴了代码(见下文)。属性:background-color:#47abd5; 不起作用。为什么?
<style>
#mlb2-3734193 button.ml-subscribe-button {
cursor: pointer;
font-family: Open Sans!important;
font-size: 24px !important;
height: 60px;
width: 250px;
background-color: #47abd5;
color: #ffffff!important;
border: none;
border-radius: 2px;
padding: 0px 24px;
}
</style>
<link href="https://fonts.googleapis.com/css?family=Open+Sans& subset=latin,latin-ext" rel="stylesheet" type="text/css">
<form id="mlb2-3734193" action="//app.mailerlite.com/webforms/popup/z0d1n7" data-code="z0d1n7" data-id="243593" target="_blank">
<div stylclass="button-preview">
<button style="background-color: #47abd5;" type="submit" class="ml-subscribe-button">Iscriviti</button>
</div>
</form>
<script type="text/javascript" src="//static.mailerlite.com/js/w/button.min.js?veb3acdd46bf692c067c6a9fe9fbc07d6"></script>
Run Code Online (Sandbox Code Playgroud)
我有一个带有 Patroni 的三个节点的 PostgreSQL 集群。该集群管理着非常高的工作负载,因此,它在生产环境中运行在裸机上。我们需要将此基础设施迁移到 Kubernetes(出于多种原因),我正在使用 PgBench 执行一些性能测试。首先,我比较了裸机和虚拟机,发现性能下降非常小。然后我比较了 VSI 和 Kubernetes,以了解 K8s 增加的开销。
现在我正在尝试微调CPU和内存。K8s 在具有 48 个 vCPU 和 192 Gb 的工作节点上运行。然而,部署 PostgreSQL 后我仍然看到:
NAME CPU(cores) MEMORY(bytes)
postgresql-deployment-5c98f5c949-q758d 2m 243Mi
Run Code Online (Sandbox Code Playgroud)
即使我将以下内容分配给 PostgreSQL 容器:
resources:
requests:
memory: 64Gi
limits:
memory: 64Gi
Run Code Online (Sandbox Code Playgroud)
如果我跑:
kubectl top pod <pod name> -n <namespace>
我得到以下信息:
NAME CPU(cores) MEMORY(bytes)
postgresql-deployment-5c98f5c949-q758d 2m 244Mi
Run Code Online (Sandbox Code Playgroud)
即使结果如下,K8s 仪表板也会出现相同的情况:
kubectl describe pod <pod name> -n <namespace>
Run Code Online (Sandbox Code Playgroud)
显示 Pod 在保证 QoS 和 64Gi RAM 的情况下运行以用于请求和限制。
这应该如何运作?
我不明白的另一件事是CPUlimit
和requested
. 我希望输入这样的内容:
resources: …
Run Code Online (Sandbox Code Playgroud)