AFAIK, вы не можете отключить проверки работоспособности, но можете заставить их работать с FTP-серверами.
Настройте свою конфигурацию следующим образом:
[...]
spec:
loadBalancerIP: 168.63.x.x
type: LoadBalancer
healthCheckNodePort: 30021
externalTrafficPolicy: Local
ports: [...]
Итак, вам нужно установить healthCheckNodePort
для порта в диапазоне допустимых узлов nodePort и установить externalTrafficPolicy
в Local
.
Это заставит сервис открывать nodePort, и теперь LoadBalancer будет проверять только этот порт для определения доступности. Недостатком является то, что ваша проверка работоспособности теперь только проверяет, работает ли узел, а не работает ли служба ftp.
Чтобы это работало, вы ДОЛЖНЫ установить для externalTrafficPolicy значение Local. Это означает, что контейнер будет видеть фактический ip источника клиента как источник трафика, а не внутренний источник kubernetes. Измените любые настройки вашего сервиса соответственно. Однако для FTP это желательно, поскольку он позволяет серверу проверять, что попытка пассивного подключения к данным выполняется тем же клиентом, что и исходное управляющее подключение.
См. https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/ , раздел «Сохранение исходного IP-адреса клиента»
Да, это - проблема с пространством имен. Все элементы в Вашем входном документе находятся в пространстве имен http://schemas.microsoft.com/winfx/2006/xaml/presentation
. Ваш шаблон пытается соответствовать элементам, которые находятся в пространстве имен по умолчанию, и это не находит никого.
Необходимо объявить это пространство имен в преобразовании, присвоить ему префикс и затем использовать тот префикс в любых шаблонах, которые предназначаются для соответствия элементам в том пространстве имен. Таким образом, Ваш XSLT должен выглядеть примерно так:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt"
xmlns:p="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
exclude-result-prefixes="msxsl"/>
<xsl:output method="html" indent="yes"/>
<xsl:template match="/">
<html>
<body>
<xsl:apply-templates />
</body>
</html>
</xsl:template>
<xsl:template match="p:FlowDocument">
<xsl:apply-templates />
</xsl:template>
<xsl:template match="p:Paragraph" >
<p>
<xsl:apply-templates />
</p>
</xsl:template>
Это работает, когда я удаляю это из Вашего исходного документа:
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
Я не полагаю, что Ваши последние два шаблона соответствуют вообще. (Можно протестировать путем помещения чего-то как переносящийся <отделение> в шаблоне FlowDocument.)
Просто попробуйте изменить тег
"xsl: template match = '/'"
в вашем xsl-файле на
"xsl: template match = '*'"
Это должно дать вам желаемый результат.