首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在kubernetes 1.18上运行应用程序时,版本/扩展sb1beta1中的部署类型不匹配

在kubernetes 1.18上运行应用程序时,版本/扩展sb1beta1中的部署类型不匹配
EN

Stack Overflow用户
提问于 2020-12-07 22:33:14
回答 1查看 215关注 0票数 0

这是我的kubernetes.yml

代码语言:javascript
复制
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的新版本造成的,但我无法修复这个问题,当我将扩展/v1beta1改为应用程序/v1时,我开始得到错误服务集在运行kubectl apply -f kubernets.yml.With kuberentes 1.10时找不到它运行得很好,任何帮助都将不胜感激

EN

回答 1

Stack Overflow用户

发布于 2020-12-07 23:54:23

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

这样的东西对你来说应该是有效的:

代码语言:javascript
复制
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
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65183688

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档