Как определить причину сбоя кластера AKS kubernetes

Вы используете это неправильно. Таким образом, за переменной + существует объект процедуры, который можно применить. Они равны:

(+ (* 2 3) 5)              ; ==> 11
(apply + (list (* 2 3) 5)) ; ==> 11
(apply + `(,(* 2 3) 5))    ; ==> 11

В вашем примере вы используете bitmap, и это совсем не процедура, а макрос, и кажется, что он должен получать растровые изображения из пакета ракетки и со строками он ожидает хотя бы косой черты, поскольку изображения должны быть в корне пакета. Вы должны заменить его на bitmap/file , который является процедурой, и вместо этого делает путь к файлу абсолютным или относительным к текущему рабочему каталогу.

В вашем примере (apply `(bitmap/file ,filename), который вы передаете, применяется список как первый аргумент вместо объекта процедуры и последний аргумент с параметрами.

В вашем примере (apply bitmap/file `(filename)) вы применяете bitmap с литеральным списком с символом filename, который не имеет ничего общего с делать с переменной с тем же именем. Вы были так близки, так как я думаю, что вы хотели (apply bitmap/file `(,filename)), что является забавным способом сделать (apply bitmap/file (list filename)). Я не понимаю, почему вы не можете просто сделать это:

(define (get_img filename)
  (let ([img (bitmap/file filename)])
    (image->color-list mask)))

0
задан Rico 18 January 2019 в 17:49
поделиться

2 ответа

Просто догадка, но проверьте, что https://github.com/Azure/AKS/issues/305 есть шаги, чтобы выявить и исправить это.

0
ответ дан user10891134 18 January 2019 в 17:49
поделиться

Я бы предложил изучить журнал событий K8s примерно в то время, когда ваши узлы "не были готовы".

Попробуйте открыть вкладку «Insights» Nodes и выбрать таймфрейм вверх во время, когда что-то пошло не так. Посмотрите, что такое статусы узлов. Любое давление? Вы можете увидеть это на панели свойств справа от списка узлов. Панель свойств также содержит ссылку на журналы событий для этого периода ... Обратите внимание, что ссылка на журналы событий на панели свойств узла создает сложный запрос, отображающий только события, помеченные этим узлом.

Вы можете получить эту информацию с помощью более простых запросов (а также выполнить более интересные запросы) в журналах. Откройте вкладку «Журналы» в левом меню кластера и выполните запрос, подобный этому (измените временной интервал на тот, который вам нужен):

let startDateTime = datetime('2019-01-01T13:45:00.000Z');
let endDateTime = datetime('2019-01-02T13:45:00.000Z');
KubeEvents_CL
| where TimeGenerated >= startDateTime and TimeGenerated < endDateTime
| order by TimeGenerated desc

Посмотрите, есть ли у вас события, указывающие, что пошло не так. Также интересно, вы можете посмотреть на инвентаризацию узлов в вашем кластере. Узлы сообщают о статусе K8s. Это было "Готово" до проблемы ... Тогда что-то пошло не так - каков статус? Случайно с диска?

let startDateTime = datetime('2019-01-01T13:45:00.000Z');
let endDateTime = datetime('2019-01-02T13:45:00.000Z');
KubeNodeInventory
| where TimeGenerated >= startDateTime and TimeGenerated < endDateTime
| order by TimeGenerated desc
0
ответ дан Vitaly 18 January 2019 в 17:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: