小编Mic*_*las的帖子

如何使用Mesos和Marathon在Azure容器服务中安全地共享私有docker repo登录凭据

我使用DC/OS + Marathon设置Azure容器服务来部署Docker容器.到目前为止看起来不错,我可以使用SSH隧道连接到主节点并访问Mesos和Marathon WebUI以及点击REST API.

接下来,我试图从我的私人docker存储库部署一个docker容器,我在Marathon网站上找到了以下文章.

https://mesosphere.github.io/marathon/docs/native-docker-private-registry.html

请参阅以上网址的"注意"部分 -

注意:所有可能启动应用程序的节点都必须可以访问URI.方法可以包括将文件分发到所有节点的本地文件系统,例如通过RSYNC/SCP,或者将其存储在共享网络驱动器上,例如Amazon S3.值得考虑所选方法的安全含义.

Azure为在所有节点上共享docker.tar.gz文件提供了哪些选项?

谢谢

azure marathon docker mesos dcos

6
推荐指数
2
解决办法
678
查看次数

Kubernetes掌握高可用性或复制配置

大家好我们正在寻找实用且经过测试的指南或参考kubernetes主高可用性或主节点故障转移的其他解决方案.

replication high-availability failovercluster kubernetes

5
推荐指数
0
解决办法
4402
查看次数

Mesos 上的 Apache Spark:初始作业未接受任何资源

我正在使用 Apache Mesos 在集群模式下运行 Apache Spark。但是,当我启动 Spark-Shell 运行简单的测试命令 (sc.parallelize(0 to 10, 8).count) 时,我收到以下警告消息:

10 年 3 月 16 日 11:50:55 警告 TaskSchedulerImpl:初始作业尚未接受任何资源;检查集群 UI 以确保工作线程已注册并拥有足够的资源

如果我检查 Mesos WebUI,我可以看到 Spark-Shell 被列为一个框架,并且我列出了一个从机(我自己的机器)。有什么帮助如何解决它吗?

mesos apache-spark mesosphere apache-spark-sql

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

如何调试 gRPC-Go 服务?

使用gRPC-Go无疑是构建弹性、高性能和可扩展分布式系统的好方法。我不太明白的是如何实际调试用它编写的服务。另外,HTTP/2 是唯一受支持的有线协议吗?

debugging go http2 grpc grpc-go

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

Kubernetes livenessProbe:重新启动与销毁 Pod

如果活性探测失败,有没有办法告诉 Kubernetes 只销毁一个 pod 并创建一个新的 pod?我现在从日志中看到:我的 node js 应用程序刚刚重新启动并在同一个 pod 中运行。

活性探针在我的 YAML 规范中定义如下:

livenessProbe:
 httpGet:
 path: /app/check/status
 port: 3000
 httpHeaders:
 - name: Accept
   value: application/x-www-form-urlencoded
 initialDelaySeconds: 60
 periodSeconds: 60
Run Code Online (Sandbox Code Playgroud)

免责声明:

我完全意识到,如果活性证明失败,则重新创建一个 Pod 可能不是最好的主意,正确的方法是收到有关正在发生的事情的通知。

kubernetes kubectl

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

Kubernetes入口规则:如何同时使用通配符和特定子域

我希望Ingress将特定子域重定向到一个后端,将所有其他子域重定向到另一后端。基本上,我想定义如下规则:

如果是子域,foo.bar.com则转到s1,对于所有其他子域,请转到s2

当我按照Ingress规范中的定义定义规则时,在部署时会遇到此异常:

Error: UPGRADE FAILED: cannot re-use a name that is still in use
Run Code Online (Sandbox Code Playgroud)

但是,当我更改*.bar.comdemo.bar.com它时,它会起作用。

这是我的Ingress资源规范:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: test
spec:
  rules:
  - host: foo.bar.com
    http:
      paths:
      - backend:
          serviceName: s1
          servicePort: 80
  - host: *.bar.com
    http:
      paths:
      - backend:
          serviceName: s2
          servicePort: 80
Run Code Online (Sandbox Code Playgroud)

任何人都知道是否可能吗?

kubernetes traefik kubernetes-ingress traefik-ingress

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

使用 prometheus 监控 pod 终止时间

