0

我有这个 docker compose 文件,它工作得非常好。但是我使用“kompose convert -f docker-compose.yam -o deploy.yaml”来获取 yaml 文件以进行 kubernetes 部署。

但是当我选择“kubectl apply -f deploy.yaml”时

我收到此错误“service/cms created service/mysqldb created persistentvolumeclaim/my-datavolume 配置无法识别版本“extensions/v1beta1”中类型“部署”的匹配项无法识别版本中类型“部署”的匹配项“扩展/v1beta1"

我正在使用 minikube。请帮帮我。

docker-compose 文件内容

version: "2"
services:
  cms:
    image: 1511981217/cms_mysql:0.0.2
    ports:
      - "8080:8080"
    networks:
      - cms-network
    depends_on:
      - mysqldb

  mysqldb:
    image: mysql:8
    ports:
      - "3306:3306"
    networks:
      - cms-network
    environment:
      - MYSQL_ROOT_PASSWORD=root
      - MYSQL_DATABASE=cmsdb  
    volumes:
      - my-datavolume:/var/lib/mysql

networks:
  cms-network: 

volumes:
  my-datavolume:

deploy.yaml 文件内容

apiVersion: v1
items:
- apiVersion: v1
  kind: Service
  metadata:
    annotations:
      kompose.cmd: kompose convert -f docker-compose.yml -o kubemanifests_2.yaml
      kompose.version: 1.19.0 (f63a961c)
    creationTimestamp: null
    labels:
      io.kompose.service: cms
    name: cms
  spec:
    ports:
    - name: "8080"
      port: 8080
      targetPort: 8080
    selector:
      io.kompose.service: cms
  status:
    loadBalancer: {}
- apiVersion: v1
  kind: Service
  metadata:
    annotations:
      kompose.cmd: kompose convert -f docker-compose.yml -o kubemanifests_2.yaml
      kompose.version: 1.19.0 (f63a961c)
    creationTimestamp: null
    labels:
      io.kompose.service: mysqldb
    name: mysqldb
  spec:
    ports:
    - name: "3306"
      port: 3306
      targetPort: 3306
    selector:
      io.kompose.service: mysqldb
  status:
    loadBalancer: {}
- apiVersion: extensions/v1beta1
  kind: Deployment
  metadata:
    annotations:
      kompose.cmd: kompose convert -f docker-compose.yml -o kubemanifests_2.yaml
      kompose.version: 1.19.0 (f63a961c)
    creationTimestamp: null
    labels:
      io.kompose.service: cms
    name: cms
  spec:
    replicas: 1
    strategy: {}
    template:
      metadata:
        annotations:
          kompose.cmd: kompose convert -f docker-compose.yml -o kubemanifests_2.yaml
          kompose.version: 1.19.0 (f63a961c)
        creationTimestamp: null
        labels:
          io.kompose.service: cms
      spec:
        containers:
        - image: 1511981217/cms_mysql:0.0.2
          name: cms
          ports:
          - containerPort: 8080
          resources: {}
        restartPolicy: Always
  status: {}
- apiVersion: extensions/v1beta1
  kind: Deployment
  metadata:
    annotations:
      kompose.cmd: kompose convert -f docker-compose.yml -o kubemanifests_2.yaml
      kompose.version: 1.19.0 (f63a961c)
    creationTimestamp: null
    labels:
      io.kompose.service: mysqldb
    name: mysqldb
  spec:
    replicas: 1
    strategy:
      type: Recreate
    template:
      metadata:
        annotations:
          kompose.cmd: kompose convert -f docker-compose.yml -o kubemanifests_2.yaml
          kompose.version: 1.19.0 (f63a961c)
        creationTimestamp: null
        labels:
          io.kompose.service: mysqldb
      spec:
        containers:
        - env:
          - name: MYSQL_DATABASE
            value: cmsdb
          - name: MYSQL_ROOT_PASSWORD
            value: root
          image: mysql:8
          name: mysqldb
          ports:
          - containerPort: 3306
          resources: {}
          volumeMounts:
          - mountPath: /var/lib/mysql
            name: my-datavolume
        restartPolicy: Always
        volumes:
        - name: my-datavolume
          persistentVolumeClaim:
            claimName: my-datavolume
  status: {}
- apiVersion: v1
  kind: PersistentVolumeClaim
  metadata:
    creationTimestamp: null
    labels:
      io.kompose.service: my-datavolume
    name: my-datavolume
  spec:
    accessModes:
    - ReadWriteOnce
    resources:
      requests:
        storage: 100Mi
  status: {}
kind: List
metadata: {}
```


4

1 回答 1

0

extensions/v1beta1在 kubernetes 版本中已弃用。1.16在yaml 中更改extensions/v1beta1apps/v1,它应该与版本高于的 kubernetes 集群一起使用1.16

于 2020-06-15T11:41:56.277 回答