在kubernetes 1.8中,当我创建一个部署例如
时apiVersion: apps/v1beta2 # for versions before 1.8.0 use apps/v1beta1
kind: Deployment
metadata:
name: nginx-deployment
labels:
app: nginx
spec:
replicas: 3
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.7.9
ports:
- containerPort: 80
然后我做了
kubectl get deploy nginx-deployment -o yaml
我得到了
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
annotations:
deployment.kubernetes.io/revision: "1"
creationTimestamp: 2018-01-24T01:01:01Z
....
为什么apiversion是扩展名/ v1beta1而不是apiVersion:apps / v1beta2
答案 0 :(得分:5)
创建部署时,apiserver会持久保存,并且能够将持久部署转换为任何支持的版本。
kubectl get deployments
实际上请求扩展名/ v1beta1版本(您可以通过添加--v = 6来查看此内容)
要获取app / v1beta2部署,请执行kubectl get deployments.v1beta2.apps
答案 1 :(得分:0)
您可以使用kubectl
的旧版本。
如果是,请将您的kubectl
升级到1.8,然后再次创建deployment
。