diff --git a/app/assets/javascripts/clusters_list/components/agent_empty_state.vue b/app/assets/javascripts/clusters_list/components/agent_empty_state.vue
index 37cec0b2891adb44dee7f7316234509bb7e07075..f54f7b114144e74e24cc793742f8485f0dadef79 100644
--- a/app/assets/javascripts/clusters_list/components/agent_empty_state.vue
+++ b/app/assets/javascripts/clusters_list/components/agent_empty_state.vue
@@ -6,8 +6,7 @@ import { INSTALL_AGENT_MODAL_ID, I18N_AGENTS_EMPTY_STATE } from '../constants';
 export default {
   i18n: I18N_AGENTS_EMPTY_STATE,
   modalId: INSTALL_AGENT_MODAL_ID,
-  multipleClustersDocsUrl: helpPagePath('user/project/clusters/multiple_kubernetes_clusters'),
-  installDocsUrl: helpPagePath('administration/clusters/kas'),
+  agentDocsUrl: helpPagePath('user/clusters/agent/index'),
   components: {
     GlButton,
     GlEmptyState,
@@ -32,38 +31,24 @@ export default {
   <gl-empty-state :svg-path="emptyStateImage" title="" class="agents-empty-state">
     <template #description>
       <p class="gl-text-left">
-        {{ $options.i18n.introText }}
-      </p>
-      <p class="gl-text-left">
-        <gl-sprintf :message="$options.i18n.multipleClustersText">
+        <gl-sprintf :message="$options.i18n.introText">
           <template #link="{ content }">
-            <gl-link
-              :href="$options.multipleClustersDocsUrl"
-              target="_blank"
-              data-testid="multiple-clusters-docs-link"
-            >
+            <gl-link :href="$options.agentDocsUrl">
               {{ content }}
             </gl-link>
           </template>
         </gl-sprintf>
       </p>
-
-      <p>
-        <gl-link :href="$options.installDocsUrl" target="_blank" data-testid="install-docs-link">
-          {{ $options.i18n.learnMoreText }}
-        </gl-link>
-      </p>
     </template>
 
     <template #actions>
       <gl-button
         v-if="!isChildComponent"
         v-gl-modal-directive="$options.modalId"
-        data-testid="integration-primary-button"
         category="primary"
         variant="confirm"
       >
-        {{ $options.i18n.primaryButtonText }}
+        {{ $options.i18n.buttonText }}
       </gl-button>
     </template>
   </gl-empty-state>
diff --git a/app/assets/javascripts/clusters_list/components/clusters_empty_state.vue b/app/assets/javascripts/clusters_list/components/clusters_empty_state.vue
index 3879af6e9cb94fefb0f136a4b83a1f1b59ba3de5..ce601de57bd82ff5ab28b7ef7681071225bacf41 100644
--- a/app/assets/javascripts/clusters_list/components/clusters_empty_state.vue
+++ b/app/assets/javascripts/clusters_list/components/clusters_empty_state.vue
@@ -1,5 +1,5 @@
 <script>
-import { GlEmptyState, GlButton, GlLink, GlSprintf } from '@gitlab/ui';
+import { GlEmptyState, GlButton, GlLink, GlSprintf, GlAlert } from '@gitlab/ui';
 import { mapState } from 'vuex';
 import { helpPagePath } from '~/helpers/help_page_helper';
 import { I18N_CLUSTERS_EMPTY_STATE } from '../constants';
@@ -11,6 +11,7 @@ export default {
     GlButton,
     GlLink,
     GlSprintf,
+    GlAlert,
   },
   inject: ['emptyStateHelpText', 'clustersEmptyStateImage', 'newClusterPath'],
   props: {
@@ -20,8 +21,11 @@ export default {
       type: Boolean,
     },
   },
-  learnMoreHelpUrl: helpPagePath('user/project/clusters/index'),
-  multipleClustersHelpUrl: helpPagePath('user/project/clusters/multiple_kubernetes_clusters'),
+  clustersHelpUrl: helpPagePath('user/infrastructure/clusters/index', {
+    anchor: 'certificate-based-kubernetes-integration-deprecated',
+  }),
+  blogPostUrl:
+    'https://about.gitlab.com/blog/2021/11/15/deprecating-the-cert-based-kubernetes-integration/',
   computed: {
     ...mapState(['canAddCluster']),
   },
@@ -29,48 +33,45 @@ export default {
 </script>
 
 <template>
-  <gl-empty-state :svg-path="clustersEmptyStateImage" title="">
-    <template #description>
-      <p class="gl-text-left">
-        {{ $options.i18n.description }}
-      </p>
-      <p class="gl-text-left">
-        <gl-sprintf :message="$options.i18n.multipleClustersText">
-          <template #link="{ content }">
-            <gl-link
-              :href="$options.multipleClustersHelpUrl"
-              target="_blank"
-              data-testid="multiple-clusters-docs-link"
-            >
-              {{ content }}
-            </gl-link>
-          </template>
-        </gl-sprintf>
-      </p>
+  <div>
+    <gl-empty-state :svg-path="clustersEmptyStateImage" title="">
+      <template #description>
+        <p class="gl-text-left">
+          <gl-sprintf :message="$options.i18n.introText">
+            <template #link="{ content }">
+              <gl-link :href="$options.clustersHelpUrl">{{ content }}</gl-link>
+            </template>
+          </gl-sprintf>
+        </p>
 
-      <p v-if="emptyStateHelpText" data-testid="clusters-empty-state-text">
-        {{ emptyStateHelpText }}
-      </p>
+        <p v-if="emptyStateHelpText" data-testid="clusters-empty-state-text">
+          {{ emptyStateHelpText }}
+        </p>
+      </template>
 
-      <p>
-        <gl-link :href="$options.learnMoreHelpUrl" target="_blank" data-testid="clusters-docs-link">
-          {{ $options.i18n.learnMoreLinkText }}
-        </gl-link>
-      </p>
-    </template>
+      <template #actions>
+        <gl-button
+          v-if="!isChildComponent"
+          data-testid="integration-primary-button"
+          data-qa-selector="add_kubernetes_cluster_link"
+          category="primary"
+          variant="confirm"
+          :disabled="!canAddCluster"
+          :href="newClusterPath"
+        >
+          {{ $options.i18n.buttonText }}
+        </gl-button>
+      </template>
+    </gl-empty-state>
 
-    <template #actions>
-      <gl-button
-        v-if="!isChildComponent"
-        data-testid="integration-primary-button"
-        data-qa-selector="add_kubernetes_cluster_link"
-        category="primary"
-        variant="confirm"
-        :disabled="!canAddCluster"
-        :href="newClusterPath"
-      >
-        {{ $options.i18n.buttonText }}
-      </gl-button>
-    </template>
-  </gl-empty-state>
+    <gl-alert variant="warning" :dismissible="false">
+      <gl-sprintf :message="$options.i18n.alertText">
+        <template #link="{ content }">
+          <gl-link :href="$options.blogPostUrl" target="_blank">
+            {{ content }}
+          </gl-link>
+        </template>
+      </gl-sprintf>
+    </gl-alert>
+  </div>
 </template>
diff --git a/app/assets/javascripts/clusters_list/components/clusters_view_all.vue b/app/assets/javascripts/clusters_list/components/clusters_view_all.vue
index 285876e57d8714e6c4ded85fe0e79106c7e87483..0e312d21e4ec9de975ad532554282c3fb45fa479 100644
--- a/app/assets/javascripts/clusters_list/components/clusters_view_all.vue
+++ b/app/assets/javascripts/clusters_list/components/clusters_view_all.vue
@@ -34,10 +34,12 @@ export default {
   directives: {
     GlModalDirective,
   },
-  AGENT_CARD_INFO,
-  CERTIFICATE_BASED_CARD_INFO,
   MAX_CLUSTERS_LIST,
   INSTALL_AGENT_MODAL_ID,
+  i18n: {
+    agent: AGENT_CARD_INFO,
+    certificate: CERTIFICATE_BASED_CARD_INFO,
+  },
   inject: ['addClusterPath'],
   props: {
     defaultBranchName: {
@@ -122,21 +124,21 @@ export default {
             </gl-sprintf>
           </h3>
 
-          <gl-badge id="clusters-recommended-badge" size="md" variant="info">{{
-            $options.AGENT_CARD_INFO.tooltip.label
+          <gl-badge id="clusters-recommended-badge" variant="info">{{
+            $options.i18n.agent.tooltip.label
           }}</gl-badge>
 
           <gl-popover
             target="clusters-recommended-badge"
             container="viewport"
             placement="bottom"
-            :title="$options.AGENT_CARD_INFO.tooltip.title"
+            :title="$options.i18n.agent.tooltip.title"
           >
             <p class="gl-mb-0">
-              <gl-sprintf :message="$options.AGENT_CARD_INFO.tooltip.text">
+              <gl-sprintf :message="$options.i18n.agent.tooltip.text">
                 <template #link="{ content }">
                   <gl-link
-                    :href="$options.AGENT_CARD_INFO.tooltip.link"
+                    :href="$options.i18n.agent.tooltip.link"
                     target="_blank"
                     class="gl-font-sm"
                   >
@@ -159,9 +161,9 @@ export default {
           <gl-link
             v-if="totalAgents"
             data-testid="agents-tab-footer-link"
-            :href="`?tab=${$options.AGENT_CARD_INFO.tabName}`"
-            @click="changeTab($event, $options.AGENT_CARD_INFO.tabName)"
-            ><gl-sprintf :message="$options.AGENT_CARD_INFO.footerText"
+            :href="`?tab=${$options.i18n.agent.tabName}`"
+            @click="changeTab($event, $options.i18n.agent.tabName)"
+            ><gl-sprintf :message="$options.i18n.agent.footerText"
               ><template #number>{{ cardFooterNumber(totalAgents) }}</template></gl-sprintf
             ></gl-link
           ><gl-button
@@ -169,7 +171,7 @@ export default {
             class="gl-ml-4"
             category="secondary"
             variant="confirm"
-            >{{ $options.AGENT_CARD_INFO.actionText }}</gl-button
+            >{{ $options.i18n.agent.actionText }}</gl-button
           >
         </template>
       </gl-card>
@@ -190,6 +192,7 @@ export default {
               <template #total>{{ clustersCardTitle.total }}</template>
             </gl-sprintf>
           </h3>
+          <gl-badge variant="warning">{{ $options.i18n.certificate.badgeText }}</gl-badge>
         </template>
 
         <clusters :limit="$options.MAX_CLUSTERS_LIST" :is-child-component="true" />
@@ -198,9 +201,9 @@ export default {
           <gl-link
             v-if="totalClusters"
             data-testid="clusters-tab-footer-link"
-            :href="`?tab=${$options.CERTIFICATE_BASED_CARD_INFO.tabName}`"
-            @click="changeTab($event, $options.CERTIFICATE_BASED_CARD_INFO.tabName)"
-            ><gl-sprintf :message="$options.CERTIFICATE_BASED_CARD_INFO.footerText"
+            :href="`?tab=${$options.i18n.certificate.tabName}`"
+            @click="changeTab($event, $options.i18n.certificate.tabName)"
+            ><gl-sprintf :message="$options.i18n.certificate.footerText"
               ><template #number>{{ cardFooterNumber(totalClusters) }}</template></gl-sprintf
             ></gl-link
           ><gl-button
@@ -209,7 +212,7 @@ export default {
             variant="confirm"
             class="gl-ml-4"
             :href="addClusterPath"
-            >{{ $options.CERTIFICATE_BASED_CARD_INFO.actionText }}</gl-button
+            >{{ $options.i18n.certificate.actionText }}</gl-button
           >
         </template>
       </gl-card>
diff --git a/app/assets/javascripts/clusters_list/components/install_agent_modal.vue b/app/assets/javascripts/clusters_list/components/install_agent_modal.vue
index 2c5bbe4a7573fabf8296f7db1b87d3fc3e8a0ec0..a2f3c3579ab3f124b285bebcea156d7add96d9e2 100644
--- a/app/assets/javascripts/clusters_list/components/install_agent_modal.vue
+++ b/app/assets/javascripts/clusters_list/components/install_agent_modal.vue
@@ -9,7 +9,7 @@ import {
   GlSprintf,
 } from '@gitlab/ui';
 import { helpPagePath } from '~/helpers/help_page_helper';
-import ClipboardButton from '~/vue_shared/components/clipboard_button.vue';
+import ModalCopyButton from '~/vue_shared/components/modal_copy_button.vue';
 import CodeBlock from '~/vue_shared/components/code_block.vue';
 import Tracking from '~/tracking';
 import { generateAgentRegistrationCommand } from '../clusters_util';
@@ -38,9 +38,19 @@ export default {
   EVENT_ACTIONS_OPEN,
   EVENT_ACTIONS_CLICK,
   EVENT_LABEL_MODAL,
+  basicInstallPath: helpPagePath('user/clusters/agent/install/index', {
+    anchor: 'install-the-agent-into-the-cluster',
+  }),
+  advancedInstallPath: helpPagePath('user/clusters/agent/install/index', {
+    anchor: 'advanced-installation',
+  }),
+  enableKasPath: helpPagePath('administration/clusters/kas'),
+  installAgentPath: helpPagePath('user/clusters/agent/install/index'),
+  registerAgentPath: helpPagePath('user/clusters/agent/install/index', {
+    anchor: 'create-an-agent-record-in-gitlab',
+  }),
   components: {
     AvailableAgentsDropdown,
-    ClipboardButton,
     CodeBlock,
     GlAlert,
     GlButton,
@@ -49,6 +59,7 @@ export default {
     GlLink,
     GlModal,
     GlSprintf,
+    ModalCopyButton,
   },
   mixins: [trackingMixin],
   inject: ['projectPath', 'kasAddress', 'emptyStateImage'],
@@ -103,17 +114,6 @@ export default {
     agentRegistrationCommand() {
       return generateAgentRegistrationCommand(this.agentToken, this.kasAddress);
     },
-    basicInstallPath() {
-      return helpPagePath('user/clusters/agent/install/index', {
-        anchor: 'install-the-agent-into-the-cluster',
-      });
-    },
-    advancedInstallPath() {
-      return helpPagePath('user/clusters/agent/install/index', { anchor: 'advanced-installation' });
-    },
-    enableKasPath() {
-      return helpPagePath('administration/clusters/kas');
-    },
     getAgentsQueryVariables() {
       return {
         defaultBranchName: this.defaultBranchName,
@@ -122,11 +122,6 @@ export default {
         projectPath: this.projectPath,
       };
     },
-    installAgentPath() {
-      return helpPagePath('user/clusters/agent/index', {
-        anchor: 'define-a-configuration-repository',
-      });
-    },
     i18n() {
       return I18N_AGENT_MODAL[this.modalType];
     },
@@ -272,7 +267,7 @@ export default {
 
         <p class="gl-mb-0">{{ i18n.selectAgentBody }}</p>
         <p>
-          <gl-link :href="basicInstallPath" target="_blank"> {{ i18n.learnMoreLink }}</gl-link>
+          <gl-link :href="$options.registerAgentPath"> {{ i18n.learnMoreLink }}</gl-link>
         </p>
 
         <form>
@@ -301,7 +296,7 @@ export default {
         <p>
           <gl-sprintf :message="i18n.tokenBody">
             <template #link="{ content }">
-              <gl-link :href="basicInstallPath" target="_blank"> {{ content }}</gl-link>
+              <gl-link :href="$options.basicInstallPath" target="_blank"> {{ content }}</gl-link>
             </template>
           </gl-sprintf>
         </p>
@@ -315,7 +310,11 @@ export default {
         <p>
           <gl-form-input-group readonly :value="agentToken" :select-on-click="true">
             <template #append>
-              <clipboard-button :text="agentToken" :title="i18n.copyToken" />
+              <modal-copy-button
+                :text="agentToken"
+                :title="i18n.copyToken"
+                :modal-id="$options.modalId"
+              />
             </template>
           </gl-form-input-group>
         </p>
@@ -339,7 +338,7 @@ export default {
         <p>
           <gl-sprintf :message="i18n.advancedInstallBody">
             <template #link="{ content }">
-              <gl-link :href="advancedInstallPath" target="_blank"> {{ content }}</gl-link>
+              <gl-link :href="$options.advancedInstallPath" target="_blank"> {{ content }}</gl-link>
             </template>
           </gl-sprintf>
         </p>
@@ -350,33 +349,25 @@ export default {
       <div class="gl-text-center gl-mb-5">
         <img :alt="i18n.altText" :src="emptyStateImage" height="100" />
       </div>
-      <p>{{ i18n.modalBody }}</p>
 
-      <p v-if="kasDisabled">
-        <gl-sprintf :message="i18n.enableKasText">
+      <p>
+        <gl-sprintf :message="i18n.modalBody">
           <template #link="{ content }">
-            <gl-link :href="enableKasPath"> {{ content }}</gl-link>
+            <gl-link :href="$options.installAgentPath"> {{ content }}</gl-link>
           </template>
         </gl-sprintf>
       </p>
 
-      <p class="gl-mb-0">
-        <gl-link :href="installAgentPath">
-          {{ i18n.docsLinkText }}
-        </gl-link>
+      <p v-if="kasDisabled">
+        <gl-sprintf :message="i18n.enableKasText">
+          <template #link="{ content }">
+            <gl-link :href="$options.enableKasPath"> {{ content }}</gl-link>
+          </template>
+        </gl-sprintf>
       </p>
     </template>
 
     <template #modal-footer>
-      <gl-button
-        v-if="canCancel"
-        :data-track-action="$options.EVENT_ACTIONS_CLICK"
-        :data-track-label="$options.EVENT_LABEL_MODAL"
-        data-track-property="cancel"
-        @click="closeModal"
-        >{{ i18n.cancel }}
-      </gl-button>
-
       <gl-button
         v-if="registered"
         variant="confirm"
@@ -400,6 +391,15 @@ export default {
         >{{ i18n.registerAgentButton }}
       </gl-button>
 
+      <gl-button
+        v-if="canCancel"
+        :data-track-action="$options.EVENT_ACTIONS_CLICK"
+        :data-track-label="$options.EVENT_LABEL_MODAL"
+        data-track-property="cancel"
+        @click="closeModal"
+        >{{ i18n.cancel }}
+      </gl-button>
+
       <gl-button
         v-if="isEmptyStateModal"
         :href="repositoryPath"
diff --git a/app/assets/javascripts/clusters_list/constants.js b/app/assets/javascripts/clusters_list/constants.js
index 960c9701d817bf1c386f2986a609b1297f590c81..9b52df74fc56ce0592759fa9b1a0010185be6c26 100644
--- a/app/assets/javascripts/clusters_list/constants.js
+++ b/app/assets/javascripts/clusters_list/constants.js
@@ -66,63 +66,61 @@ export const STATUSES = {
 
 export const I18N_AGENT_MODAL = {
   agent_registration: {
-    registerAgentButton: s__('ClusterAgents|Register Agent'),
+    registerAgentButton: s__('ClusterAgents|Register'),
     close: __('Close'),
     cancel: __('Cancel'),
 
-    modalTitle: s__('ClusterAgents|Connect with Agent'),
-
-    selectAgentTitle: s__('ClusterAgents|Select which Agent you want to install'),
+    modalTitle: s__('ClusterAgents|Connect a cluster through the Agent'),
+    selectAgentTitle: s__('ClusterAgents|Select an agent to register with GitLab'),
     selectAgentBody: s__(
-      'ClusterAgents|Select an Agent to register with GitLab and install on your cluster.',
+      'ClusterAgents|Register an agent to generate a token that will be used to install the agent on your cluster in the next step.',
     ),
-    learnMoreLink: s__('ClusterAgents|Learn more about the GitLab Kubernetes Agent registration.'),
+    learnMoreLink: s__('ClusterAgents|How to register an agent?'),
 
     copyToken: s__('ClusterAgents|Copy token'),
     tokenTitle: s__('ClusterAgents|Registration token'),
     tokenBody: s__(
-      `ClusterAgents|The registration token will be used to connect the Agent on your cluster to GitLab. To learn more about the registration tokens and how they are used %{linkStart}go to the documentation%{linkEnd}.`,
+      `ClusterAgents|The registration token will be used to connect the agent on your cluster to GitLab. %{linkStart}What are registration tokens?%{linkEnd}`,
     ),
 
     tokenSingleUseWarningTitle: s__(
-      'ClusterAgents|The token value will not be shown again after you close this window.',
+      'ClusterAgents|You cannot see this token again after you close this window.',
     ),
     tokenSingleUseWarningBody: s__(
-      `ClusterAgents|The recommended installation method provided below includes the token. If you want to follow the alternative installation method provided in the docs make sure you save the token value before you close the window.`,
+      `ClusterAgents|The recommended installation method includes the token. If you want to follow the advanced installation method provided in the docs, make sure you save the token value before you close this window.`,
     ),
 
     basicInstallTitle: s__('ClusterAgents|Recommended installation method'),
     basicInstallBody: __(
-      `Open a CLI and connect to the cluster you want to install the Agent in. Use this installation method to minimize any manual steps. The token is already included in the command.`,
+      `Open a CLI and connect to the cluster you want to install the agent in. Use this installation method to minimize any manual steps. The token is already included in the command.`,
     ),
 
-    advancedInstallTitle: s__('ClusterAgents|Alternative installation methods'),
+    advancedInstallTitle: s__('ClusterAgents|Advanced installation methods'),
     advancedInstallBody: s__(
-      'ClusterAgents|For alternative installation methods %{linkStart}go to the documentation%{linkEnd}.',
+      'ClusterAgents|For the advanced installation method %{linkStart}see the documentation%{linkEnd}.',
     ),
 
-    registrationErrorTitle: __('Failed to register Agent'),
+    registrationErrorTitle: s__('ClusterAgents|Failed to register an agent'),
     unknownError: s__('ClusterAgents|An unknown error occurred. Please try again.'),
   },
   empty_state: {
-    modalTitle: s__('ClusterAgents|Install new Agent'),
+    modalTitle: s__('ClusterAgents|Connect your cluster through the Agent'),
     modalBody: s__(
-      'ClusterAgents|To install an Agent you should create an agent directory in the Repository first. We recommend that you add the Agent configuration to the directory before you start the installation process.',
+      "ClusterAgents|To install a new agent, first add the agent's configuration file to this repository. %{linkStart}What's the agent's configuration file?%{linkEnd}",
     ),
-    docsLinkText: s__('ClusterAgents|Learn more about installing a GitLab Kubernetes Agent'),
     enableKasText: s__(
-      'ClusterAgents|The GitLab Agent also requires %{linkStart}enabling the Agent Server%{linkEnd}',
+      "ClusterAgents|Your instance doesn't have the %{linkStart}GitLab Agent Server (KAS)%{linkEnd} set up. Ask a GitLab Administrator to install it.",
     ),
-    altText: s__('ClusterAgents|GitLab Kubernetes Agent'),
-    secondaryButton: s__('ClusterAgents|Go to the repository'),
-    done: __('Done'),
+    altText: s__('ClusterAgents|GitLab Agent for Kubernetes'),
+    secondaryButton: s__('ClusterAgents|Go to the repository files'),
+    done: __('Cancel'),
   },
 };
 
 export const KAS_DISABLED_ERROR = 'Gitlab::Kas::Client::ConfigurationError';
 
 export const I18N_AVAILABLE_AGENTS_DROPDOWN = {
-  selectAgent: s__('ClusterAgents|Select an Agent'),
+  selectAgent: s__('ClusterAgents|Select an agent'),
   registeringAgent: s__('ClusterAgents|Registering Agent'),
 };
 
@@ -143,7 +141,7 @@ export const AGENT_STATUSES = {
       title: s__('ClusterAgents|Agent might not be connected to GitLab'),
       body: sprintf(
         s__(
-          'ClusterAgents|The Agent has not been connected in a long time. There might be a connectivity issue. Last contact was %{timeAgo}.',
+          'ClusterAgents|The agent has not been connected in a long time. There might be a connectivity issue. Last contact was %{timeAgo}.',
         ),
       ),
     },
@@ -161,50 +159,48 @@ export const AGENT_STATUSES = {
 
 export const I18N_AGENTS_EMPTY_STATE = {
   introText: s__(
-    'ClusterAgents|Use GitLab Agents to more securely integrate with your clusters to deploy your applications, run your pipelines, use review apps and much more.',
-  ),
-  multipleClustersText: s__(
-    'ClusterAgents|If you are setting up multiple clusters and are using Auto DevOps, %{linkStart}read about using multiple Kubernetes clusters first.%{linkEnd}',
+    'ClusterIntegration|Use the %{linkStart}GitLab Agent%{linkEnd} to safely connect your Kubernetes clusters to GitLab. You can deploy your applications, run your pipelines, use Review Apps, and much more.',
   ),
-  learnMoreText: s__('ClusterAgents|Learn more about the GitLab Kubernetes Agent.'),
-  primaryButtonText: s__('ClusterAgents|Connect with a GitLab Agent'),
+  buttonText: s__('ClusterAgents|Connect with the GitLab Agent'),
 };
 
 export const I18N_CLUSTERS_EMPTY_STATE = {
-  description: s__(
-    'ClusterIntegration|Use certificates to integrate with your clusters to deploy your applications, run your pipelines, use review apps and much more in an easy way.',
-  ),
-  multipleClustersText: s__(
-    'ClusterIntegration|If you are setting up multiple clusters and are using Auto DevOps, %{linkStart}read about using multiple Kubernetes clusters first.%{linkEnd}',
+  introText: s__(
+    'ClusterIntegration|Connect your cluster to GitLab through %{linkStart}cluster certificates%{linkEnd}.',
   ),
-  learnMoreLinkText: s__('ClusterIntegration|Learn more about the GitLab managed clusters'),
   buttonText: s__('ClusterIntegration|Connect with a certificate'),
+  alertText: s__(
+    'ClusterIntegration|The certificate-based method to connect clusters to GitLab was %{linkStart}deprecated%{linkEnd} in GitLab 14.5.',
+  ),
 };
 
 export const AGENT_CARD_INFO = {
   tabName: 'agent',
-  title: sprintf(s__('ClusterAgents|%{number} of %{total} Agent based integrations')),
-  emptyTitle: s__('ClusterAgents|No Agent based integrations'),
+  title: sprintf(s__('ClusterAgents|%{number} of %{total} agents')),
+  emptyTitle: s__('ClusterAgents|No agents'),
   tooltip: {
     label: s__('ClusterAgents|Recommended'),
-    title: s__('ClusterAgents|GitLab Agents'),
+    title: s__('ClusterAgents|GitLab Agent'),
     text: sprintf(
       s__(
-        'ClusterAgents|GitLab Agents provide an increased level of security when integrating with clusters. %{linkStart}Learn more about the GitLab Kubernetes Agent.%{linkEnd}',
+        'ClusterAgents|The GitLab Agent provides an increased level of security when connecting Kubernetes clusters to GitLab. %{linkStart}Learn more about the GitLab Agent.%{linkEnd}',
       ),
     ),
     link: helpPagePath('user/clusters/agent/index'),
   },
-  actionText: s__('ClusterAgents|Install new Agent'),
-  footerText: sprintf(s__('ClusterAgents|View all %{number} Agent based integrations')),
+  actionText: s__('ClusterAgents|Install a new agent'),
+  footerText: sprintf(s__('ClusterAgents|View all %{number} agents')),
 };
 
 export const CERTIFICATE_BASED_CARD_INFO = {
   tabName: 'certificate_based',
-  title: sprintf(s__('ClusterAgents|%{number} of %{total} Certificate based integrations')),
-  emptyTitle: s__('ClusterAgents|No Certificate based integrations'),
+  title: sprintf(
+    s__('ClusterAgents|%{number} of %{total} clusters connected through cluster certificates'),
+  ),
+  emptyTitle: s__('ClusterAgents|No clusters connected through cluster certificates'),
   actionText: s__('ClusterAgents|Connect existing cluster'),
-  footerText: sprintf(s__('ClusterAgents|View all %{number} Certificate based integrations')),
+  footerText: sprintf(s__('ClusterAgents|View all %{number} clusters')),
+  badgeText: s__('ClusterAgents|Deprecated'),
 };
 
 export const MAX_CLUSTERS_LIST = 6;
@@ -221,7 +217,7 @@ export const CLUSTERS_TABS = [
     queryParamValue: 'agent',
   },
   {
-    title: s__('ClusterAgents|Certificate based'),
+    title: s__('ClusterAgents|Certificate'),
     component: 'clusters',
     queryParamValue: 'certificate_based',
   },
@@ -229,9 +225,9 @@ export const CLUSTERS_TABS = [
 
 export const CLUSTERS_ACTIONS = {
   actionsButton: s__('ClusterAgents|Actions'),
-  createNewCluster: s__('ClusterAgents|Create new cluster'),
-  connectWithAgent: s__('ClusterAgents|Connect with Agent'),
-  connectExistingCluster: s__('ClusterAgents|Connect with certificate'),
+  createNewCluster: s__('ClusterAgents|Create a new cluster'),
+  connectWithAgent: s__('ClusterAgents|Connect with the Agent'),
+  connectExistingCluster: s__('ClusterAgents|Connect with a certificate'),
 };
 
 export const AGENT = 'agent';
diff --git a/ee/app/assets/javascripts/threat_monitoring/components/policy_editor/policy_alert_picker.vue b/ee/app/assets/javascripts/threat_monitoring/components/policy_editor/policy_alert_picker.vue
index 77b00a78c198d5f4f1e9cbfa380890cb24ea7b17..29c2c04cb1ee446f3eeded5c51c611f70bf682ae 100644
--- a/ee/app/assets/javascripts/threat_monitoring/components/policy_editor/policy_alert_picker.vue
+++ b/ee/app/assets/javascripts/threat_monitoring/components/policy_editor/policy_alert_picker.vue
@@ -9,7 +9,7 @@ export default {
       'NetworkPolicies|%{labelStart}And%{labelEnd} %{spanStart}send an Alert to GitLab.%{spanEnd}',
     ),
     AGENT_REQUIRED: s__(
-      'NetworkPolicies|Please %{installLinkStart}install%{installLinkEnd} and %{configureLinkStart}configure a Kubernetes Agent for this project%{configureLinkEnd} to enable alerts.',
+      'NetworkPolicies|To enable alerts, %{installLinkStart}install an agent%{installLinkEnd} first.',
     ),
     BUTTON_LABEL: s__('NetworkPolicies|Add alert'),
     HIGH_VOLUME_WARNING: s__(
@@ -24,7 +24,6 @@ export default {
     GlSprintf,
   },
   inject: {
-    configureAgentHelpPath: { type: String, default: '' },
     createAgentHelpPath: { type: String, default: '' },
     projectPath: { type: String, default: '' },
   },
@@ -78,11 +77,6 @@ export default {
             {{ content }}
           </gl-link>
         </template>
-        <template #configureLink="{ content }">
-          <gl-link :href="configureAgentHelpPath" target="_blank">
-            {{ content }}
-          </gl-link>
-        </template>
       </gl-sprintf>
     </gl-alert>
     <gl-alert
diff --git a/ee/app/assets/javascripts/threat_monitoring/policy_editor.js b/ee/app/assets/javascripts/threat_monitoring/policy_editor.js
index 7491227774766621479053380ba473bc04437bd9..f5c4e5d2109f53386c9368d0924053e24bea272b 100644
--- a/ee/app/assets/javascripts/threat_monitoring/policy_editor.js
+++ b/ee/app/assets/javascripts/threat_monitoring/policy_editor.js
@@ -19,7 +19,6 @@ export default () => {
     defaultEnvironmentId,
     disableScanExecutionUpdate,
     environmentsEndpoint,
-    configureAgentHelpPath,
     createAgentHelpPath,
     networkPoliciesEndpoint,
     networkDocumentationPath,
@@ -64,7 +63,6 @@ export default () => {
     el,
     apolloProvider,
     provide: {
-      configureAgentHelpPath,
       createAgentHelpPath,
       disableScanExecutionUpdate: parseBoolean(disableScanExecutionUpdate),
       networkDocumentationPath,
diff --git a/ee/app/helpers/projects/security/policies_helper.rb b/ee/app/helpers/projects/security/policies_helper.rb
index 0b00f103cccf79177b7662f5bf6954df529b5f13..f533611410212a994241d1cd07049aa8d0b16a2d 100644
--- a/ee/app/helpers/projects/security/policies_helper.rb
+++ b/ee/app/helpers/projects/security/policies_helper.rb
@@ -25,8 +25,7 @@ def orchestration_policy_data(project, policy_type = nil, policy = nil, environm
       default_environment_id: project.default_environment&.id || -1,
       disable_scan_execution_update: disable_scan_execution_update.to_s,
       network_policies_endpoint: project_security_network_policies_path(project),
-      configure_agent_help_path: help_page_url('user/clusters/agent/repository.html'),
-      create_agent_help_path: help_page_url('user/clusters/agent/index.md', anchor: 'create-an-agent-record-in-gitlab'),
+      create_agent_help_path: help_page_url('user/clusters/agent/install/index'),
       environments_endpoint: project_environments_path(project),
       environment_id: environment&.id,
       network_documentation_path: help_page_path('user/application_security/policies/index', anchor: 'container-network-policy'),
diff --git a/ee/spec/frontend/threat_monitoring/components/policy_editor/policy_alert_picker_spec.js b/ee/spec/frontend/threat_monitoring/components/policy_editor/policy_alert_picker_spec.js
index ed48fb5e729e61d5f227d49c34054cc0eb98bb76..07b2196d5a71d1aca81cb02a3b815140cfcac98c 100644
--- a/ee/spec/frontend/threat_monitoring/components/policy_editor/policy_alert_picker_spec.js
+++ b/ee/spec/frontend/threat_monitoring/components/policy_editor/policy_alert_picker_spec.js
@@ -38,7 +38,6 @@ describe('PolicyAlertPicker component', () => {
           ...propsData,
         },
         provide: {
-          configureAgentHelpPath: '',
           createAgentHelpPath: '',
           projectPath: '',
         },
diff --git a/ee/spec/helpers/projects/security/policies_helper_spec.rb b/ee/spec/helpers/projects/security/policies_helper_spec.rb
index 8790f7b0c4bbe174f9ded13388c9ed79fd98d641..6fda2c5bc039c01259410cdccadec9ad92fc6797 100644
--- a/ee/spec/helpers/projects/security/policies_helper_spec.rb
+++ b/ee/spec/helpers/projects/security/policies_helper_spec.rb
@@ -42,7 +42,6 @@
         default_environment_id: -1,
         disable_scan_execution_update: "false",
         network_policies_endpoint: kind_of(String),
-        configure_agent_help_path: kind_of(String),
         create_agent_help_path: kind_of(String),
         environments_endpoint: kind_of(String),
         network_documentation_path: kind_of(String),
diff --git a/locale/gitlab.pot b/locale/gitlab.pot
index 9b5b254b522b8f3c1c36957cf11c5171fdf34fb8..218d2d41aa972493945dd9d7c993061d33746df9 100644
--- a/locale/gitlab.pot
+++ b/locale/gitlab.pot
@@ -7368,10 +7368,10 @@ msgstr ""
 msgid "Cluster type must be specificed for Stages::ClusterEndpointInserter"
 msgstr ""
 
-msgid "ClusterAgents|%{number} of %{total} Agent based integrations"
+msgid "ClusterAgents|%{number} of %{total} agents"
 msgstr ""
 
-msgid "ClusterAgents|%{number} of %{total} Certificate based integrations"
+msgid "ClusterAgents|%{number} of %{total} clusters connected through cluster certificates"
 msgstr ""
 
 msgid "ClusterAgents|Access tokens"
@@ -7380,6 +7380,9 @@ msgstr ""
 msgid "ClusterAgents|Actions"
 msgstr ""
 
+msgid "ClusterAgents|Advanced installation methods"
+msgstr ""
+
 msgid "ClusterAgents|Agent"
 msgstr ""
 
@@ -7392,9 +7395,6 @@ msgstr ""
 msgid "ClusterAgents|All"
 msgstr ""
 
-msgid "ClusterAgents|Alternative installation methods"
-msgstr ""
-
 msgid "ClusterAgents|An error occurred while loading your GitLab Agents"
 msgstr ""
 
@@ -7404,22 +7404,28 @@ msgstr ""
 msgid "ClusterAgents|An unknown error occurred. Please try again."
 msgstr ""
 
-msgid "ClusterAgents|Certificate based"
+msgid "ClusterAgents|Certificate"
 msgstr ""
 
 msgid "ClusterAgents|Configuration"
 msgstr ""
 
+msgid "ClusterAgents|Connect a cluster through the Agent"
+msgstr ""
+
 msgid "ClusterAgents|Connect existing cluster"
 msgstr ""
 
-msgid "ClusterAgents|Connect with Agent"
+msgid "ClusterAgents|Connect with a certificate"
+msgstr ""
+
+msgid "ClusterAgents|Connect with the Agent"
 msgstr ""
 
-msgid "ClusterAgents|Connect with a GitLab Agent"
+msgid "ClusterAgents|Connect with the GitLab Agent"
 msgstr ""
 
-msgid "ClusterAgents|Connect with certificate"
+msgid "ClusterAgents|Connect your cluster through the Agent"
 msgstr ""
 
 msgid "ClusterAgents|Connected"
@@ -7431,7 +7437,7 @@ msgstr ""
 msgid "ClusterAgents|Copy token"
 msgstr ""
 
-msgid "ClusterAgents|Create new cluster"
+msgid "ClusterAgents|Create a new cluster"
 msgstr ""
 
 msgid "ClusterAgents|Created by"
@@ -7443,28 +7449,31 @@ msgstr ""
 msgid "ClusterAgents|Date created"
 msgstr ""
 
+msgid "ClusterAgents|Deprecated"
+msgstr ""
+
 msgid "ClusterAgents|Description"
 msgstr ""
 
-msgid "ClusterAgents|For alternative installation methods %{linkStart}go to the documentation%{linkEnd}."
+msgid "ClusterAgents|Failed to register an agent"
 msgstr ""
 
-msgid "ClusterAgents|GitLab Agents"
+msgid "ClusterAgents|For the advanced installation method %{linkStart}see the documentation%{linkEnd}."
 msgstr ""
 
-msgid "ClusterAgents|GitLab Agents provide an increased level of security when integrating with clusters. %{linkStart}Learn more about the GitLab Kubernetes Agent.%{linkEnd}"
+msgid "ClusterAgents|GitLab Agent"
 msgstr ""
 
-msgid "ClusterAgents|GitLab Kubernetes Agent"
+msgid "ClusterAgents|GitLab Agent for Kubernetes"
 msgstr ""
 
-msgid "ClusterAgents|Go to the repository"
+msgid "ClusterAgents|Go to the repository files"
 msgstr ""
 
-msgid "ClusterAgents|If you are setting up multiple clusters and are using Auto DevOps, %{linkStart}read about using multiple Kubernetes clusters first.%{linkEnd}"
+msgid "ClusterAgents|How to register an agent?"
 msgstr ""
 
-msgid "ClusterAgents|Install new Agent"
+msgid "ClusterAgents|Install a new agent"
 msgstr ""
 
 msgid "ClusterAgents|Last connected %{timeAgo}."
@@ -7479,15 +7488,6 @@ msgstr ""
 msgid "ClusterAgents|Learn how to troubleshoot"
 msgstr ""
 
-msgid "ClusterAgents|Learn more about installing a GitLab Kubernetes Agent"
-msgstr ""
-
-msgid "ClusterAgents|Learn more about the GitLab Kubernetes Agent registration."
-msgstr ""
-
-msgid "ClusterAgents|Learn more about the GitLab Kubernetes Agent."
-msgstr ""
-
 msgid "ClusterAgents|Make sure you are using a valid token."
 msgstr ""
 
@@ -7500,10 +7500,10 @@ msgstr ""
 msgid "ClusterAgents|Never connected"
 msgstr ""
 
-msgid "ClusterAgents|No Agent based integrations"
+msgid "ClusterAgents|No agents"
 msgstr ""
 
-msgid "ClusterAgents|No Certificate based integrations"
+msgid "ClusterAgents|No clusters connected through cluster certificates"
 msgstr ""
 
 msgid "ClusterAgents|Not connected"
@@ -7515,7 +7515,10 @@ msgstr ""
 msgid "ClusterAgents|Recommended installation method"
 msgstr ""
 
-msgid "ClusterAgents|Register Agent"
+msgid "ClusterAgents|Register"
+msgstr ""
+
+msgid "ClusterAgents|Register an agent to generate a token that will be used to install the agent on your cluster in the next step."
 msgstr ""
 
 msgid "ClusterAgents|Registering Agent"
@@ -7527,51 +7530,48 @@ msgstr ""
 msgid "ClusterAgents|Security"
 msgstr ""
 
-msgid "ClusterAgents|Select an Agent"
-msgstr ""
-
-msgid "ClusterAgents|Select an Agent to register with GitLab and install on your cluster."
-msgstr ""
-
-msgid "ClusterAgents|Select which Agent you want to install"
+msgid "ClusterAgents|Select an agent"
 msgstr ""
 
-msgid "ClusterAgents|The Agent has not been connected in a long time. There might be a connectivity issue. Last contact was %{timeAgo}."
+msgid "ClusterAgents|Select an agent to register with GitLab"
 msgstr ""
 
-msgid "ClusterAgents|The GitLab Agent also requires %{linkStart}enabling the Agent Server%{linkEnd}"
+msgid "ClusterAgents|The GitLab Agent provides an increased level of security when connecting Kubernetes clusters to GitLab. %{linkStart}Learn more about the GitLab Agent.%{linkEnd}"
 msgstr ""
 
-msgid "ClusterAgents|The recommended installation method provided below includes the token. If you want to follow the alternative installation method provided in the docs make sure you save the token value before you close the window."
+msgid "ClusterAgents|The agent has not been connected in a long time. There might be a connectivity issue. Last contact was %{timeAgo}."
 msgstr ""
 
-msgid "ClusterAgents|The registration token will be used to connect the Agent on your cluster to GitLab. To learn more about the registration tokens and how they are used %{linkStart}go to the documentation%{linkEnd}."
+msgid "ClusterAgents|The recommended installation method includes the token. If you want to follow the advanced installation method provided in the docs, make sure you save the token value before you close this window."
 msgstr ""
 
-msgid "ClusterAgents|The token value will not be shown again after you close this window."
+msgid "ClusterAgents|The registration token will be used to connect the agent on your cluster to GitLab. %{linkStart}What are registration tokens?%{linkEnd}"
 msgstr ""
 
 msgid "ClusterAgents|This agent has no tokens"
 msgstr ""
 
-msgid "ClusterAgents|To install an Agent you should create an agent directory in the Repository first. We recommend that you add the Agent configuration to the directory before you start the installation process."
+msgid "ClusterAgents|To install a new agent, first add the agent's configuration file to this repository. %{linkStart}What's the agent's configuration file?%{linkEnd}"
 msgstr ""
 
 msgid "ClusterAgents|Unknown user"
 msgstr ""
 
-msgid "ClusterAgents|Use GitLab Agents to more securely integrate with your clusters to deploy your applications, run your pipelines, use review apps and much more."
+msgid "ClusterAgents|View all %{number} agents"
 msgstr ""
 
-msgid "ClusterAgents|View all %{number} Agent based integrations"
+msgid "ClusterAgents|View all %{number} clusters"
 msgstr ""
 
-msgid "ClusterAgents|View all %{number} Certificate based integrations"
+msgid "ClusterAgents|You cannot see this token again after you close this window."
 msgstr ""
 
 msgid "ClusterAgents|You will need to create a token to connect to your agent"
 msgstr ""
 
+msgid "ClusterAgents|Your instance doesn't have the %{linkStart}GitLab Agent Server (KAS)%{linkEnd} set up. Ask a GitLab Administrator to install it."
+msgstr ""
+
 msgid "ClusterAgent|User has insufficient permissions to create a token for this project"
 msgstr ""
 
@@ -7722,6 +7722,9 @@ msgstr ""
 msgid "ClusterIntegration|Connect with a certificate"
 msgstr ""
 
+msgid "ClusterIntegration|Connect your cluster to GitLab through %{linkStart}cluster certificates%{linkEnd}."
+msgstr ""
+
 msgid "ClusterIntegration|Connection Error"
 msgstr ""
 
@@ -7881,9 +7884,6 @@ msgstr ""
 msgid "ClusterIntegration|If you are setting up multiple clusters and are using Auto DevOps, %{help_link_start}read this first%{help_link_end}."
 msgstr ""
 
-msgid "ClusterIntegration|If you are setting up multiple clusters and are using Auto DevOps, %{linkStart}read about using multiple Kubernetes clusters first.%{linkEnd}"
-msgstr ""
-
 msgid "ClusterIntegration|If you do not wish to delete all associated GitLab resources, you can simply remove the integration."
 msgstr ""
 
@@ -7938,9 +7938,6 @@ msgstr ""
 msgid "ClusterIntegration|Learn more about instance Kubernetes clusters"
 msgstr ""
 
-msgid "ClusterIntegration|Learn more about the GitLab managed clusters"
-msgstr ""
-
 msgid "ClusterIntegration|Loading IAM Roles"
 msgstr ""
 
@@ -8220,6 +8217,9 @@ msgstr ""
 msgid "ClusterIntegration|The URL used to access the Kubernetes API."
 msgstr ""
 
+msgid "ClusterIntegration|The certificate-based method to connect clusters to GitLab was %{linkStart}deprecated%{linkEnd} in GitLab 14.5."
+msgstr ""
+
 msgid "ClusterIntegration|The namespace associated with your project. This will be used for deploy boards, logs, and Web terminals."
 msgstr ""
 
@@ -8274,7 +8274,7 @@ msgstr ""
 msgid "ClusterIntegration|Unknown Error"
 msgstr ""
 
-msgid "ClusterIntegration|Use certificates to integrate with your clusters to deploy your applications, run your pipelines, use review apps and much more in an easy way."
+msgid "ClusterIntegration|Use the %{linkStart}GitLab Agent%{linkEnd} to safely connect your Kubernetes clusters to GitLab. You can deploy your applications, run your pipelines, use Review Apps, and much more."
 msgstr ""
 
 msgid "ClusterIntegration|Uses the Cloud Run, Istio, and HTTP Load Balancing addons for this cluster."
@@ -14456,9 +14456,6 @@ msgstr ""
 msgid "Failed to publish issue on status page."
 msgstr ""
 
-msgid "Failed to register Agent"
-msgstr ""
-
 msgid "Failed to remove a Zoom meeting"
 msgstr ""
 
@@ -23050,9 +23047,6 @@ msgstr ""
 msgid "NetworkPolicies|None selected"
 msgstr ""
 
-msgid "NetworkPolicies|Please %{installLinkStart}install%{installLinkEnd} and %{configureLinkStart}configure a Kubernetes Agent for this project%{configureLinkEnd} to enable alerts."
-msgstr ""
-
 msgid "NetworkPolicies|Policy %{policyName} was successfully changed"
 msgstr ""
 
@@ -23077,6 +23071,9 @@ msgstr ""
 msgid "NetworkPolicies|Something went wrong, unable to fetch policies"
 msgstr ""
 
+msgid "NetworkPolicies|To enable alerts, %{installLinkStart}install an agent%{installLinkEnd} first."
+msgstr ""
+
 msgid "NetworkPolicies|Traffic that does not match any rule will be blocked."
 msgstr ""
 
@@ -24414,7 +24411,7 @@ msgstr ""
 msgid "Open Selection"
 msgstr ""
 
-msgid "Open a CLI and connect to the cluster you want to install the Agent in. Use this installation method to minimize any manual steps. The token is already included in the command."
+msgid "Open a CLI and connect to the cluster you want to install the agent in. Use this installation method to minimize any manual steps. The token is already included in the command."
 msgstr ""
 
 msgid "Open epics"
diff --git a/spec/features/clusters/create_agent_spec.rb b/spec/features/clusters/create_agent_spec.rb
index 906f0d1b4374b4ebe5d5c4fe2e94a21525e6b635..7ed31a8c54923d621f97cfb9d84e04c90cf0f223 100644
--- a/spec/features/clusters/create_agent_spec.rb
+++ b/spec/features/clusters/create_agent_spec.rb
@@ -25,13 +25,13 @@
 
   it 'allows the user to select an agent to install, and displays the resulting agent token' do
     click_button('Actions')
-    expect(page).to have_content('Register Agent')
+    expect(page).to have_content('Register')
 
-    click_button('Select an Agent')
+    click_button('Select an agent')
     click_button('example-agent-2')
-    click_button('Register Agent')
+    click_button('Register')
 
-    expect(page).to have_content('The token value will not be shown again after you close this window.')
+    expect(page).to have_content('You cannot see this token again after you close this window.')
     expect(page).to have_content('example-agent-token')
     expect(page).to have_content('docker run --pull=always --rm')
 
diff --git a/spec/features/projects/cluster_agents_spec.rb b/spec/features/projects/cluster_agents_spec.rb
index 3ef710169f0e59d12b8d2cfce5249821a54a77b7..6a904b6f0e034c08e1615732533e64a848b4ae55 100644
--- a/spec/features/projects/cluster_agents_spec.rb
+++ b/spec/features/projects/cluster_agents_spec.rb
@@ -22,7 +22,7 @@
     end
 
     it 'displays empty state', :aggregate_failures do
-      expect(page).to have_content('Install new Agent')
+      expect(page).to have_content('Install a new agent')
       expect(page).to have_selector('.empty-state')
     end
   end
diff --git a/spec/features/projects/clusters/eks_spec.rb b/spec/features/projects/clusters/eks_spec.rb
index 09c10c0b3a9b58fa5c4a762444663703c1166832..a925e3a72f8e80d6f85547ff323db1038d0a3d47 100644
--- a/spec/features/projects/clusters/eks_spec.rb
+++ b/spec/features/projects/clusters/eks_spec.rb
@@ -19,7 +19,7 @@
     before do
       visit project_clusters_path(project)
 
-      click_link 'Certificate based'
+      click_link 'Certificate'
       click_link 'Connect with a certificate'
     end
 
diff --git a/spec/features/projects/clusters/gcp_spec.rb b/spec/features/projects/clusters/gcp_spec.rb
index 0da81c475a9a04ea0d406ec10b1e097980956446..6e88cbf52b5712aeb6858536c453ed567c9d7810 100644
--- a/spec/features/projects/clusters/gcp_spec.rb
+++ b/spec/features/projects/clusters/gcp_spec.rb
@@ -33,7 +33,7 @@ def submit_form
       before do
         visit project_clusters_path(project)
 
-        click_link 'Certificate based'
+        click_link 'Certificate'
         click_link 'Connect with a certificate'
         click_link 'Create new cluster'
         click_link 'Google GKE'
@@ -145,9 +145,9 @@ def submit_form
         before do
           visit project_clusters_path(project)
 
-          click_link 'Certificate based'
+          click_link 'Certificate'
           click_button(class: 'dropdown-toggle-split')
-          click_link 'Connect with certificate'
+          click_link 'Connect with a certificate'
         end
 
         it 'user sees the "Environment scope" field' do
@@ -161,7 +161,7 @@ def submit_form
           click_button 'Remove integration and resources'
           fill_in 'confirm_cluster_name_input', with: cluster.name
           click_button 'Remove integration'
-          click_link 'Certificate based'
+          click_link 'Certificate'
         end
 
         it 'user sees creation form with the successful message' do
@@ -175,7 +175,7 @@ def submit_form
   context 'when user has not dismissed GCP signup offer' do
     before do
       visit project_clusters_path(project)
-      click_link 'Certificate based'
+      click_link 'Certificate'
     end
 
     it 'user sees offer on cluster index page' do
@@ -192,7 +192,7 @@ def submit_form
   context 'when user has dismissed GCP signup offer' do
     before do
       visit project_clusters_path(project)
-      click_link 'Certificate based'
+      click_link 'Certificate'
     end
 
     it 'user does not see offer after dismissing' do
diff --git a/spec/features/projects/clusters/user_spec.rb b/spec/features/projects/clusters/user_spec.rb
index d3f709bfb5399c507ec4dff62358b5288f829ab5..d9887ea4fe0914d04ad0b87c622a3790c4f962d3 100644
--- a/spec/features/projects/clusters/user_spec.rb
+++ b/spec/features/projects/clusters/user_spec.rb
@@ -25,7 +25,7 @@
     before do
       visit project_clusters_path(project)
 
-      click_link 'Certificate based'
+      click_link 'Certificate'
       click_link 'Connect with a certificate'
       click_link 'Connect existing cluster'
     end
@@ -113,7 +113,7 @@
         click_button 'Remove integration and resources'
         fill_in 'confirm_cluster_name_input', with: cluster.name
         click_button 'Remove integration'
-        click_link 'Certificate based'
+        click_link 'Certificate'
       end
 
       it 'user sees creation form with the successful message' do
diff --git a/spec/features/projects/clusters_spec.rb b/spec/features/projects/clusters_spec.rb
index a49fa4c9e31c9daf06b4e26be80b4bc16b9e542f..6e45529c65969abf2b8dbca451ca13c17b24a3f8 100644
--- a/spec/features/projects/clusters_spec.rb
+++ b/spec/features/projects/clusters_spec.rb
@@ -10,13 +10,13 @@
 
   before do
     project.add_maintainer(user)
-    gitlab_sign_in(user)
+    sign_in(user)
   end
 
   context 'when user does not have a cluster and visits cluster index page' do
     before do
       visit project_clusters_path(project)
-      click_link 'Certificate based'
+      click_link 'Certificate'
     end
 
     it 'sees empty state' do
@@ -34,17 +34,17 @@
       before do
         create(:cluster, :provided_by_user, name: 'default-cluster', environment_scope: '*', projects: [project])
         visit project_clusters_path(project)
-        click_link 'Certificate based'
+        click_link 'Certificate'
         click_button(class: 'dropdown-toggle-split')
       end
 
       it 'user sees an add cluster button' do
-        expect(page).to have_content('Connect with certificate')
+        expect(page).to have_content('Connect with a certificate')
       end
 
       context 'when user filled form with environment scope' do
         before do
-          click_link 'Connect with certificate'
+          click_link 'Connect with a certificate'
           fill_in 'cluster_name', with: 'staging-cluster'
           fill_in 'cluster_environment_scope', with: 'staging/*'
           click_button 'Add Kubernetes cluster'
@@ -72,7 +72,7 @@
 
       context 'when user updates duplicated environment scope' do
         before do
-          click_link 'Connect with certificate'
+          click_link 'Connect with a certificate'
           fill_in 'cluster_name', with: 'staging-cluster'
           fill_in 'cluster_environment_scope', with: '*'
           fill_in 'cluster_platform_kubernetes_attributes_api_url', with: 'https://0.0.0.0'
@@ -109,13 +109,13 @@
 
         create(:cluster, :provided_by_gcp, name: 'default-cluster', environment_scope: '*', projects: [project])
         visit project_clusters_path(project)
-        click_link 'Certificate based'
+        click_link 'Certificate'
       end
 
       context 'when user filled form with environment scope' do
         before do
           click_button(class: 'dropdown-toggle-split')
-          click_link 'Create new cluster'
+          click_link 'Create a new cluster'
           click_link 'Google GKE'
 
           sleep 2 # wait for ajax
@@ -160,7 +160,7 @@
       context 'when user updates duplicated environment scope' do
         before do
           click_button(class: 'dropdown-toggle-split')
-          click_link 'Create new cluster'
+          click_link 'Create a new cluster'
           click_link 'Google GKE'
 
           sleep 2 # wait for ajax
@@ -190,7 +190,7 @@
 
     before do
       visit project_clusters_path(project)
-      click_link 'Certificate based'
+      click_link 'Certificate'
     end
 
     it 'user sees a table with one cluster' do
@@ -213,7 +213,7 @@
     before do
       visit project_clusters_path(project)
 
-      click_link 'Certificate based'
+      click_link 'Certificate'
       click_link 'Connect with a certificate'
       click_link 'Create new cluster'
     end
diff --git a/spec/frontend/clusters_list/components/agent_empty_state_spec.js b/spec/frontend/clusters_list/components/agent_empty_state_spec.js
index f69183119346407b75ce856bfbe4ee34147694c1..ed2a0d0b97b457991f95a43ab360ba06241e5f04 100644
--- a/spec/frontend/clusters_list/components/agent_empty_state_spec.js
+++ b/spec/frontend/clusters_list/components/agent_empty_state_spec.js
@@ -1,4 +1,4 @@
-import { GlEmptyState, GlSprintf } from '@gitlab/ui';
+import { GlEmptyState, GlSprintf, GlLink, GlButton } from '@gitlab/ui';
 import AgentEmptyState from '~/clusters_list/components/agent_empty_state.vue';
 import { INSTALL_AGENT_MODAL_ID } from '~/clusters_list/constants';
 import { shallowMountExtended } from 'helpers/vue_test_utils_helper';
@@ -6,8 +6,7 @@ import { createMockDirective, getBinding } from 'helpers/vue_mock_directive';
 import { helpPagePath } from '~/helpers/help_page_helper';
 
 const emptyStateImage = '/path/to/image';
-const multipleClustersDocsUrl = helpPagePath('user/project/clusters/multiple_kubernetes_clusters');
-const installDocsUrl = helpPagePath('administration/clusters/kas');
+const installDocsUrl = helpPagePath('user/clusters/agent/index');
 
 describe('AgentEmptyStateComponent', () => {
   let wrapper;
@@ -15,9 +14,8 @@ describe('AgentEmptyStateComponent', () => {
     emptyStateImage,
   };
 
-  const findMultipleClustersDocsLink = () => wrapper.findByTestId('multiple-clusters-docs-link');
-  const findInstallDocsLink = () => wrapper.findByTestId('install-docs-link');
-  const findIntegrationButton = () => wrapper.findByTestId('integration-primary-button');
+  const findInstallDocsLink = () => wrapper.findComponent(GlLink);
+  const findIntegrationButton = () => wrapper.findComponent(GlButton);
   const findEmptyState = () => wrapper.findComponent(GlEmptyState);
 
   beforeEach(() => {
@@ -44,8 +42,7 @@ describe('AgentEmptyStateComponent', () => {
     expect(findIntegrationButton().exists()).toBe(true);
   });
 
-  it('renders correct href attributes for the links', () => {
-    expect(findMultipleClustersDocsLink().attributes('href')).toBe(multipleClustersDocsUrl);
+  it('renders correct href attributes for the docs link', () => {
     expect(findInstallDocsLink().attributes('href')).toBe(installDocsUrl);
   });
 
diff --git a/spec/frontend/clusters_list/components/clusters_empty_state_spec.js b/spec/frontend/clusters_list/components/clusters_empty_state_spec.js
index f7e1791d0f744a23f35258b1dcd82b97bab44d01..cf0f6881960a4346be8f1a2d910282478deb15ab 100644
--- a/spec/frontend/clusters_list/components/clusters_empty_state_spec.js
+++ b/spec/frontend/clusters_list/components/clusters_empty_state_spec.js
@@ -6,35 +6,33 @@ import ClusterStore from '~/clusters_list/store';
 const clustersEmptyStateImage = 'path/to/svg';
 const newClusterPath = '/path/to/connect/cluster';
 const emptyStateHelpText = 'empty state text';
-const canAddCluster = true;
 
 describe('ClustersEmptyStateComponent', () => {
   let wrapper;
 
-  const propsData = {
-    isChildComponent: false,
-  };
-
-  const provideData = {
+  const defaultProvideData = {
     clustersEmptyStateImage,
-    emptyStateHelpText: null,
     newClusterPath,
   };
 
-  const entryData = {
-    canAddCluster,
-  };
-
   const findButton = () => wrapper.findComponent(GlButton);
   const findEmptyStateText = () => wrapper.findByTestId('clusters-empty-state-text');
 
-  beforeEach(() => {
+  const createWrapper = ({
+    provideData = { emptyStateHelpText: null },
+    isChildComponent = false,
+    canAddCluster = true,
+  } = {}) => {
     wrapper = shallowMountExtended(ClustersEmptyState, {
-      store: ClusterStore(entryData),
-      propsData,
-      provide: provideData,
+      store: ClusterStore({ canAddCluster }),
+      propsData: { isChildComponent },
+      provide: { ...defaultProvideData, ...provideData },
       stubs: { GlEmptyState },
     });
+  };
+
+  beforeEach(() => {
+    createWrapper();
   });
 
   afterEach(() => {
@@ -55,16 +53,7 @@ describe('ClustersEmptyStateComponent', () => {
 
   describe('when the component is loaded as a child component', () => {
     beforeEach(() => {
-      propsData.isChildComponent = true;
-      wrapper = shallowMountExtended(ClustersEmptyState, {
-        store: ClusterStore(entryData),
-        propsData,
-        provide: provideData,
-      });
-    });
-
-    afterEach(() => {
-      propsData.isChildComponent = false;
+      createWrapper({ isChildComponent: true });
     });
 
     it('should not render the action button', () => {
@@ -74,12 +63,7 @@ describe('ClustersEmptyStateComponent', () => {
 
   describe('when the help text is provided', () => {
     beforeEach(() => {
-      provideData.emptyStateHelpText = emptyStateHelpText;
-      wrapper = shallowMountExtended(ClustersEmptyState, {
-        store: ClusterStore(entryData),
-        propsData,
-        provide: provideData,
-      });
+      createWrapper({ provideData: { emptyStateHelpText } });
     });
 
     it('should show the empty state text', () => {
@@ -88,14 +72,8 @@ describe('ClustersEmptyStateComponent', () => {
   });
 
   describe('when the user cannot add clusters', () => {
-    entryData.canAddCluster = false;
     beforeEach(() => {
-      wrapper = shallowMountExtended(ClustersEmptyState, {
-        store: ClusterStore(entryData),
-        propsData,
-        provide: provideData,
-        stubs: { GlEmptyState },
-      });
+      createWrapper({ canAddCluster: false });
     });
     it('should disable the button', () => {
       expect(findButton().props('disabled')).toBe(true);
diff --git a/spec/frontend/clusters_list/components/clusters_main_view_spec.js b/spec/frontend/clusters_list/components/clusters_main_view_spec.js
index 7cf8e6293a1bf24c413ce2f1aabbcd7b0ba82b4a..37665bf7abde03264c8a04191a30659d51b613e5 100644
--- a/spec/frontend/clusters_list/components/clusters_main_view_spec.js
+++ b/spec/frontend/clusters_list/components/clusters_main_view_spec.js
@@ -59,10 +59,10 @@ describe('ClustersMainViewComponent', () => {
 
   describe('tabs', () => {
     it.each`
-      tabTitle               | queryParamValue      | lineNumber
-      ${'All'}               | ${'all'}             | ${0}
-      ${'Agent'}             | ${AGENT}             | ${1}
-      ${'Certificate based'} | ${CERTIFICATE_BASED} | ${2}
+      tabTitle         | queryParamValue      | lineNumber
+      ${'All'}         | ${'all'}             | ${0}
+      ${'Agent'}       | ${AGENT}             | ${1}
+      ${'Certificate'} | ${CERTIFICATE_BASED} | ${2}
     `(
       'renders correct tab title and query param value',
       ({ tabTitle, queryParamValue, lineNumber }) => {