小编gun*_*nit的帖子


我应该为Flask,uWSGI和nginx设置单独的容器吗?

我打算使用Kubernetes和Ingress进行负载平衡.我正在尝试学习如何设置Flask,uWSGI和Nginx.我看到这个教程将所有三个安装在同一个容器中,我想知道是否应该使用它. https://ianlondon.github.io/blog/deploy-flask-docker-nginx/

我猜测将它们作为单独的容器和单独的容器的好处是它们可以单独扩展吗?

但是,Flask和uwsgi是否应该分开放在容器中?(或Flask和Gunicorn,因为uwsgi似乎与Gunicorn非常相似)

python nginx flask docker kubernetes

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

Google Compute Engine上的1个vCPU是否基本上是1个物理CPU内核的一半?

Google的计算机类型页面指出:

对于n1系列机器类型,虚拟CPU在2.6 GHz Intel Xeon E5(Sandy Bridge),2.5 GHz Intel Xeon E5 v2(Ivy Bridge)等上实现为单个硬件超线程。

假设具有超线程的单个物理CPU内核在操作系统中显示为两个逻辑CPU,则如果将n1-standard-2机器描述为2个虚拟CPU和7.5 GB内存,则这实质上意味着1个CPU内核, 对?

因此,如果我要针对推荐2个CPU内核的InfluxDB实例遵循硬件建议,那么我应该针对具有4vCPU的Google Compute Engine计算机,对吗?

multithreading cpu-usage google-compute-engine google-cloud-platform vcpu

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

在Jenkins从属节点上运行的Jenkinsfile中执行docker build命令的最简单方法是什么?

我希望Jenkins文件做的基本示例:

node {
   sh 'docker build -t foo/bar .'
}
Run Code Online (Sandbox Code Playgroud)

好像我需要将docker安装到正在执行我的Jenkinsfile的Jenkins从属映像上.有这么简单的方法吗?(Jenkins奴隶图像本身就是一个docker容器)

我的假设是否正确?

  1. 当使用Jenkins主/从服务器运行时,Jenkins文件由Jenkins从服务器执行
  2. 通过Manage Plugins部分安装的Jenkins插件(例如Docker插件或Gcloud SDK插件)仅安装在Jenkins主机上,因此我需要手动构建我的Jenkins slave docker镜像并在映像上安装docker?

因为我还需要访问'gcloud'命令(我通过Kubernetes Helm/Charts运行Jenkins),我一直在使用gcr.io/cloud-solutions-images/jenkins-k8s-slave我的Jenkins奴隶的图像.

目前它错误地说"码头:没找到"

jenkins docker kubernetes jenkins-pipeline

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

如何将多个服务映射到一个 Kubernetes Ingress 路径?

如何设置 Kubernetes Ingress 和控制器以基本上执行以下 nginx.conf 文件的操作:

upstream backend {
    server server1.example.com       weight=5;
    server server2.example.com:8080;

    server backup1.example.com:8080   backup;
}
Run Code Online (Sandbox Code Playgroud)

我希望一个 http 端点映射到多个 Kubernetes 服务,优先选择主服务,但也有一个备份服务。(对于我的特定项目,我需要拥有多个服务,而不是一个服务具有多个 pod。)

这是我尝试的 ingress.yaml 文件。我非常确定我列出多个后端的方式是不正确的。我该怎么做呢?如何设置“备份”标志?

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: fanout-ingress
  annotations:
    ingress.kubernetes.io/rewrite-target: /
    kubernetes.io/ingress.class: "nginx"
    # kubernetes.io/ingress.global-static-ip-name: "kubernetes-ingress"
spec:
  rules:
  - http:
      paths:
      - path: /
        backend:
          serviceName: server1
          servicePort: 
      - path: /
        backend:
          serviceName: server2
          servicePort: 8080
      - path: /
        backend:
          serviceName: backup1
          servicePort: 8080
Run Code Online (Sandbox Code Playgroud)

我在 GKE 上运行 Kubernetes。

load-balancing nginx google-cloud-platform kubernetes

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

打印到终端会导致 OOM(内存不足)吗?

  1. 打印到终端如何影响内存使用?它会一直消耗内存直到 OOM 吗?
  2. 那么在 docker 容器中呢?
  3. 操作系统如何处理打印到终端的内存?
  4. 操作系统是否会在某个时刻刷新终端?

terminal printf

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

物联网数据系统设计:Google Pub/Sub vs Kafka vs Kinesis vs PubNub用于物联网数据摄取?

我正在尝试构建一个IoT +数据分析系统,我无法决定使用哪种技术或服务进行摄取.

最终目标的高级描述是:

  1. 物联网设备将数据推送到物联网网关(使用Zigbee,Z波,蓝牙等)
  2. 物联网网关(连接到互联网)将数据推送到发布/订阅系统
  3. 后端服务处理来自pub/sub系统的数据,更新仪表板并发送警报

我的问题是,如果我们只需要~10秒的响应时间,我们应该使用什么样的pubsub系统?(例如,以下是可接受的:物联网设备检测到事件,然后大约10秒后它会显示在用户的仪表板上或发出警报)

