小编Rad*_*ad4的帖子

kubectl 端口转发和 NodePort 服务之间的区别

kubectl port-forwarding(将端口从本地主机转发到集群中的 pod 以获取对集群资源的访问权限)和 NodePort 服务类型之间有什么区别?

portforwarding kubernetes microservices kubernetes-nodeport

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

在 for 循环 bash 中使用 yq

我有一个如下所示的 yaml 数组,

identitymappings:
- arn: "arn:aws:iam::12345567:role/AdmRole"
  group: "system:masters"
  user: "user1"
- arn: "arn:aws:iam::12345567:role/TestRole"
  group: "system:masters"
  user: "user2"
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用 for 循环和 yq 在 bash 脚本中解析此 yaml。

 for identityMapping in $(yq read test.yaml "identitymappings[*]"); do
      roleArn=$identityMapping["arn"]
      group=$identityMapping.group
      user=$identityMapping.user
done
Run Code Online (Sandbox Code Playgroud)

但我没有得到预期的结果,例如无法获取 roleArn、group、user 的值。请让我知道如何解决这个问题。

bash yq

10
推荐指数
3
解决办法
2万
查看次数

docker run 命令中的用户 ID 和组 ID

什么时候需要添加-u $(id -u):$(id -g)docker run 命令?

我看到它是用户 id 和组 ip 映射,但我想更好地理解这一点。

docker

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

Helm 中 fullnameOverride 和 nameOverride 有什么区别?

我可以在 Helm 图表中找到 fullnameOverride 和 nameOverride。请通过示例帮助澄清这两者之间的区别。

kubernetes-helm

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

docker executor 与 docker dind 镜像

我是 gitlabci 的新手。我想了解为什么我们需要 docker dind 镜像才能在 GitLab CI 作业中构建 docker 镜像。为什么我们不能使用docker执行器,在脚本下运行docker命令呢?

当我们注册 docker executor gitlab runner 时,我们选择一个镜像。再次在 gitlabci 中,我们在image:services:字段下选择一个镜像。那么这是否意味着这个 GitLab CI 作业容器在 docker 执行器容器内运行?

gitlab-ci

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

Helm 不合并一系列秘密

我正在尝试合并具有秘密数组的多个值文件。但是合并不起作用,而是最后一个值文件覆盖。这是我的秘密模板

---
{{- range  .Values.secrets }}
---
apiVersion: v1
kind: Secret
metadata:
   name: {{ required "a valid name is required" .name }}
   namespace: ""
type: Opaque
data:
   {{- range $key, $val := .data }}
     # fix printing the key name in the required string
     {{ $key }}: {{ required "a valid key is required" $val }}
   {{- end }}
{{- end }}
Run Code Online (Sandbox Code Playgroud)

value1.yaml:

secrets:
- name: "sample"
 data:
   test: "YXBpa2V5MQo="
Run Code Online (Sandbox Code Playgroud)

value2.yaml:

- name: "sample2"
 data:
   test: "YXBpa2V5MQo="

helm template secrets-template …
Run Code Online (Sandbox Code Playgroud)

kubernetes-helm

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

如何在服务监视器中设置标签以使其出现在 Prometheus 指标中?

我想在服务监视器中像键值映射一样设置 targetLabels,以便它出现在 Prometheus 指标中。我尝试在服务监视器中重新标记,但没有用。

apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
  name: example-application
  labels:
    team: backend-team
spec:
  selector:
    matchLabels:
      app: example-application
  endpoints:
  - port: backend
    relabelings:
    - sourceLabels: [__name__]
      regex: (.*)
      targetLabel: teamname
      replacement: "backend-team"
      action: replace
Run Code Online (Sandbox Code Playgroud)

我还发现有 targetLabels。但不知道如何使用它。TargetLabels 将 Kubernetes Service 上的标签传输到目标上。

我还读到服务监视器中可能有白名单标签。请让我知道如何执行此操作以及哪种方法是正确的选项..

prometheus-operator

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

如何在OpenAPI(Swagger)中参数化API基本路径?

我有这样的网址:

/id/{idnumber}/status
Run Code Online (Sandbox Code Playgroud)

在此URL中,/id/{idnumber}是API基本路径,/status也是资源。


我知道OpenAPI(Swagger)允许在路径中添加参数,如下所示:

/id/{idnumber}/status
Run Code Online (Sandbox Code Playgroud)

但这不是我所需要的,因为/id/{idnumber}它是基本路径,而不是重新分配路径的一部分。

有什么办法可以在基本路径中有参数吗?

paths:
  /id/{number}/status:
Run Code Online (Sandbox Code Playgroud)

swagger openapi

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

eip 分配 ID 的 Terraform 输出

我有一个简单的 terraform 代码来创建 eip。这工作正常。

resource "aws_eip" "envoy" {
  count = length(var.subnet_cidr_public)
  vpc   = true
    tags  = "${merge(map("Name","envoyadmin-${count.index}"),var.tags)}"
}

output "envoy_eip" {
  description = "Elastic ip address for Envoy nlb services"
  value       = aws_eip.envoy.*.allocation_id
}
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是 terraform 输出。尽管 eip 是在 AWS 帐户中创建的,allocation_ids 在 terraform 输出中显示为 null。这可能是什么问题以及如何解决它?

terraform output
envoy_eip = [
  null,
  null,
  null,
]
Run Code Online (Sandbox Code Playgroud)

amazon-web-services terraform

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

提取jms文本内容

我只想从jms消息中提取没有标题和属性的jms消息文本。要提取的JMS头:msg.getJMSCorrelationID(); 提取JMS属性:jmsMessage.getPropertyNames() 但是如何仅从消息中获取文本值?在下面的示例消息中,我只想提取“ hello queue ”。是否有Java函数可以执行此操作? jms消息样本

java jms message-queue

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

如何使用ansible连接到Kubernetes?

我想使用 Ansible 连接到 Kubernetes。我想运行一些 ansible playbook 来使用 ansible k8s 模块创建 Kubernetes 对象,例如角色和角色绑定。我想知道 Ansible K8s 模块是否是标准的 Kubernetes 客户端,可以像 helm 和 kubectl 一样使用 Kubeconfig。

请让我知道如何配置 Kubeconfig 以便 ansible 连接到 K8s 集群。

ansible kubernetes

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