Kubernetes |在副本集上滚动更新

时间:2017-11-08 21:22:17

标签: kubernetes google-kubernetes-engine

我尝试对我的联合副本集正在使用的容器图像执行滚动更新,但我收到以下错误:

当我跑步时:kubectl rolling-update mywebapp -f mywebapp-v2.yaml

我收到错误消息:the server could not find the requested resource;

这是Google容器引擎(GKE)上的一个全新且干净的安装,因此除了创建联合群集和部署我的第一个服务之外,没有其他任何事情已经完成。我按照Kubernetes Docs的说明操作,但没有运气。

我已经检查过以确保我处于正确的上下文中,并且我还创建了一个新的YAML文件,指向新图像并更新了元数据名称。我错过了什么吗?我这样做的简单方法是删除副本集然后重新部署,但后来我欺骗自己:)。任何指针都将不胜感激

mywebappv2.yaml - 用于滚动更新的新yaml文件

apiVersion: extensions/v1beta1
kind: ReplicaSet
metadata:
  name: mywebapp-v2
spec:
  replicas: 4
  template:
    metadata:
      labels:
        app: mywebapp
    spec:
      containers:
        - name: mywebapp
          image: gcr.io/xxxxxx/static-js:v2
          resources:
            requests:
              cpu: 100m
              memory: 100Mi
          ports:
            - containerPort: 80
              name: mywebapp

我原来的mywebapp.yaml文件:

apiVersion: extensions/v1beta1
kind: ReplicaSet
metadata:
  name: mywebapp
spec:
  replicas: 4
  template:
    metadata:
      labels:
        app: mywebapp
    spec:
      containers:
        - name: mywebapp
          image: gcr.io/xxxxxx/static-js:v2
          resources:
            requests:
              cpu: 100m
              memory: 100Mi
          ports:
            - containerPort: 80
              name: mywebapp

1 个答案:

答案 0 :(得分:1)

尝试NULL

  

支持复制控制器的大多数kubectl命令也是如此   支持ReplicaSet。 rolling-update命令是一个例外。如果   您想要滚动更新功能请考虑使用   而是Deployments

     

此外,滚动更新命令势在必行   虽然部署是声明性的,但我们建议使用部署   通过rollout命令。

     

- Replica Sets | Kubernetes