小编pot*_*ato的帖子

如何查看新的 Helm Chart 版本中发生了什么变化

我想看看与之前的版本相比,对 helm 图表所做的更改 - 运行时helm list我看到有 xx 修订 - 有什么方法可以看到差异吗?我知道回滚helm rollback <RELEASE> 0,但只是想知道发生了什么变化

kubernetes kubernetes-helm

13
推荐指数
1
解决办法
3万
查看次数

kubectl 获取 pod 最后重启时间

作为准备,我会告诉你我所知道的

当我运行时,我将在重新启动之前获取最后 20 行日志以及发生时的时间戳,但我希望在作为附加列kubectl logs --previous <pod_name>运行时显示该时间戳。kubectl get pods

关于如何创建自定义列的 kube 文档表明

kubectl get pods <my_pod_name -o custom-columns=NAME:.metadata.name,RSRC:.metadata.resourceVersion
NAME           RSRC
submit-queue   610995
Run Code Online (Sandbox Code Playgroud)

但我的问题是这个元数据/规范存储在哪里???我在哪里可以列出所有可能的元数据,以便我知道要搜索或写入哪一列,对于规范和任何其他可能的列也是如此

我知道我可以使用 来查看 pod kubectl describe pod <pod>,但是如何将其中的字段转换为这种.metadata.name格式?

我的描述的一部分看起来像这样

MacBook-Pro% kubectl describe pod xxx
Name:         xxx
Namespace:    xx
Priority:     0
Node:         myname/myip
Start Time:   Tue, 23 Feb 2021 11:37:01 +0100
Labels:       app=xx
              app.kubernetes.io/instance=xx
              app.kubernetes.io/managed-by=Helm
              app.kubernetes.io/name=xx
              env=xx
              helm.sh/chart=xx
              pod-template-hash=yy
Annotations:  kubectl.kubernetes.io/restartedAt: 2020-10-23T11:21:09+02:00
Status:       Running
IP:           10.xx
IPs:
  IP:           10.xx
Controlled By:  ReplicaSet/xxx
Containers: …
Run Code Online (Sandbox Code Playgroud)

kubernetes kubernetes-helm

11
推荐指数
1
解决办法
2万
查看次数

Terragrunt 导入通过 for_each 循环创建的资源

我正在使用 for_each 循环创建 GCP 存储桶,并希望将现有存储桶导入我的 terraform 状态

An execution plan has been generated and is shown below.
Resource actions are indicated with the following symbols:
  + create

