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



这是我的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,但我无法解决这个问题,当我将扩展/v1beta1更改为apps/v1时,我开始在运行kubectl apply -f kubernets.yml时发现错误servicetwo。由于kuberentes 1.10运行得很完美,任何帮助都将不胜感激,感谢

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

像这样的东西应该对你有用:

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

相关内容

  • 没有找到相关文章

最新更新