Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update openshift documentation, manifests for metricbeat and elastic-agent standalone #30054

Merged

Conversation

tetianakravchenko
Copy link
Contributor

@tetianakravchenko tetianakravchenko commented Jan 27, 2022

Signed-off-by: Tetiana Kravchenko [email protected]

What does this PR do?

  • metricbeat documentation: add kubernetes.proxy config for openshift setup
  • add comments related to the openshift installation for metricbeat and elastic-agent standalone

Why is it important?

Checklist

  • My code follows the style guidelines of this project
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • I have made corresponding change to the default configuration files
  • I have added tests that prove my fix is effective or that my feature works
  • I have added an entry in CHANGELOG.next.asciidoc or CHANGELOG-developer.next.asciidoc.

Author's Checklist

  • [ ]

How to test this PR locally

Related issues

Use cases

Screenshots

Logs

@botelastic botelastic bot added the needs_team Indicates that the issue/PR needs a Team:* label label Jan 27, 2022
@mergify
Copy link
Contributor

mergify bot commented Jan 27, 2022

This pull request does not have a backport label. Could you fix it @tetianakravchenko? 🙏
To fixup this pull request, you need to add the backport labels for the needed
branches, such as:

  • backport-v./d./d./d is the label to automatically backport to the 7./d branch. /d is the digit

NOTE: backport-skip has been added to this pull request.

@mergify mergify bot added the backport-skip Skip notification from the automated backport with mergify label Jan 27, 2022
@elasticmachine
Copy link
Collaborator

💔 Build Failed

the below badges are clickable and redirect to their specific view in the CI or DOCS
Pipeline View Test View Changes Artifacts preview preview

Expand to view the summary

Build stats

  • Start Time: 2022-01-27T10:38:38.193+0000

  • Duration: 18 min 51 sec

  • Commit: eb0b6c62025bc4fde947e6befd6e7e7100c2891b

Test stats 🧪

Test Results
Failed 0
Passed 3
Skipped 0
Total 3

Steps errors 2

Expand to view the steps failures

deploy/kubernetes-lint - make -C deploy/kubernetes all;make check-no-changes;
  • Took 0 min 4 sec . View more details here
  • Description: make -C deploy/kubernetes all;make check-no-changes;
Error signal
  • Took 0 min 0 sec . View more details here
  • Description: Error 'hudson.AbortException: script returned exit code 2'

💚 Flaky test report

Tests succeeded.

🤖 GitHub comments

To re-run your PR in the CI, just comment with:

  • /test : Re-trigger the build.

  • /package : Generate the packages and run the E2E tests.

  • /beats-tester : Run the installation tests with beats-tester.

  • run elasticsearch-ci/docs : Re-trigger the docs validation. (use unformatted text in the comment!)

@mtojek mtojek added the Team:Integrations Label for the Integrations team label Jan 27, 2022
@botelastic botelastic bot removed the needs_team Indicates that the issue/PR needs a Team:* label label Jan 27, 2022
@elasticmachine
Copy link
Collaborator

elasticmachine commented Jan 27, 2022

💚 Build Succeeded

the below badges are clickable and redirect to their specific view in the CI or DOCS
Pipeline View Test View Changes Artifacts preview preview

Expand to view the summary

Build stats

  • Start Time: 2022-02-04T15:31:06.209+0000

  • Duration: 126 min 51 sec

Test stats 🧪

Test Results
Failed 0
Passed 7028
Skipped 2288
Total 9316

💚 Flaky test report

Tests succeeded.

🤖 GitHub comments

To re-run your PR in the CI, just comment with:

  • /test : Re-trigger the build.

  • /package : Generate the packages and run the E2E tests.

  • /beats-tester : Run the installation tests with beats-tester.

  • run elasticsearch-ci/docs : Re-trigger the docs validation. (use unformatted text in the comment!)

@tetianakravchenko tetianakravchenko changed the title update doc and manifest for metricbeat & elastic-agent standalone Update openshift documentation, manifests for metricbeat and elastic-agent standalone Jan 27, 2022
@tetianakravchenko tetianakravchenko marked this pull request as ready for review January 27, 2022 12:50
@elasticmachine
Copy link
Collaborator

