Вы можете использовать kube-state-метрики для этой цели.
kube-state-metrics - это создание метрик из объектов API Kubernetes без изменений. Это гарантирует, что функции, предоставляемые показателями состояния куба, имеют такой же уровень устойчивости, что и сами объекты API Kubernetes. В свою очередь это означает, что метрики состояния куба в определенных ситуациях могут не отображать те же значения, что и kubectl, так как kubectl применяет определенные эвристики для отображения понятных сообщений. kube-state-metrics предоставляет необработанные данные, не измененные из API Kubernetes, таким образом, пользователи получают все необходимые им данные и выполняют эвристику, как они видят
blockquote>. Вы можете найти метрики узла здесь [112 ]. Например:
Metric name: kube_node_info node=
kernel_version= os_image= container_runtime_version= kubelet_version= kubeproxy_version= provider_id=
Да, Ruby все еще интерпретируемый язык, или более точно, Интерпретатор Ruby Matz (MRI), который является тем, какие люди обычно говорят о том, когда они говорят о Ruby, является все еще интерпретатором. Шаг компиляции состоит в том, чтобы просто там уменьшить код до чего-то, что это быстрее для выполнения, чем интерпретация и иное толкование тому же коду раз за разом.
Почти каждый язык "компилируется" в наше время при подсчете байт-кода, как скомпилированного. Даже Emacs Lisp компилируется. Ruby был особым случаем, потому что до недавнего времени, он не был скомпилирован в байт-код.
Я думаю, что Вы правы подвергнуть сомнению утилиту охарактеризования языков, как "скомпилировано" по сравнению с "интерпретируемым". Одно полезное различие, тем не менее, - создает ли язык машинный код (например, x86 ассемблер) непосредственно из пользовательского кода. C, C++, многие Шепелявят, и Java с JIT включил, делают, но Ruby, Python и Perl не делают.
Люди, которые не знают лучше, назовут любой язык, который имеет отдельный ручной "скомпилированный" шаг компиляции и, которые не делают "интерпретируемый".
Можно запустить программы Ruby в интерактивном режиме с помощью irb, Интерактивный Ruby Shell. В то время как это может генерировать промежуточный байт-код, это - конечно, не "компилятор" в традиционном смысле.
Скомпилированный язык обычно компилируется в машинный код, в противоположность просто коду байта. Некоторые генераторы кода байта могут на самом деле далее скомпилировать код байта в машинный код все же.
Сам код байта является просто промежуточным шагом между литеральным кодом, написанным пользователем и виртуальной машиной, это все еще должно быть интерпретировано виртуальной машиной, хотя (поскольку это сделано с Java в JVM и PHP с кэшем кода операции).
Это возможно немного вне темы, но...
Железный Ruby является основанной на.NET реализацией рубина и поэтому обычно компилируется в код байта и затем JIT, скомпилированный в машинный язык во времени выполнения (т.е. не интерпретировал). Также (по крайней мере, с другими языками .NET, таким образом, я принимаю с рубином) ngen может использоваться для генерации скомпилированного собственного двоичного файла заранее, таким образом, это - эффективно скомпилированная версия машинного кода кода Ruby.