[8.13] [Fleet] Add link to scaling guide for deploying Elastic Agent on K8 (#179394) (#179488)

# Backport

This will backport the following commits from `main` to `8.13`:
- [[Fleet] Add link to scaling guide for deploying Elastic Agent on K8
(#179394)](https://github.com/elastic/kibana/pull/179394)

<!--- Backport version: 9.4.3 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sqren/backport)

<!--BACKPORT [{"author":{"name":"Jen
Huang","email":"its.jenetic@gmail.com"},"sourceCommit":{"committedDate":"2024-03-26T20:50:12Z","message":"[Fleet]
Add link to scaling guide for deploying Elastic Agent on K8
(#179394)\n\n## Summary\r\n\r\nFixes #178753. Adds blurb and doc link
about scaling resources when\r\ndeploying Elastic Agent on
Kubernetes.\r\n\r\nApplies to both managed and standalone K8 manifest
workflows:\r\n\r\n<img width=\"699\"
alt=\"image\"\r\nsrc=\"2e9773c5-e4b5-4003-a0a9-de4445f56c6a\">\r\n\r\n<img
width=\"766\"
alt=\"image\"\r\nsrc=\"62c1bf79-fbde-4096-ac56-6539e700c6b8\">\r\n\r\n###
Checklist\r\n\r\nDelete any items that are not applicable to this
PR.\r\n\r\n- [x] Any text added follows [EUI's
writing\r\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),
uses\r\nsentence case text and includes
[i18n\r\nsupport](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md)","sha":"9bee0b2d430757588aedf329c0d2cdc50ff2841e","branchLabelMapping":{"^v8.14.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","Team:Fleet","v8.14.0","v8.13.1"],"title":"[Fleet]
Add link to scaling guide for deploying Elastic Agent on
K8","number":179394,"url":"https://github.com/elastic/kibana/pull/179394","mergeCommit":{"message":"[Fleet]
Add link to scaling guide for deploying Elastic Agent on K8
(#179394)\n\n## Summary\r\n\r\nFixes #178753. Adds blurb and doc link
about scaling resources when\r\ndeploying Elastic Agent on
Kubernetes.\r\n\r\nApplies to both managed and standalone K8 manifest
workflows:\r\n\r\n<img width=\"699\"
alt=\"image\"\r\nsrc=\"2e9773c5-e4b5-4003-a0a9-de4445f56c6a\">\r\n\r\n<img
width=\"766\"
alt=\"image\"\r\nsrc=\"62c1bf79-fbde-4096-ac56-6539e700c6b8\">\r\n\r\n###
Checklist\r\n\r\nDelete any items that are not applicable to this
PR.\r\n\r\n- [x] Any text added follows [EUI's
writing\r\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),
uses\r\nsentence case text and includes
[i18n\r\nsupport](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md)","sha":"9bee0b2d430757588aedf329c0d2cdc50ff2841e"}},"sourceBranch":"main","suggestedTargetBranches":["8.13"],"targetPullRequestStates":[{"branch":"main","label":"v8.14.0","branchLabelMappingKey":"^v8.14.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/179394","number":179394,"mergeCommit":{"message":"[Fleet]
Add link to scaling guide for deploying Elastic Agent on K8
(#179394)\n\n## Summary\r\n\r\nFixes #178753. Adds blurb and doc link
about scaling resources when\r\ndeploying Elastic Agent on
Kubernetes.\r\n\r\nApplies to both managed and standalone K8 manifest
workflows:\r\n\r\n<img width=\"699\"
alt=\"image\"\r\nsrc=\"2e9773c5-e4b5-4003-a0a9-de4445f56c6a\">\r\n\r\n<img
width=\"766\"
alt=\"image\"\r\nsrc=\"62c1bf79-fbde-4096-ac56-6539e700c6b8\">\r\n\r\n###
Checklist\r\n\r\nDelete any items that are not applicable to this
PR.\r\n\r\n- [x] Any text added follows [EUI's
writing\r\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),
uses\r\nsentence case text and includes
[i18n\r\nsupport](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md)","sha":"9bee0b2d430757588aedf329c0d2cdc50ff2841e"}},{"branch":"8.13","label":"v8.13.1","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

Co-authored-by: Jen Huang <its.jenetic@gmail.com>
This commit is contained in:
Kibana Machine 2024-03-26 18:06:25 -04:00 committed by GitHub
parent 73e1fe0377
commit c8a6963d4c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 37 additions and 10 deletions

View file

@ -833,6 +833,7 @@ export const getDocLinks = ({ kibanaBranch, buildFlavor }: GetDocLinkOptions): D
policySecrets: `${FLEET_DOCS}agent-policy.html#agent-policy-secret-values`,
remoteESOoutput: `${FLEET_DOCS}monitor-elastic-agent.html#external-elasticsearch-monitoring`,
performancePresets: `${FLEET_DOCS}es-output-settings.html#es-output-settings-performance-tuning-settings`,
scalingKubernetesResourcesAndLimits: `${FLEET_DOCS}scaling-on-kubernetes.html#_specifying_resources_and_limits_in_agent_manifests`,
},
ecs: {
guide: `${ELASTIC_WEBSITE_URL}guide/en/ecs/current/index.html`,

View file

@ -543,6 +543,7 @@ export interface DocLinks {
policySecrets: string;
remoteESOoutput: string;
performancePresets: string;
scalingKubernetesResourcesAndLimits: string;
}>;
readonly ecs: {
readonly guide: string;

View file

@ -14,6 +14,7 @@ import {
EuiFlexItem,
EuiCopy,
EuiCodeBlock,
EuiLink,
} from '@elastic/eui';
import { FormattedMessage } from '@kbn/i18n-react';
import { i18n } from '@kbn/i18n';
@ -48,7 +49,7 @@ export const KubernetesInstructions: React.FunctionComponent<Props> = ({
fleetServerHost,
}) => {
const core = useStartServices();
const { notifications } = core;
const { notifications, docLinks } = core;
const [yaml, setYaml] = useState<string>('');
const [copyButtonClicked, setCopyButtonClicked] = useState(false);
@ -97,7 +98,21 @@ export const KubernetesInstructions: React.FunctionComponent<Props> = ({
const downloadDescription = (
<FormattedMessage
id="xpack.fleet.agentEnrollment.downloadDescriptionForK8s"
defaultMessage="Copy or download the Kubernetes manifest."
defaultMessage="Copy or download the Kubernetes manifest. Note that the following manifest contains resource limits that may not be appropriate for a production environment, review our guide on {scalingGuideLink} before deploying this manifest."
values={{
scalingGuideLink: (
<EuiLink
external
href={docLinks.links.fleet.scalingKubernetesResourcesAndLimits}
target="_blank"
>
<FormattedMessage
id="xpack.fleet.fleet.agentEnrollment.k8ScalingGuideLinkText"
defaultMessage="Scaling Elastic Agent on Kubernetes"
/>
</EuiLink>
),
}}
/>
);
@ -141,7 +156,7 @@ export const KubernetesInstructions: React.FunctionComponent<Props> = ({
) : (
<FormattedMessage
id="xpack.fleet.enrollmentInstructions.downloadManifestButtonk8s"
defaultMessage="Download Manifest"
defaultMessage="Download manifest"
/>
)}
</EuiButton>

View file

@ -15,6 +15,7 @@ import {
EuiFlexItem,
EuiCopy,
EuiCodeBlock,
EuiLink,
} from '@elastic/eui';
import { FormattedMessage } from '@kbn/i18n-react';
import { i18n } from '@kbn/i18n';
@ -22,6 +23,7 @@ import { i18n } from '@kbn/i18n';
import type { EuiContainedStepProps } from '@elastic/eui/src/components/steps/steps';
import type { K8sMode } from '../types';
import { useStartServices } from '../../../hooks';
export const ConfigureStandaloneAgentStep = ({
isK8s,
@ -38,14 +40,28 @@ export const ConfigureStandaloneAgentStep = ({
isComplete?: boolean;
onCopy?: () => void;
}): EuiContainedStepProps => {
const core = useStartServices();
const { docLinks } = core;
const policyMsg =
isK8s === 'IS_KUBERNETES' ? (
<FormattedMessage
id="xpack.fleet.agentEnrollment.stepConfigureAgentDescriptionk8s"
defaultMessage="Copy or download the Kubernetes manifest inside the Kubernetes cluster. Update {ESUsernameVariable} and {ESPasswordVariable} environment variables in the Daemonset to match your Elasticsearch credentials."
defaultMessage="Copy or download the Kubernetes manifest inside the Kubernetes cluster. Update {ESUsernameVariable} and {ESPasswordVariable} environment variables in the Daemonset to match your Elasticsearch credentials. Note that the following manifest contains resource limits that may not be appropriate for a production environment, review our guide on {scalingGuideLink} before deploying this manifest."
values={{
ESUsernameVariable: <EuiCode>ES_USERNAME</EuiCode>,
ESPasswordVariable: <EuiCode>ES_PASSWORD</EuiCode>,
scalingGuideLink: (
<EuiLink
external
href={docLinks.links.fleet.scalingKubernetesResourcesAndLimits}
target="_blank"
>
<FormattedMessage
id="xpack.fleet.fleet.agentEnrollment.k8ScalingGuideLinkText"
defaultMessage="Scaling Elastic Agent on Kubernetes"
/>
</EuiLink>
),
}}
/>
) : (

View file

@ -17745,7 +17745,6 @@
"xpack.fleet.agentEnrollment.loading.instructions": "Une fois l'agent démarré, la Suite Elastic écoute l'agent et confirme son enregistrement dans Fleet. Si vous rencontrez des problèmes lors de la connexion, consultez {link}.",
"xpack.fleet.agentEnrollment.missingFleetHostCalloutText": "L'enregistrement d'agents dans Fleet nécessite l'URL de l'hôte de votre serveur Fleet. Vous pouvez ajouter ces informations dans Paramètres de Fleet. Pour en savoir plus, consultez {link}.",
"xpack.fleet.agentEnrollment.stepConfigureAgentDescription": "Copiez cette politique dans le fichier {fileName} de l'hôte sur lequel l'agent Elastic Agent est installé. Modifiez {ESUsernameVariable} et {ESPasswordVariable} dans la section {outputSection} du fichier {fileName} pour utiliser vos identifiants de connexion Elasticsearch.",
"xpack.fleet.agentEnrollment.stepConfigureAgentDescriptionk8s": "Copiez ou téléchargez le manifeste Kubernetes à l'intérieur du cluster Kubernetes. Mettez à jour les variables d'environnement {ESUsernameVariable} et {ESPasswordVariable} dans le Daemonset pour qu'elles correspondent à vos informations d'identification Elasticsearch.",
"xpack.fleet.agentFlyout.managedRadioOption": "{managed} L'enregistrement d'un agent Elastic Agent dans Fleet permet de centraliser la gestion de ce dernier tout en déployant automatiquement les mises à jour.",
"xpack.fleet.agentFlyout.standaloneRadioOption": "{standaloneMessage} Exécutez un agent Elastic Agent de façon autonome pour le configurer et le mettre à jour manuellement sur l'hôte sur lequel il est installé.",
"xpack.fleet.agentHealth.checkinMessageText": "Dernier message de vérification : {lastCheckinMessage}",
@ -18120,7 +18119,6 @@
"xpack.fleet.agentEnrollment.cloudShell.stepEnrollAndRunAgentTitle": "Installer Elastic Agent sur votre cloud",
"xpack.fleet.agentEnrollment.confirmation.button": "Voir les agents inscrits",
"xpack.fleet.agentEnrollment.copyPolicyButton": "Copier dans le presse-papiers",
"xpack.fleet.agentEnrollment.downloadDescriptionForK8s": "Copiez ou téléchargez le manifeste Kubernetes.",
"xpack.fleet.agentEnrollment.downloadManifestButtonk8sClicked": "Téléchargé",
"xpack.fleet.agentEnrollment.downloadPolicyButton": "Télécharger la politique",
"xpack.fleet.agentEnrollment.downloadPolicyButtonk8s": "Télécharger le manifeste",

View file

@ -17724,7 +17724,6 @@
"xpack.fleet.agentEnrollment.loading.instructions": "エージェントが起動した後、Elastic Stackはエージェントを待機し、Fleetでの登録を確認します。接続の問題が発生した場合は、{link}を確認してください。",
"xpack.fleet.agentEnrollment.missingFleetHostCalloutText": "Fleetにエージェントを登録するには、FleetサーバーホストのURLが必要です。Fleet設定でこの情報を追加できます。詳細は{link}をご覧ください。",
"xpack.fleet.agentEnrollment.stepConfigureAgentDescription": "Elasticエージェントがインストールされているホストで、このポリシーを{fileName}にコピーします。Elasticsearch資格情報を使用するには、{fileName}の{outputSection}セクションで、{ESUsernameVariable}と{ESPasswordVariable}を変更します。",
"xpack.fleet.agentEnrollment.stepConfigureAgentDescriptionk8s": "Kubernetesクラスター内でKubernetesマニフェストをコピーしてダウンロードします。Daemonsetで{ESUsernameVariable}および{ESPasswordVariable}環境変数を更新し、Elasticsearch資格情報と一致するようにします。",
"xpack.fleet.agentFlyout.managedRadioOption": "{managed} ElasticエージェントをFleetに登録して、自動的に更新をデプロイしたり、一元的にエージェントを管理したりします。",
"xpack.fleet.agentFlyout.standaloneRadioOption": "{standaloneMessage} Elasticエージェントをスタンドアロンで実行して、エージェントがインストールされているホストで、手動でエージェントを構成および更新します。",
"xpack.fleet.agentHealth.checkinMessageText": "前回のチェックインメッセージ:{lastCheckinMessage}",
@ -18098,7 +18097,6 @@
"xpack.fleet.agentEnrollment.cloudShell.stepEnrollAndRunAgentTitle": "クラウドにElasticエージェントをインストール",
"xpack.fleet.agentEnrollment.confirmation.button": "登録されたエージェントを表示",
"xpack.fleet.agentEnrollment.copyPolicyButton": "クリップボードにコピー",
"xpack.fleet.agentEnrollment.downloadDescriptionForK8s": "Kubernetesマニフェストをコピーまたはダウンロードします。",
"xpack.fleet.agentEnrollment.downloadManifestButtonk8sClicked": "ダウンロード済み",
"xpack.fleet.agentEnrollment.downloadPolicyButton": "ポリシーのダウンロード",
"xpack.fleet.agentEnrollment.downloadPolicyButtonk8s": "マニフェストのダウンロード",

View file

@ -17751,7 +17751,6 @@
"xpack.fleet.agentEnrollment.loading.instructions": "代理启动后, Elastic Stack 将侦听代理,并在 Fleet 中确认注册。如果遇到连接问题,请参阅 {link}。",
"xpack.fleet.agentEnrollment.missingFleetHostCalloutText": "需要 Fleet 服务器主机的 URL才能使用 Fleet 注册代理。可以在“Fleet 设置”中添加此信息。有关更多信息,请参阅{link}。",
"xpack.fleet.agentEnrollment.stepConfigureAgentDescription": "在安装 Elastic 代理的主机上将此策略复制到 {fileName}。在 {fileName} 的 {outputSection} 部分中修改 {ESUsernameVariable} 和 {ESPasswordVariable},以使用您的 Elasticsearch 凭据。",
"xpack.fleet.agentEnrollment.stepConfigureAgentDescriptionk8s": "复制或下载 Kubernetes 集群内的 Kubernetes 清单。更新 Daemonset 中的 {ESUsernameVariable} 和 {ESPasswordVariable} 环境变量以匹配您的 Elasticsearch 凭据。",
"xpack.fleet.agentFlyout.managedRadioOption": "{managed} 在 Fleet 中注册 Elastic 代理,以便自动部署更新并集中管理该代理。",
"xpack.fleet.agentFlyout.standaloneRadioOption": "{standaloneMessage} 独立运行 Elastic 代理,以在安装代理的主机上手动配置和更新代理。",
"xpack.fleet.agentHealth.checkinMessageText": "上次签入消息:{lastCheckinMessage}",
@ -18127,7 +18126,6 @@
"xpack.fleet.agentEnrollment.cloudShell.stepEnrollAndRunAgentTitle": "在云端安装 Elastic 代理",
"xpack.fleet.agentEnrollment.confirmation.button": "查看注册的代理",
"xpack.fleet.agentEnrollment.copyPolicyButton": "复制到剪贴板",
"xpack.fleet.agentEnrollment.downloadDescriptionForK8s": "复制或下载 Kubernetes 清单。",
"xpack.fleet.agentEnrollment.downloadManifestButtonk8sClicked": "已下载",
"xpack.fleet.agentEnrollment.downloadPolicyButton": "下载策略",
"xpack.fleet.agentEnrollment.downloadPolicyButtonk8s": "下载清单",