Terraform will perform the following actions:

  # google_storage_bucket.buckets["a-test-test-test"] will be created
  + resource "google_storage_bucket" "buckets" {
      + bucket_policy_only          = (known after apply)
      + force_destroy               = false
      + id                          = (known after apply)
      + location                    = "US"
      + name                        = "a-test-test-test"
      + project                     = "xxx"
      + self_link                   = (known after apply)
      + storage_class               = …
Run Code Online (Sandbox Code Playgroud)

google-cloud-platform terraform terragrunt

6
推荐指数
1
解决办法
6096
查看次数

Terragrunt 从特定分支下载模块

我最近开始使用 terragrunt 并且一直想知道是否可以从特定分支而不是特定标签(或除了标签)而不是默认的 master 下载模块

从master下载特定标签:

terraform {
  source = "git@github.com:<repo>/infrastructure-modules.git//gcp/bucket?ref=v.0.0.1"
}
Run Code Online (Sandbox Code Playgroud)

从存储库下载特定分支?

# Pseudo code
terraform {
  source = "git@github.com:<repo>/infrastructure-modules.git//gcp/bucket?ref=v.0.0.1%branch=test"
}
Run Code Online (Sandbox Code Playgroud)

git terraform terragrunt

5
推荐指数
2
解决办法
8150
查看次数

GCP GKE 集群节点抛出 {"unmanaged": {"fs.aio-nr": "2272", "net.ipv4.tcp_fastopen_key"

我最近安装在 GKE Botkube 上,它开始显示错误在此处输入图片说明 有没有人知道如何解决这个问题或者这意味着什么?我已经在维基百科上阅读了 fastopen 如何帮助在第二次重新尝试跳过 3 路同步确认时更快地使客户端-服务器连接更快,但是这个错误意味着什么?

linux tcp google-kubernetes-engine

5
推荐指数
1
解决办法
664
查看次数

Kubectl 创建多行秘密

我正在尝试将服务帐户放入秘密中 - 一年前我这样做过,它可以工作,但现在 - 无论我如何处理它,应用程序都看不到它,并说存在Input byte array has incorrect ending byte- 创建正常秘密时我知道你必须换一条新线所以

echo -n "secret" | base64
Run Code Online (Sandbox Code Playgroud)

并将该值秘密保存并应用,但我的多行文件

cat secret.json
{
  "type": "service_account",
  "project_id": "smth-smth",
  "private_key_id": "blabla"
...
}
Run Code Online (Sandbox Code Playgroud)

无论我如何处理 - 无论是像第一个示例中那样手动放置,还是用

cat secret.json | base64

# or 

base64 < secret.json
Run Code Online (Sandbox Code Playgroud)

秘密已创建,但应用程序抛出

Constructor threw exception; nested exception is java.lang.IllegalArgumentException: Input byte array has incorrect ending byte at 3104
Run Code Online (Sandbox Code Playgroud)

当我将新密钥与服务帐户的最后一个密钥进行比较时,差异在于输出的样子

工作原理是这样的 - 当我尝试解密 Base64 时

echo -n "<long string of base64 encrypred sa> | base64 -D
    { "type": "service_account", …
Run Code Online (Sandbox Code Playgroud)

kubernetes google-kubernetes-engine kubectl kubernetes-helm

4
推荐指数
1
解决办法
7083
查看次数

kubernetes NodePort 与 ClusterIP 与 Nginx-Ingress

我已经有了自己的微服务,到目前为止,我已经通过 https 将服务以及 helm 图表公开type: NodePortnginx-ingress我自己的公共 IP;我注意到在我的微服务 helm 图表上运行 linter 时,它不安全(使用 NodePort),我应该使用 ClusterIP - 有人可以解释为什么吗?

kubernetes

3
推荐指数
1
解决办法
1420
查看次数

如何轻松复制舵图

使用 helm3 图表在 kubernetes 上查看 10 个微服务,发现它们都具有相似的结构标准、部署、服务、hpa、网络策略等,并且基本上<helm_chart_name>/templates所有目录都 99% 相同,并且if在文件顶部有一些声明,无论我们是否想要部署该资源,

{{ if .Values.hpa.create }}
apiVersion: autoscaling/v1
kind: HorizontalPodAutoscaler
metadata:
  name: {{ .Values.deployment.name }}
...
spec:
  scaleTargetRef:
...
{{ end }}
Run Code Online (Sandbox Code Playgroud)

并在值中传递是/否,无论我们是否想要它 - 是否有一些工具可以轻松地为舵图创建模板?要使用这 5 个清单创建 Helm 图表,该清单预先填充了对上述值的引用?

kubernetes kubernetes-helm

3
推荐指数
1
解决办法
2605
查看次数

有terraform的测试环境吗?

想知道是否有一些 terraform 测试网站,这些网站并不是真正测试 terraform 资源的输出,而是测试一些变量,例如给定的:一些输入

x = [
    {
      name = first
      condition = {
        age = "1"
      }
      action = {
        type = "Delete"
      }
    },{
      name: second
      condition = {
        age = "2"
      }
      action = {
        type = "Delete"
      }
   }
]
Run Code Online (Sandbox Code Playgroud)

想要测试如何在在线实时运行时获取第二个变量

类似于 regex.101.com

terraform

1
推荐指数
1
解决办法
3638
查看次数

Kubernetes 修改注解强制更新部署

嘿,我有一个更广泛的问题,因为当我在 kubernetes 中更新秘密时,它们不会在 pod 中实现,除非它们是 ugprades/reschedules 或只是重新部署;我看到了另一篇关于它的 stackoverflow 帖子,但没有一个解决方案适合我更新 kubernetes 的秘密不会更新正在运行的容器环境变量

同样如此,pod 上的 python 脚本的应用程序内解决方案可以自动更新其秘密https://medium.com/analytics-vidhya/updating-secrets-from-a-kubernetes-pod-f3c7df51770d但它似乎是一个远景和我想出了向部署清单添加注释的解决方案 - 并希望每次舵图将新的时间戳放入其中时,它都会重新安排 Pod - 它确实放置了它,但它没有重新安排 - 任何想法如何强制这种行为?

apiVersion: apps/v1
kind: Deployment
metadata:
  name: xxx
  namespace: xxx
  labels: xxx
  annotations:
    lastUpdate: {{ now }}
Run Code Online (Sandbox Code Playgroud)

我也不想将这个补丁命令添加到 ci/cd 部署中,因为它的仲裁和 - 感觉不是正确的解决方案

kubectl patch deployment mydeployment -p '{"spec":{"template":{"spec":{"containers":[{"name":"mycontainer","env":[{"name":"RESTART_","value":"'$(date +%s)'"}]}]}}}}'
Run Code Online (Sandbox Code Playgroud)

没有其他人找到更好的解决方案来在已更改的机密上重新部署 pod 吗?

jenkins kubernetes kubernetes-helm

1
推荐指数
1
解决办法
1382
查看次数

如何将现有的 GCP 云基础设施导出到 terraform 代码

搜索后,我发现我可以使用Terraforming Tool来将 AWS 云基础设施导出为 terraform 代码。

如何将我现有的 Google 云基础设施导出到 terraform?GCP 是否有任何类似或本机工具?

google-cloud-platform terraform

0
推荐指数
1
解决办法
2856
查看次数