我已将集群上的 VPA 启用为只读模式,并尝试收集 VPA 推荐数据。但我找不到特定于 Vertical Pod Autoscaling 的良好文档或任何 API 详细信息。我已经为 Horizontal Pod Autoscaler 找到了它,但没有为 VPA 找到了它。
我有一个部署到 Kubernetes 的应用程序,该应用程序依赖于外部应用程序。有时,这两者之间的连接会进入无效状态,只能通过重新启动我的应用程序来修复。
为了自动重新启动,我配置了一个活动探针来验证连接。
这一直工作得很好,但是,我担心如果外部应用程序出现故障(这样连接错误不仅仅是由于无效的 Pod 状态),我的所有 Pod 将立即重新启动,并且我的应用程序将变成完全不可用。我希望它保持运行,以便不依赖于不良服务的功能可以继续。
我想知道 Pod 中断预算是否会阻止这种情况,因为它限制了由于“自愿”中断而减少的 Pod 数量。然而,K8s 文档没有说明活性探测失败是否是自愿中断。他们是吗?
我阅读了以下kubernetes 文档,这些文档导致以下 yaml 在集群中运行 postgresql 和 pgadmin:
--- pgadmin-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: pgadmin-deployment
spec:
replicas: 1
selector:
matchLabels:
app: pgadmin-pod
template:
metadata:
labels:
app: pgadmin-pod
spec:
containers:
- name: pgadmin-container
image: dpage/pgadmin4
imagePullPolicy: "IfNotPresent"
ports:
- containerPort: 80
env:
- name: PGADMIN_DEFAULT_EMAIL
value: email@example.com
- name: PGADMIN_DEFAULT_PASSWORD
value: password
--- pgadmin-service.yaml
apiVersion: v1
kind: Service
metadata:
name: pgadmin-service
spec:
type: NodePort
ports:
- port: 30000
targetPort: 80
selector:
app: pgadmin-pod
--- postgres-deployment.yaml
apiVersion: apps/v1
kind: …Run Code Online (Sandbox Code Playgroud) 希望你一切都好,
我目前正在尝试推出awx-operator部署到 Kubernetes 集群上,但在从集群外部访问该服务时遇到了一些问题。
目前我设置了以下服务:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
awx NodePort 10.102.30.6 <none> 8080:32155/TCP 110m
awx-operator NodePort 10.110.147.152 <none> 80:31867/TCP 125m
awx-operator-metrics ClusterIP 10.105.190.155 <none> 8383/TCP,8686/TCP 3h17m
awx-postgres ClusterIP None <none> 5432/TCP 3h16m
awx-service ClusterIP 10.102.86.14 <none> 80/TCP 121m
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 17h
Run Code Online (Sandbox Code Playgroud)
我确实设置了一个NodePort名为awx-operator. 我确实尝试创建应用程序的入口。您可以在下面看到:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: awx-ingress
spec:
rules:
- host: awx.mycompany.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: awx
port:
number: …Run Code Online (Sandbox Code Playgroud) 我有一个用例,其中我需要从 GCP BigQuery 数据库获取数据到我的 Springboot 应用程序中,然后对其执行一些操作。我无法理解如何去做。例如,需要如何配置应用程序属性才能使用 BQ 数据库等,我也无法找到任何好的资源。
请大家在这方面给我一些指导。即使您能给我指出相关资源,那就太好了!
我v1.22.1在裸机 CentOS 中设置了一个 Kubernetes 集群。我在按照此链接设置 Nginx Ingress 控制器时遇到问题。
我按照步骤 1-3 进行了完全相同的操作,但CrashLoopBackOff在 nginx 入口控制器 pod 中出现错误。我检查了 pod 的日志,发现如下:
[root@dev1 deployments]# kubectl logs -n nginx-ingress nginx-ingress-5cd5c7549d-hw6l7
I0910 23:15:20.729196 1 main.go:271] Starting NGINX Ingress controller Version=1.12.1 GitCommit=6f72db6030daa9afd567fd7faf9d5fffac9c7c8f Date=2021-09-08T13:39:53Z PlusFlag=false
W0910 23:15:20.770569 1 main.go:310] The '-use-ingress-class-only' flag will be deprecated and has no effect on versions of kubernetes >= 1.18.0. Processing ONLY resources that have the 'ingressClassName' field in Ingress equal to the class.
F0910 23:15:20.774788 1 main.go:314] …Run Code Online (Sandbox Code Playgroud) 我正在替换 Kubernetes 秘密,我想确保捕获集群中使用它的所有位置。
有没有一种方法可以在不阅读所有使用 K8s 或 helm 的部署 YAML 的情况下进行判断?
我们在同一个集群上部署了多个服务并共享秘密。有些使用 Helm,有些则不使用。
当 Pod 因磁盘问题被 Evicted 时,我发现有两个原因:
[DiskPressure]我找到了的节点条件DiskPressure。
有什么不同?
我们部署了多个资源作为 helm (v3) 图表的一部分。前段时间,我通过 手动更改了该 Helm Chart 部署的资源kubectl。这导致 helm 版本部署的 yaml 资源中的值(如 所示helm get values <release>)与集群中实际部署的值之间存在一些偏差
示例:kubectl describe deployment <deployment>显示通过 手动应用的更新图像kubectl re-apply。而helm show values <release>显示了 helm 用于所述部署的原始图像。
我意识到我应该使用helm upgrade修改后的 value.yaml 文件执行 a 来执行图像更改,但我想知道是否有一种方法可以将我手动更新的值的状态与 helm 版本中的值同步。目标是创建一个values.yaml反映集群资源当前状态的新默认值。
谢谢!
我正在尝试执行以下操作,因此主机中的 MYVALUE 需要更改为包含版本名称。无法弄清楚如何执行此操作,因为您无法像{{ .Release.Name }}直接在values.yaml 文件中使用环境变量一样。
我确实为 mysql pod 做了 afullnameOverride和 put ,fullnameOverride: myrelease-mysql然后 jasper 可以host: myrelease-mysql工作,但想知道是否有一种聪明的方法可以将发布名称放入 value.yaml 文件中。
我假设我需要使用 configMap,因为可以.Release.Name在那里使用,然后将该配置键嵌入到 value.yaml 中。
值.yaml
jasperreports:
mariadb:
enabled: false
externalDatabase:
host: MYVALUE // Also tried $MVALUE
user: sqluser
database: jasper
jasperreportsUsername: jasper
env:
- name: MYVALUE
valueFrom:
configMapKeyRef:
name: mysql-jasper
key: mysql_releasename
Run Code Online (Sandbox Code Playgroud)
配置映射表
kind: ConfigMap
metadata:
name: mysql-jasper
data:
mysql_releasename: {{ .Release.Name }}-"mysql"
Run Code Online (Sandbox Code Playgroud) kubernetes ×9
ansible ×1
ansible-awx ×1
configmap ×1
kubectl ×1
networking ×1
nginx ×1
pgadmin ×1
postgresql ×1
python ×1
spring-boot ×1