Как обновить loggingService для container.v1.cluster с помощью менеджера развертывания - PullRequest
0 голосов
/ 18 февраля 2020

Я хочу установить поле loggingService существующего контейнера container.v1.cluster через менеджер развертывания. У меня есть следующая конфигурация

resources:                                                                      
- name: px-cluster-1                                                            
  type: container.v1.cluster                                                    
  properties:                                                                   
    zone: europe-west1-b                                                        
    cluster:                                                                    
      description: "dev cluster"                                                
      initialClusterVersion: "1.13"                                             
      nodePools:                                                                
        - name: cluster-pool                                                    
          config:                                                               
            machineType: "n1-standard-1"                                        
            oauthScopes:                                                        
            - https://www.googleapis.com/auth/compute                           
            - https://www.googleapis.com/auth/devstorage.read_only              
            - https://www.googleapis.com/auth/logging.write                     
            - https://www.googleapis.com/auth/monitoring                        
          management:                                                           
            autoUpgrade: true                                                   
            autoRepair: true                                                    
          initialNodeCount: 1                                                   
          autoscaling:                                                          
            enabled: true                                                       
            minNodeCount: 3                                                     
            maxNodeCount: 10                                                    
      ipAllocationPolicy:                                                       
        useIpAliases: true                                                      
      loggingService: "logging.googleapis.com/kubernetes"                       
      masterAuthorizedNetworksConfig:                                           
        enabled: false                                
      locations:                                                                
        - "europe-west1-b"                                                      
        - "europe-west1-c"

Когда я пытаюсь запустить gcloud deployment-manager deployments update ..., я получаю следующую ошибку

ERROR: (gcloud.deployment-manager.deployments.update) Error in Operation [operation-1582040492957-59edb819a5f3c-7155f798-5ba37285]: errors:
- code: NO_METHOD_TO_UPDATE_FIELD
  message: No method found to update field 'cluster' on resource 'px-cluster-1' of
    type 'container.v1.cluster'. The resource may need to be recreated with the new
    field.

То же самое происходит успешно, если я удаляю loggingService.

Есть ли способ обновить loggingService, используя менеджер развертывания, не удаляя кластер?

1 Ответ

1 голос
/ 18 февраля 2020

Ошибка NO_METHOD_TO_UPDATE_FIELD связана с обновлением " initialClusterVersion " при выполнении вызова обновления для GKE. Это поле используется только при создании кластера, и определение типа в настоящее время не позволяет обновлять его позже. Таким образом, он должен оставаться в исходном значении c и не будет влиять на развертывание, продвигающееся вперед или пытаться удалить / прокомментировать эту строку.

Даже если предыдущая запись истинна, существует также нет способа обновить службу ведения журнала, на самом деле в Deployment Manager не так много способов обновления, поэтому попробуйте использовать команду gcloud для непосредственного обновления кластера, имейте в виду, что необходимо использовать службу мониторинга вместе со службой ведения журнала, Итак, коммандос будет выглядеть так:

Обновление кластеров контейнеров gcloud px-cluster-1 --logging-service = logging.googleapis.com / kubernetes --monitoring-service = мониторинг.googleapis.com / kubernetes --zone = europe-west1-b

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...