小编Mat*_*att的帖子

重置 Kubernetes 集群

我的网络中有六台台式机,我想构建两个 Kubernetes 集群。每台机器都安装了 Ubuntu 16.04 LTS。最初,所有机器都是一个集群的一部分。但是,我删除了三台机器来设置另一个集群,并在每台机器上执行以下命令:

RESET COMMAND:
sudo kubeadm reset -f && 
 sudo systemctl stop kubelet && 
 sudo systemctl stop docker && 
 sudo rm -rf /var/lib/cni/ && 
 sudo rm -rf /var/lib/kubelet/* && 
 sudo rm -rf /etc/cni/ && 
 sudo ifconfig cni0 down && 
 sudo ifconfig flannel.1 down && 
 sudo ifconfig docker0 down && 
 sudo ip link delete cni0 && 
 sudo ip link delete flannel.1
Run Code Online (Sandbox Code Playgroud)

在此之后,我重新启动了每台机器,并通过设置主节点继续设置新集群:

INSTALL COMMAND:
sudo kubeadm init phase certs all && 
 sudo kubeadm init phase kubeconfig all …
Run Code Online (Sandbox Code Playgroud)

cluster-computing docker kubernetes

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

如何查看docker容器使用的核心数?

我已经使用 Docker 有一段时间了,我已经安装了 docker 并使用启动了一个容器

docker run -it --cpuset-cpus=0 ubuntu
Run Code Online (Sandbox Code Playgroud)

当我登录 docker 控制台并运行时

grep processor /proc/cpuinfo | wc -l
Run Code Online (Sandbox Code Playgroud)

它显示了 3,这是我在主机上拥有的核心数。

关于如何将资源限制到容器以及如何验证限制的任何想法?

containers docker

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

Nodejs - 可以在线程池大小为 4 的同时运行的最大线程是多少?

要求是每秒1000个并发请求和每个请求的数据库查询等IO操作。由于 nodejs 在事件循环上工作,它将 IO 操作分配给线程池,但线程池默认大小为 4,因此同时最多 4 个线程(IO 操作)可以工作,其余必须在队列中等待。一旦任何线程完成执行,它们就可以进行处理。

查询 1 - 我们可以根据需要将线程池大小增加到 N 数,它会提高性能还是会降低性能?

查询 2 - 我们如何在 nodejs 中实现上述要求?

查询 3 - Nodejs 是此要求或其他建议(例如 golang)的空闲选择

multithreading event-loop threadpool node.js

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

__dirname 未定义

我不明白为什么我的Google Cloud Run实例不知道__dirname是什么

我有一个expressjs服务器,里面有这个:

import path from 'path';

const App = express()
    .get('/*', (_req, res) => {
      res.sendFile(path.join(__dirname, '.', 'index.html'));
    })
Run Code Online (Sandbox Code Playgroud)

我收到编译错误__dirname is not defined

javascript node.js express google-cloud-platform

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

如何加速node.js在Docker容器中启动反应

我正在Docker容器中运行node js官方映像,我注意到npm start命令比在Docker之外启动命令需要更长的时间.

我可以更改设置以使其运行更快吗?也许为容器分配更多内存?

作为参考,我将在下面粘贴相关文件.

Dockerfile:

FROM node:8.1

WORKDIR var/www/app

# Global install yarn package manager
RUN apt-get update && apt-get install -y curl apt-transport-https && \
    curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - && \
    echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list && \
    apt-get update && apt-get install -y yarn

RUN npm install -g create-react-app
Run Code Online (Sandbox Code Playgroud)

我用来启动容器的命令:

docker run --rm -ti \
--link api-container:api \
--name my-container -p 3000:3000 \
-v $(pwd):/var/www/app nxmohamad/my-container \
bash
Run Code Online (Sandbox Code Playgroud)

并且启动脚本就是 NODE_PATH=. react-scripts …

docker docker-for-mac

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

Kubernetes 作业失败,没有日志,没有终止原因,没有事件

我在一夜之间在 Kubernetes 中运行了一项工作。当我早上检查它时,它失败了。通常,我会检查 pod 日志或事件以确定原因。但是,该 pod 已被删除,并且没有任何事件。

kubectl describe job topics-etl --namespace dnc
Run Code Online (Sandbox Code Playgroud)

这是describe输出:

Name:           topics-etl
Namespace:      dnc
Selector:       controller-uid=391cb7e5-b5a0-11e9-a905-0697dd320292
Labels:         controller-uid=391cb7e5-b5a0-11e9-a905-0697dd320292
                job-name=topics-etl
Annotations:    kubectl.kubernetes.io/last-applied-configuration:
                  {"apiVersion":"batch/v1","kind":"Job","metadata":{"annotations":{},"name":"topics-etl","namespace":"dnc"},"spec":{"template":{"spec":{"con...
Parallelism:    1
Completions:    1
Start Time:     Fri, 02 Aug 2019 22:38:56 -0500
Pods Statuses:  0 Running / 0 Succeeded / 1 Failed
Pod Template:
  Labels:  controller-uid=391cb7e5-b5a0-11e9-a905-0697dd320292
           job-name=topics-etl
  Containers:
   docsund-etl:
    Image:      acarl005/docsund-topics-api:0.1.4
    Port:       <none>
    Host Port:  <none>
    Command:
      ./create-topic-data
    Requests:
      cpu:     1
      memory:  1Gi
    Environment:
      AWS_ACCESS_KEY_ID:      <set to the key 'access_key_id' in secret …
Run Code Online (Sandbox Code Playgroud)

kubernetes

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

Socket.io - “套接字 ID”是否被视为敏感信息?

我正在使用 Node.js 和 socket.io 实现一个简单的聊天应用程序,想知道在整个对象中共享所有客户端的套接字 ID 是否被认为是一个好的做法?

为了解释一下,我的每个用户都是这样表示的:

{
    nick       : 'John Doe',
    dateJoined : Date.now(),
    rank       : 0,
    id         : socket.id
}
Run Code Online (Sandbox Code Playgroud)

我所有客户的列表都存储在服务器上const usersList = [ {...}, {...}, ... ]

我的所有客户都需要查看谁已连接,因此usersList应将其共享给所有客户。

如果客户端断开连接,则应通知所有客户端此 #ID 已断开连接:

socket.on('userDisconnect', function(id) {
    clientSideList = clientSideList.filter( user => user.id !== id );
}
Run Code Online (Sandbox Code Playgroud)

所以我的问题是:如果每个客户端都知道其他客户端的套接字 ID,这是否会出现安全问题?他们会做出一些令人讨厌的事情,比如窃取数据或冒充其他用户吗?

感谢您的帮助

sockets chat node.js socket.io

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

Docker:为什么检查命令显示 8 层而不是 7 层

我有一个简单的 docker 文件来在 alpine 中运行 Flask Web 框架。

 FROM python:2.7-alpine

RUN mkdir /app
WORKDIR /app

COPY requirements.txt requirements.txt
RUN pip install -r requirements.txt

COPY . .

LABEL maintainer="Test Test <test@gmail.com>" \
    version="1.0"

CMD flask run --host=0.0.0.0 --port=5000
Run Code Online (Sandbox Code Playgroud)

并构建了如下所示的 docker 镜像

docker 镜像构建 -t web1 .

并能够看到在每个层中创建和删除的中间容器(除了 WORKDIR /app )。但是当我检查使用

docker 镜像检查 web1

我得到了 8 层而不是 7 层。第 8 层从哪里来?

docker dockerfile docker-image

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