问题标签 [sidecar]

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.

0 投票
0 回答
71 浏览

macos - MacOS:连接特定 Sidecar 设备的终端命令是什么?

  • 场景:我有一台与 Sidecar 兼容的 iMac Pro 和 iPad Pro。我通过电缆保持两个设备连接。

  • 愿望/问题:当我启动或解锁 iMac 时,我想自动化这两个设备之间的 Sidecar 连接。(换句话说,我希望 iPad Pro 通过 Sidecar 作为辅助显示器启动,而无需通过系统偏好设置面板手动进行。)

  • 问题:有人知道执行此操作的终端命令(或 Applescript)吗?

先感谢您。

0 投票
2 回答
588 浏览

kubernetes - GKE:将文件日志从 docker 容器发送到 Google Cloud Logging

我正在尝试在 GKE 上的应用程序 pod 中捕获一些基于文件的日志,并从 Google Cloud Logging 中查看它们。

由于各种原因,这些应用程序日志不会发送到 STDOUT 或 STDERR(因为这些日志会自动发送到 Cloud Logging)。有人建议我实施一个脚本解决方案,跟踪日志并将它们发送到 STDOUT。但是,我希望采用 Fluentd(或 Fluentbit)日志记录代理的侧车方法,该代理将跟踪日志并将它们输出到 Cloud Logging。

使用 sidecar image "k8s.gcr.io/fluentd-gcp:1.30",我尝试了下面的 YAML 文件(包含 fluentd configmap 和部署):

最初,sidecar 日志抛出 403 错误,因为我没有为服务帐户提供必要的权限(我使用的是 GKE 工作负载身份,并且相应的 GCP IAM 服务帐户需要添加 logWriter 权限)。修复错误后,我得到以下日志:

尽管消息成功,但我在 Cloud Logging 端看不到任何内容。

所以,这是我的问题:

  1. 这对我的用例有更好的解决方案吗?
  2. 是我应该使用的边车图像吗?我找不到任何其他流利的图像,而我使用的是 3 岁的图像。我更喜欢使用 Google 推荐的东西,而不是自己创建。
  3. 我还需要做什么才能查看 Cloud Logging 上的日志?我该如何进一步调试?

谢谢!

0 投票
1 回答
63 浏览

performance - 如何解读 Dapr Sidecar 性能测试?

如果我理解正确,Dapr 文档说单个边车在指定条件下使用 0.48 vCPU。

这是否意味着如果像 Netflix 或 Uber 这样的大型应用程序(使用超过一千个微服务)要使用 Dapr,那么它需要超过 480 个 vCPU?好吓人。

我哪里错了?

0 投票
0 回答
49 浏览

jenkins - Jenkins sidecar 方法 - 在主容器内运行多个容器

我试图从这里复制 Jenkins 中的边车方法:https ://www.jenkins.io/doc/book/pipeline/docker/#running-sidecar-containers但我试图在里面运行多个容器。我的代码看起来像这样:

然后,我试图通过设置 docker.sock 来列出通过 python 容器在 VM 中运行的所有容器,但是“docker ps -a”命令输出仅显示两个容器已启动并正在运行,并且没有关于redis 映像(甚至不在退出状态)但从 Jenkins 日志中我可以看到 redis 映像正在被拉取。我无法得到我在这里缺少的东西以及为什么 redis 容器没有在 'docker ps -a' 命令中列出。任何帮助和建议都会非常有帮助

0 投票
1 回答
567 浏览

kubernetes - 带有边车日志容器的 Cronjob 没有退出代码

Cronjob 需要退出代码才能使作业成功或失败,但以 sidecar 容器为例,日志容器继续运行并且没有退出代码,即使主容器的作业也可能成功运行,最终状态仍然失败。有什么办法可以缓解这个问题?!谢谢

0 投票
0 回答
290 浏览

.net - Dapr .Net SDK 的 InvokeMethodGrpcAsync() gRPC 调用问题

我在 Dapr 中启动了一个具有 gRPC 服务的应用程序。使用 id MyGrpcApi001 启动 Dapr。HTTP 端口:55319。gRPC 端口:55320

我已经使用以下命令启动它:

dapr run --app-id MyGrpcApi001 --app-protocol grpc --app-port 5000 -- dotnet run

原型:

我有一个客户端,它有 2 种使用 gRPC 连接到服务的方法

  • 直接通过自动生成的客户端调用服务
  • 另一个通过 dapr sidecar gRPC 端口

