簡體   English   中英

在 kubernetes 1.18 上運行應用程序時,版本/擴展 b1beta1 中的部署類型不匹配

[英]No matches for kind of Deployment in version/extensionsb1beta1 while running the app on kubernetes 1.18

這是我的 kubernetes.yml

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: servicetwo
  labels:
    name: servicetwo
  namespace: sock-shop
spec:
  replicas: 1
  template:
    metadata:
      labels:
        name: servicetwo
    spec:
      containers:
      - name: servicetwo
        image: nik/pythonserviceone
        ports:
         - containerPort: 5000
        
---
apiVersion: v1
kind: Service
metadata:
  name: servicetwo
  labels:
    name: servicetwo
  namespace: sock-shop
spec:
  ports:
    # the port that this service should serve on
  - port: 5000
    targetPort: 5000
    nodePort: 30003
  selector:
    name: servicetwo
  type: NodePort  
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: servicethree
  labels:
    name: servicethree
  namespace: sock-shop
spec:
  replicas: 1
  template:
    metadata:
      labels:
        name: servicethree
    spec:
      containers:
      - name: servicetwo
        image: nik/pythonservicetwo
        ports:
         - containerPort: 7000
---
apiVersion: v1
kind: Service
metadata:
  name: servicethree
  labels:
    name: servicethree
  namespace: sock-shop
spec:
  ports:
    # the port that this service should serve on
  - port: 7000
    targetPort: 7000
    nodePort: 30002
  selector:
    name: servicethree
  type: NodePort 
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: apigateway
  labels:
    name: apigateway
  namespace: sock-shop
spec:
  replicas: 1
  template:
    metadata:
      labels:
        name: apigateway
    spec:
      containers:
      - name:  apigateway
        image: ni/aggregatornew
        ports:
        - containerPort: 9000
        
---
apiVersion: v1
kind: Service
metadata:
  name:  apigateway
  labels:
    name:  apigateway
  namespace: sock-shop
spec:
  type: NodePort
  ports:
  - port: 9000
    targetPort: 9000
    nodePort: 30001
  selector:
    name: apigateway
---

我知道這個錯誤是因為新版本的 kubernetes,但是我無法解決這個問題,當我將 extensions/v1beta1 更改為 apps/v1 時,我開始收到錯誤 servicetwo not found while running kubectl apply -f kubernets.yml .With kuberentes 1.10 完美運行,任何幫助將不勝感激謝謝

除了更改為apps/v1之外,您還需要添加新的必填字段selector:spec:

像這樣的東西應該適合你:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: servicetwo
  labels:
    name: servicetwo
  namespace: sock-shop
spec:
  replicas: 1
  selector:               // new required field
    matchLabels:
      name: servicetwo     // must match your labels
  template:
    metadata:
      labels:
        name: servicetwo
    spec:
      containers:
      - name: servicetwo
        image: nik/pythonserviceone
        ports:
         - containerPort: 5000

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM