小编AVa*_*arf的帖子

安装 OpenCV 失败,因为它找不到“skbuild”

我有一个 docker 镜像,我需要在其中安装 openCV,从昨天开始它开始失败,因为它找不到“skbuild”模块:

Step 12/24 : RUN pip install opencv-python opencv-contrib-python
 ---> Running in a0f746a23aed
Collecting opencv-python
  Downloading https://files.pythonhosted.org/packages/77/f5/49f034f8d109efcf9b7e98fbc051878b83b2f02a1c73f92bbd37f317288e/opencv-python-4.4.0.42.tar.gz (88.9MB)
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-build-cciracwm/opencv-python/setup.py", line 9, in <module>
        import skbuild
    ModuleNotFoundError: No module named 'skbuild'
Run Code Online (Sandbox Code Playgroud)

在主机上,我也找不到该模块,pip search要么不返回任何内容,要么返回服务器错误:

sudo pip3 search skbuild
WARNING: The directory '/home/ali/.cache/pip' or its parent directory is not owned or is not writable by the current user. The …
Run Code Online (Sandbox Code Playgroud)

python opencv pip

57
推荐指数
6
解决办法
8万
查看次数

Kubernetes RBAC 规则动词列表

我想给我的应用程序有限的访问权限来获取不同状态集(可能还有部署)的副本,并在必要时扩大或缩小它们。

我为此创建了 ServiceAccount、Rolebinding 和 Role,但我找不到规则动词的完整列表(“get”、“watch”、“list”、“update”)以及它们的限制是什么,例如我可以使用update用于缩放还是我需要另一个动词?我在哪里可以找到描述这些动词的列表或表格?

我的 yaml 文件:

kind: Role
apiVersion: rbac.authorization.k8s.io/v1beta1
metadata:
  name: scaler-role
  namespace: {{ .Release.Namespace  | quote }}
rules:
- apiGroups: ["apps"]
  resources: ["statefulset"]
  verbs: ["get", "watch", "list", "update"]
Run Code Online (Sandbox Code Playgroud)

rbac service-accounts kubernetes

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

向 npm login 命令行提供凭据

我需要npm login在脚本中传递凭据有没有办法提供类似于 git 凭据的凭据?

git clone https://username:password@github.com
Run Code Online (Sandbox Code Playgroud)

shell terminal command-line npm npm-login

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

如何在非 root 运行的容器中安装新包?

我需要在正在运行的容器中安装简单的包,例如curl,但我遇到了这个错误:

~ $ apk add curl
ERROR: Unable to lock database: Permission denied
ERROR: Failed to open apk database: Permission denied
Run Code Online (Sandbox Code Playgroud)

我知道如何在 Dockerfile 中更改用户,但我无权访问 docker 文件,并且我需要在容器内或在容器内打开终端时执行此操作。我尝试使用--user=但没有成功:

kubectl exec -n kube-system --user="root" -it tiller-deploy-75f6c87b87-xtpxl /bin/ash
error: auth info "root" does not exist
Run Code Online (Sandbox Code Playgroud)

我如何获得root访问权限或安装curl?

containers docker alpine-linux

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

如何在 Kubernetes 中按特定顺序配置 Pod 初始化?

我想知道如何按特定顺序开始部署。我知道,initContainers但这对我不起作用。我有一个巨大的平台,有大约 20 个部署和 5 个状态集,每个都有自己的服务、环境变量、卷、水平自动缩放器等。所以不可能(或者我不知道如何)在另一个中定义它们yaml 部署为initContainers.

是否还有其他选项可以按特定顺序启动部署?

deployment kubernetes kubernetes-pod

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

如何将文件内容传递给 Helm values.yaml

我想使用 RabbitMQ 的 Helm chart 来设置集群,但是当我尝试将我们目前拥有的配置文件传递给 values.yaml 时,它不起作用。

我使用的命令:

helm install --dry-run --debug stable/rabbitmq --name testrmq --namespace rmq -f rabbit-values.yaml
Run Code Online (Sandbox Code Playgroud)

兔子值.yaml:

rabbitmq:
  plugins: "rabbitmq_management rabbitmq_federation rabbitmq_federation_management rabbitmq_shovel rabbitmq_shovel_management rabbitmq_mqtt rabbitmq_web_stomp rabbitmq_peer_discovery_k8s"
  advancedConfiguration: |-
    {{ .Files.Get "rabbitmq.config" | quote}}
Run Code Online (Sandbox Code Playgroud)

我得到了什么advancedConfiguration

NAME:   testrmq
REVISION: 1
RELEASED: Thu Aug 29 10:09:26 2019
CHART: rabbitmq-5.5.0
USER-SUPPLIED VALUES:
rabbitmq:
  advancedConfiguration: '{{ .Files.Get "rabbitmq.config" | quote}}'
  plugins: rabbitmq_management rabbitmq_federation rabbitmq_federation_management
    rabbitmq_shovel rabbitmq_shovel_management rabbitmq_mqtt rabbitmq_web_stomp rabbitmq_peer_discovery_k8s
Run Code Online (Sandbox Code Playgroud)