第二种方法似乎不起作用,所以直接调用有效,但是sidecar似乎没有找到服务。以下是两者的日志:

正在运行的服务的日志:

第一种方法OK:

第二种方法错误:

第二个似乎有错误的 URL,其中包括/dapr.proto.runtime. ...

我在这里做错了什么?dapr run 命令是错误的,还是 InvokeMethodGrpcAsync 方法的参数错误?

由于我可以直接通过自动生成的客户端运行该方法,我认为服务器工作正常,是 dapr 没有找到服务和/或方法。

有任何想法吗?

谢谢!

0 投票
1 回答
57 浏览

kubernetes - k8s sidecar收集的日志会不会丢失?

我使用k8s的sidecar方式来收集日志。如果我使用emptydiry挂载,当pod移动到另一个节点时,未收集的日志会丢失吗?

0 投票
2 回答
1391 浏览

kubernetes - Kubernetes Pod 与 OpenVPN 客户端 sidecar 一起运行,并通过隧道和集群拥有功能性 DNS

我尝试构建一个运行需要的服务的 Pod:

  1. 由其 FQDN ( *.cluster.local) 解析和访问的集群内部服务,
  2. 同时还具有与远程集群的活动 OpenVPN 连接,并且来自该远程集群的服务将由其 FQDN ( *.cluster.remote) 解析和访问。

Pod 中没有 OpenVPN sidecar 的服务容器可以访问所有使用*.cluster.local命名空间提供 FQDN 的服务。这是/etc/resolv.conf在这种情况下:

当 OpenVPN sidecar 管理时resolv.conf

OpenVPN sidecar 的启动方式如下:

OpenVPN 客户端配置包含以下几行:

然后 OpenVPN 客户端将覆盖resolv.conf,使其包含以下内容:

在这种情况下,*.cluster.remote解析中的任何服务,但没有来自 的服务*.cluster.local。这是意料之中的。

当 OpenVPN sidecar 不管理resolv.conf,但spec.dnsConfig提供时

从 OpenVPN 客户端配置中删除以下行:

提供spec.dnsConfig如下:

然后,resolv.conf将是以下内容:

这适用于*.cluster.remote,但不适用于任何东西*.cluster.local,因为只要第一个超时,就会尝试第二个名称服务器。我注意到有些人会通过设置命名空间轮换和超时 1 秒来绕过这个限制,但是这种行为对我来说看起来很忙,我不会考虑这个,甚至不是一种解决方法。或者,也许我错过了一些东西。我的第一个问题是:在这种情况下轮换和超时可以工作吗?

我的第二个问题是:有什么方法可以使*.cluster.local*.cluster.remoteDNS 解析从 Pod 内的服务容器可靠地工作,无需使用类似的东西dnsmasq

我的第三个问题是:如果dnsmasq需要,我如何配置、提供和覆盖它,resolv.conf同时确保 Kubernetes 提供的名称服务器可以是任何东西(169.254.25.10在这种情况下)。

最好的,佐尔坦

0 投票
0 回答
63 浏览

kubernetes - How to configure sidecar container with the Cloud SQL Auth Proxy in SCDF

I have a Spring cloud data flow task that needs to be connected to Cloud SQL.

I understand, SCDF should configure sidecar container with the Cloud SQL Auth Proxy using below command.

deployer.sbs-http-reader-task.kubernetes.additionalContainers=[{name: 'sql-proxy-name', image: 'gcr.io/cloudsql-docker/gce-proxy:1.17', command: ['/cloud_sql_proxy','- instances=projectid:zoneid:sqlinstance=tcp:5432']}]

but neither I see any additional container created in the pod nor any reason for failure in the logs.

Please help me how can I configure the same.

0 投票
0 回答
77 浏览

kubernetes - k8s作业中的Sidecar redis实例

我的用例:

  1. 在 kubernetes 中运行一堆我自己的处理Job
  2. 想要在处理的生命周期内关联一个短暂的redis缓存Job
  3. Job我的处理完成时应该完成,并且redis应该消失

我不知道如何做到这一点,尽管我觉得我不能成为第一个需要这个的人。

如果我将redis作为第二个容器添加到作业中spec,那么我的处理完成但redis继续进行,并且Job永远不会完成。

我可以尝试将redis我的处理添加到容器中,首先将其作为守护程序运行,然后运行我自己的代码,但这对我来说感觉不对。

我读过关于边车模式和其他一些人在寻找我需要的东西,但我没有看到任何明确的解决方案。我看到在我看来像共享卷和 livenessProbes 的黑客。

这如何最好地完成?