我正在寻找一个普罗米修斯指标,它可以让我监控吊舱在terminating消失之前在该状态中花费的时间。

我尝试过尝试,kube_pod_container_status_terminated但它似乎只在 pod 完成终止过程后才注册,但不能帮助我了解终止 pod 需要多长时间。
我也看过kube_pod_status_phase我不久前在这个频道中发现的内容,但它似乎也缺乏这种洞察力。

我目前正在使用 cAdvisor、kube-state-metrics 和 prometheus node-exporter 收集 k8s 工作负载的指标,但如果它们包含所需的数据,我很乐意考虑其他收集器。
非普罗米修斯的解决方案也很棒。
有任何想法吗?谢谢!

kubernetes prometheus

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

通过 API 网关使用表单数据将图像发布到 Lambda 函数会导致文件无效

我有一个用 Go 编写Lambda 函数,它应该允许通过 HTML 表单/ JavaScript和 API 网关集成将图像文件上传到 S3 存储桶中,所有这些都在SAM 模板中定义。

以下是 Lambda 函数执行日志的示例:

在此处输入图片说明

现在的问题是,对于任何 JPEG 或 PNG 文件,我都会得到损坏的结果:

  • 生成的图像的文件大小(解析multipart媒体消息后得到的)大于原始文件大小,例如:8kB(原始)到 12kB(S3 存储桶)。
  • 当我将原始 PNG 或 JPEG 文件与 S3 存储桶中的结果文件进行比较时,hexdump它们看起来几乎相同(也就是说:我怀疑是否涉及 base64 编码问题)。
  • 有趣的是,对于text/plain媒体类型,此设置有效。

我试图找出问题出在哪里,目前我的预感是 API 网关配置中有一些我遗漏的东西。FWIW,我试过这个,但没有明显的行为变化:

$ aws apigateway update-integration-response \
                 --rest-api-id XXX --resource-id XXX \
                 --http-method POST --status-code 200 \
                 --patch-operations op='replace',path='/contentHandling',value='CONVERT_TO_BINARY'`
Run Code Online (Sandbox Code Playgroud)

multipartform-data go aws-lambda aws-api-gateway aws-sam

5
推荐指数
0
解决办法
1059
查看次数

访问DC/OS服务的公共地址

我使用以下配置在DC/OS上部署了服务

在此输入图像描述

当我访问此地址(http://eureka.marathon.l4lb.thisdcos.directory:8761/)时,它表示无法访问该站点,尽管我的仪表板上的所有服务都是健康的.
如何访问服务的公共IP?

我不知道它是否相关,但当我查看我的公共奴隶的负载均衡配置时,我得到了 0 of 2 instances in service

marathon dcos

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

如何使用 mesos DCOS 和 marathon 创建持久卷

使用以下命令时:

$ dcos marathon app add example.json
Run Code Online (Sandbox Code Playgroud)

我收到输出Error: Object is not valid

示例.json

{
"id": "es-cluster",
"env": {
    "MARATHON_URL": "http://127.0.0.1:8080",
    "APP_ID": "es-cluster",
    "ELASTICSEARCH_CLUSTER_NAME": "CLUSTERNAME"
},
"container": {
    "type": "DOCKER",
    "volumes": [
      {
            "containerPath": "data",
            "mode": "RW",
            "persistent": {
                "size": 1000
            }
      }
    ],
    "docker": {
        "image": "some/dockerImage",
        "network": "BRIDGE",
        "portMappings": [{
            "containerPort": 9200
        }, {
            "containerPort": 9300
        }]
    }
},
"cpus": 0.5,
"mem": 1024,
"instances": 2
}
Run Code Online (Sandbox Code Playgroud)

如果我删除卷块(或将其保留为空),它就可以正常工作。

还可以直接使用 Marathon 的音量块来运行它,效果非常好。

如何使用 DCOS 创建具有持久卷的应用程序?

volume persistent dcos

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

如何在 Go 中访问 Kubernetes API 并运行 kubectl 命令

我想在 Go to runkubectl命令中访问我的 Kubernetes 集群 API,以获取我在 google 云上运行的 k8s 集群中的可用命名空间。

我的唯一目的是通过运行kubectl命令在我的集群中获得可用的命名空间:如果有其他选择,请告诉我。

kubernetes google-kubernetes-engine kubectl

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