我不得不提的是:

  • rabbitmq.config 是一个 Erlang 文件
  • 我尝试了不同的东西,包括缩进 ( indent 4 …

rabbitmq kubernetes kubernetes-helm

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

将 YAML 转换为 JSON 时出错:未找到预期的密钥

我刚刚创建了一个新的 Helm 图表,但是当我运行时 helm install --dry-run --debug我得到:

错误:多相机跟踪/模板/多相机跟踪.yaml 上的 YAML 解析错误:将 YAML 转换为 JSON 时出错:yaml:第 30 行:未找到预期的键

这是我的 Yaml 文件:

---
# apiVersion: apps/v1beta1
apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: multi-camera-tracking
  annotations:
    Process: multi-camera-tracking
  labels:
    io.kompose.service: multi-camera-tracking
spec:
  serviceName: multi-camera-tracking
  replicas: 1
  selector:
    matchLabels:
      io.kompose.service: multi-camera-tracking
  podManagementPolicy: "Parallel"
  template:
    metadata:
      labels:
        io.kompose.service: multi-camera-tracking
    spec:
      containers:
      - name: multi-camera-tracking
        env:
        - name: MCT_PUB_PORT
          value: {{ .Values.MCT_PUB_PORT | quote }}
        - name: SCT_IP_ADDR_CSV
          value: {{ .Values.SCT_IP_ADDR_CSV | quote }}
        - name: …
Run Code Online (Sandbox Code Playgroud)

yaml kubernetes kubernetes-helm

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

配置 Microk8s

我正在从 minikube 迁移到 Microk8s,我想更改 Microk8s 的配置并控制它可以使用的资源(cpu、内存等)。

在 minikube 中,我们可以使用如下命令来设置 minikube 的资源量:

minikube config set memory 8192
minikube config set cpus 2
Run Code Online (Sandbox Code Playgroud)

但是我不知道如何在Microk8s中做到这一点。我使用了以下命令(有和没有 sudo):

microk8s.config set cpus 4
microk8s.config set cpu 4
Run Code Online (Sandbox Code Playgroud)

他们回来了:

apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: VORCBDRVJUSUZJQ0FURS0tLS0...
    server: https://10.203.101.163:16443
  name: microk8s-cluster
contexts:
- context:
    cluster: microk8s-cluster
    user: admin
  name: microk8s
current-context: microk8s
kind: Config
preferences: {}
users:
- name: admin
  user:
    username: admin
    password: ...
Run Code Online (Sandbox Code Playgroud)

但是当我获得该节点的描述时,我看到 Microk8s 正在使用 8 个 cpu:

Capacity:
 cpu:                8
 ephemeral-storage:  220173272Ki
 hugepages-1Gi:      0 …
Run Code Online (Sandbox Code Playgroud)

kubernetes minikube microk8s

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

为什么 ReadWriteOnce 在不同的节点上工作?

我们在 K8s 上运行的平台有不同的组件。我们需要在其中两个组件(comp-A 和 comp-B)之间共享存储,但我们错误地为此定义了 PV 和 PVC ReadWriteOnce,即使这两个组件在不同的节点上运行,一切正常,我们能够从两个组件读取和写入存储。

根据 K8s 文档,ReadWriteOnce可以挂载到一个节点,我们必须使用ReadWriteMany

  • ReadWriteOnce -- 卷可以由单个节点以读写方式挂载
  • ReadOnlyMany -- 卷可以被多个节点以只读方式挂载
  • ReadWriteMany -- 卷可以被许多节点以读写方式挂载”

所以我想知道为什么一切正常,而它不应该?

更多信息:我们使用 NFS 进行存储,我们没有使用动态配置,下面是我们如何定义我们的 pv 和 pvc(我们使用 helm):

- apiVersion: v1
  kind: PersistentVolume
  metadata:
    name: gstreamer-{{ .Release.Namespace }}
  spec:
    capacity:
      storage: 10Gi
    accessModes:
      - ReadWriteOnce
    persistentVolumeReclaimPolicy: Recycle
    mountOptions:
      - hard
      - nfsvers=4.1
    nfs:
      server: {{ .Values.global.nfsserver }}
      path: /var/nfs/general/gstreamer-{{ .Release.Namespace }}

- apiVersion: v1
  kind: PersistentVolumeClaim
  metadata:
    name: gstreamer-claim
    namespace: {{ .Release.Namespace }}
  spec: …
Run Code Online (Sandbox Code Playgroud)

kubernetes kubernetes-pvc kubernetes-pod

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

无法同步 configmap 缓存:超时

我正在创建一个包含许多配置映射(20+)的 helm 图表,每次启动它时,pod 都会崩溃,并且当我运行时,kubectl describe它充满了如下警告:

Warning  FailedMount  24m                     kubelet, A-p51   MountVolume.SetUp failed for volume "bridge-dep" : failed to sync configmap cache: timed out waiting for the condition
  Warning  FailedMount  24m                     kubelet, A-p51   MountVolume.SetUp failed for volume "dashboard-hpa" : failed to sync configmap cache: timed out waiting for the condition
  Warning  FailedMount  24m                     kubelet, A-p51   MountVolume.SetUp failed for volume "dashboard-crb" : failed to sync configmap cache: timed out waiting for the condition
  Warning  FailedMount  24m                     kubelet, A-p51   MountVolume.SetUp failed …
Run Code Online (Sandbox Code Playgroud)

kubernetes kubernetes-helm configmap

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