以下是我的一些问题:

  1. 我看到PubNub在物联网中广告宣传了很多东西.我的理解是,PubNub基本上是一个非常快速的pubsub系统,保证不到1/4秒的交付 - 这是对它的正确理解吗?但与使用Google的Pub/Sub或维护我们自己的Kafka相比,PubNub有点贵.
  2. Google Pub/Sub在某种意义上与PubNub类似,因为与单个数据中心中运行的单个自我管理的Kafka群集不同,Google Pub/Sub拥有自己的网络,因为它是Google的一部分吗?(类似于PubNub是一个"数据流网络"?)
  3. 如果我使用Kafka,生产者应该在网关设备中吗?
    1. 如果生产者不在网关设备中,那么Kafka生产者是否应该在我们的服务器上并且有一个REST API来接受来自网关设备的消息?
    2. 如果Kafka生产商IS在网关设备中,是否需要在Kafka经纪人面前有任何特殊的东西让他们接受来自网关设备的消息?
  4. PubNub可用于将命令发送回IoT设备.这可以通过Google Pub/Sub或Kafka完成吗?
    1. 将命令推送到IoT设备使用Kafka,每个Gateway设备是否需要一个等待来自其订阅主题的消息的消费者?(例如命令)

此外,不确定是否值得一提,但目前,该团队只是我和其他2个完整堆栈开发人员.我们已经阅读了Kafka和Zookeeper,但我们都没有过去推出它的教程示例.

publish-subscribe pubnub apache-kafka iot

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

如何在作业完成后立即从 Kubernetes 作业中复制目录?

该kubectl cp命令似乎仅在 pod 仍在运行时才有效。有没有办法将输出文件的目录从完成的 pod 复制到我的本地机器?

kubernetes

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

Python pip的pip.conf和pypirc文件有什么区别?

我无法访问我们用来存储自定义python包的nexus服务器.我被告知要更改~/.pypirc文件和~/.pip/pip.conf文件中的设置.

这两个文件在如何使用方面有何区别?看起来pip install -r requirements.txt命令引用了pip.conf文件,然后文件中的字段pip.conf需要查找pypirc文件?

示例pip.conf文件:

[global]
index = https://user:password@someurl.com/somerepo/pypi-group/pypi
index-url = index = https://user:password@someurl.com/somerepo/pypi-group/simple
Run Code Online (Sandbox Code Playgroud)

示例pypirc文件:

[distutils]
index-servers =
    pypi
    nexus

[pypi]
repository: https://pypi.org/pypi
username: abc
password: def

[nexus]
repository: https://someurl.com/somerepo/pypi-internal
username: someuser
password: somepassword
Run Code Online (Sandbox Code Playgroud)

另外,pip.conf文件中index和index-url的区别是什么?

python pip nexus pypi

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

javascript - 在回调中定义后不在范围内的全局变量?

每当我尝试运行类似下面的内容时,firebug告诉我"标记未定义"在"for(var i = 0 ......")的行

但我在右上方宣称标记为全局变量......?

var markers;
function load() {

  $.get("phpsqlajax_genxml.php", function(data) {
    markers = data.documentElement.getElementsByTagName("marker");
  });

  for (var i = 0; i < markers.length; i++) {
    var name = markers[i].getAttribute("name")
    //do more stuff
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,当我这样做,它的工作原理.

var markers;
function load() {

  $.get("phpsqlajax_genxml.php", function(data) {
      markers = data.documentElement.getElementsByTagName("marker");
      makeMarkersWithXMLinfo(); 
  });

  function makeMarkersWithXMLinfo() {
      for (var i = 0; i < markers.length; i++) {
             var name = markers[i].getAttribute("name")
             //do more stuff
      }
  }
}
Run Code Online (Sandbox Code Playgroud)

我甚至没有将"markers"作为参数传递给我的makeMarkersWithXMLinfo()函数.但它确实有效.这是怎么回事?日Thnx

javascript variables scope loops callback

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

有没有办法SSH(exec)进入Kubernetes Jenkins从属pod进行调试?

在我的Jenkins文件出错后,那个slave-agent pod似乎总是死掉并且很快就消失了.当我进去时,有没有办法进入它并保持它活着?我使用Helm在Kubernetes上运行Jenkins

jenkins kubernetes

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

包含 Dockerfile、Jekinsfile、Kubernetes 部署 yaml、pip requests.txt 和测试脚本的项目的目录结构?

下面的目录结构可以吗?

目标是让 Jenkins 触发 GitHub 提交并运行构建和测试容器的多分支管道。(我的一切都在 Kubernetes 上运行,包括 Jenkins)

/project
  .git
  README.md
  Jenkinsfile
  /docker_image_1
    Dockerfile
    app1.py
    requirements.txt
    /unit_tests
      unit_test1.py
      unit_test2.py
  /docker_image_2
    Dockerfile
    app2.py
    requirements.txt
    /unit_tests
      unit_test1.py
      unit_test2.py
  /k8s
    /dev
      deployment.yaml
    /production
      deployment.yaml
  /component_tests
    component_tests.py
Run Code Online (Sandbox Code Playgroud)
  1. 包含deployment.yamls 的k8s 文件夹是否位于正确的位置?
  2. 测试文件夹是否位于正确的位置?“component_tests”中的测试理想情况下将进行更多涉及多个容器的端到端集成测试
  3. 我看到很多仓库在同一目录级别都有 Jenkins 文件和 Dockerfile。这样做有什么优点和缺点?

pip jenkins docker kubernetes jenkins-pipeline

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

Airflow:如何获取一个任务的返回输出来设置下游任务运行的依赖关系?

我们有一个 kubernetes pod 操作符,它将输出一个 Python 字典,该字典将定义哪些更进一步的下游 kubernetes pod 操作符与它们的依赖项和环境变量一起运行,以传递给每个操作符。

我如何让这个 python 字典对象回到执行器的上下文(或者它是工作器的上下文?),以便气流可以产生下游 kubernetes 操作符?

我看过 BranchOperator 和 TriggerDagRunOperator 和 XCOM push/pull 和 Variable.get 和 Variable.set,但似乎没有什么工作。

airflow apache-airflow-xcom

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