Pinging @elastic/integrations (Team:Integrations)

@@ -88,16 +88,7 @@ spec:
===== Red Hat OpenShift configuration

If you are using Red Hat OpenShift, you need to specify additional settings in
the manifest file and enable the container to run as privileged.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are we removing this?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've checked it on Openshiftv4 (GCP setup) and with privileged: true and without privileged: true getting the same result:
from the container:

mount | grep /usr/share/metricbeat/data
/dev/sda4 on /usr/share/metricbeat/data type xfs (rw,relatime,seclabel,attr2,inode64,logbufs=8,logbsize=32k,prjquota)

no errors descibed here: #17516 (comment)

additionally to that, I wanted to keep metricbeat and elastic-agent manifests (beside the actual configuration of modules/datasets) the same - elastic/observability-docs#1498

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's good! However maybe we need to be more explicit here and mention in which versions it is not required to avoid confusion?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we rely on openshift version here instead of kubernetes version? according to this doc the last available openshift version 3.11 uses Kubernetes 1.11, which is not supported by us I think

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Strictly speaking yes we can claim that older versions are not supported however a small comment like NOTE: for older versions of v4 users need to run the container as privileged so as to provide a good hint to possible users that are still with older versions.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I will add it.
I didn't check the metricbeat on openshift v3, but somehow I think it even might not work (at least some functionality) - issue described in this comment elastic/integrations#2065 (comment)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done - 8d1e5d2

- proxy
period: 10s
host: ${NODE_NAME}
hosts: ["localhost:29101"]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is the only thing needed? Any notes or links to how the proxy should be tuned on k8s' side?

Copy link
Contributor Author

@tetianakravchenko tetianakravchenko Feb 3, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes, there is no need to change sdn-config configMap, this is the default configuration:

kube-proxy-config.yaml: |-
    apiVersion: kubeproxy.config.k8s.io/v1alpha1
    bindAddress: 0.0.0.0
    bindAddressHardFail: false
    clientConnection:
      acceptContentTypes: ""
      burst: 0
      contentType: ""
      kubeconfig: ""
      qps: 0
    clusterCIDR: 10.128.0.0/14
    configSyncPeriod: 0s
    conntrack:
      maxPerCore: null
      min: null
      tcpCloseWaitTimeout: null
      tcpEstablishedTimeout: null
    detectLocalMode: ""
    enableProfiling: true
    healthzBindAddress: 0.0.0.0:10256
    hostnameOverride: ""
    iptables:
      masqueradeAll: false
      masqueradeBit: 0
      minSyncPeriod: 0s
      syncPeriod: 0s
    ipvs:
      excludeCIDRs: null
      minSyncPeriod: 0s
      scheduler: ""
      strictARP: false
      syncPeriod: 0s
      tcpFinTimeout: 0s
      tcpTimeout: 0s
      udpTimeout: 0s
    kind: KubeProxyConfiguration
    metricsBindAddress: 0.0.0.0:29101
    mode: unidling+iptables
    nodePortAddresses: null
    oomScoreAdj: null
    portRange: ""
    showHiddenMetricsForVersion: ""
    udpIdleTimeout: 0s
    winkernel:
      enableDSR: false
      networkName: ""
      sourceVip: ""

note here: metricsBindAddress: 0.0.0.0:29101

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice!

# In case you specify and additional path, the scheme is required: http://localhost:5601/path
# IPv6 addresses should always be defined as: https://[2001:db8::1]:5601
#host: "localhost:5601"
# Kibana Host
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this related?

Copy link
Contributor Author

@tetianakravchenko tetianakravchenko Feb 4, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

no, it is a result of make update, in other case tests (linting) were failing 🤷‍♀️

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I did a rebase - this change already was present in main

@tetianakravchenko tetianakravchenko merged commit da8c90c into elastic:main Feb 7, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backport-skip Skip notification from the automated backport with mergify Team:Integrations Label for the Integrations team
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Kube-proxy support for Openshift
4 participants