小编the*_*ly2的帖子

Kubernetes:是否可以将卷安装到作为CronJob运行的容器中?

我正在尝试创建一个Kubernetes CronJob来每分钟运行一个应用程序.

先决条件是我需要将我的应用程序代码放到CronJob中运行的容器中.我认为最好的方法是使用持久性体积,pvclaim,然后定义体积并将其安装到容器中.我已经成功完成了在Pod中运行的容器,但在CronJob中似乎是不可能的?这是我尝试的配置:

apiVersion: batch/v2alpha1
kind: CronJob
metadata:
  name: update_db
spec:
  volumes:
  - name: application-code
    persistentVolumeClaim:
      claimName: application-code-pv-claim
  schedule: "*/1 * * * *"
  jobTemplate:
    spec:
      template:
        spec:
          containers:
          - name: update-fingerprints
            image: python:3.6.2-slim
            command: ["/bin/bash"]
            args: ["-c", "python /client/test.py"]
          restartPolicy: OnFailure
Run Code Online (Sandbox Code Playgroud)

相应的错误:

错误:验证"cron-applications.yaml"时出错:验证数据时出错:找到v2alpha1.CronJobSpec的无效字段卷; 如果您选择忽略这些错误,请使用--validate = false关闭验证

我找不到任何表明这是可能的资源.那么,如果不可能,如何解决将应用程序代码放入正在运行的CronJob的问题?

kubernetes persistent-volumes persistent-volume-claims

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

Minikube 和 Kubernetes:在 Postgres 容器中使用 Windows 挂载驱动器作为持久卷

注意:经过进一步的故障排除后,我认为这是 minikube 安装的问题。下面的大部分描述可能与确切的问题无关。有关其他信息,请参阅我的评论。保留问题。


我正在尝试使用本地 SDCard 作为 minikube 中的挂载点,在挂载点中创建一个持久卷,创建相应的持久卷声明,然后将其用作托管 postgres 实例的容器中的卷挂载。我将首先描述我是如何创建 PVC 的,然后深入研究 pod 定义。

1. 我使用 minikube 命令通过挂载点启动 minikube VM (Hyper-V):

minikube start --vm-driver="hyperv" --hyperv-virtual-switch="我的虚拟交换机" --mount --mount-string="D:\data:/data"

运行此程序后,我已经用来minikube ssh确定该目录已正确安装并且具有 root 的所有者/组。

2. 创建 PersistentVolume:

apiVersion: v1
kind: PersistentVolume
metadata:
  name: postgres-data-pv
  labels:
    type: local
    application: postgres
spec:
  capacity:
    storage: 500Mi
  accessModes:
    - ReadWriteOnce
  persistentVolumeReclaimPolicy: Retain
  hostPath:
    path: "/data/gather-client/postgres/data"
Run Code Online (Sandbox Code Playgroud)

3. 创建 PersistentVolumeClaim:

kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: postgres-data-pvc
  annotations:
    volume.beta.kubernetes.io/storage-class: ""
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests: …
Run Code Online (Sandbox Code Playgroud)

windows postgresql kubernetes persistent-volumes minikube

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

CloudFormation 配置 API 网关方法以使用 Cognito Authorizer

我正在尝试使用 CloudFormation 定义 API Gateway 资源。具体来说,我正在尝试为使用 Cognito 进行身份验证的 API 网关资源方法创建模板。我已经创建了授权者,并且使用控制台我可以毫无问题地执行此配置(请参阅附图)。我只是找不到使用 Cognito 用户池指定 API 方法请求授权的方法。这让我疯狂。据我所知,没有文档涵盖这一点。

有谁知道这是否可能,如果可以,该怎么做?我意识到我可以使用 Swagger 实现这一目标,但我不希望在 Swagger 与 CloudFormation 中重新定义我的所有 API 网关资源。

提前致谢!

控制台方法授权配置

aws-cloudformation amazon-cognito aws-api-gateway

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