-
Notifications
You must be signed in to change notification settings - Fork 2.3k
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
Formally add support for CentOS 7 #1371
Comments
@ShylajaDevadiga I have assigned this issue to you for now. This will require some testing and discovery. We need to identify any/all CentOS issues that prevent us from formally supporting CentOS in our next release. Work with me as needed. |
As a reminder we must support IPv6 as well. |
iptables in Centos8 is now legacy.. they now use iptables-nft. so on a centos 8 system, using iptables gives you this:
and I believe firewalld is also not supported by k3s. This doesn't mean k3s does not work, it's just not possible to see the iptables rules. |
+1 |
I have been documenting all the steps I needed to get it working in CentOS7, I'll gladly share those steps. It worked out of the box on a Google Cloud VM but not on a local, freshly installed instance. |
Reader digest version: Don't use Centos v8 because of nft/legacy iptables problems. So, to help clarify - in my reasearch, RHEL/Centos8 uses nft for iptables, not iptables. At this time, nft is not supported by Kubernetes. There is iptables/iptables-legacy support, and what will happen is the rules are still created and executed, but in RHEL/Centos8, they do not live in harmony with any other nft/iptables, unless it's the only ruleset you want to run. You cannot see these iptables rule sets by default, since they occur in the legacy iptables rules due to the container having it's own iptables (not nft the binaries), and RHEL/Centos8 does not provide the legacy iptable tools. There are other distributions heading towards using nft instead of iptables, but so far, it appears that they do include the legacy iptable binaries. This means until nft is in Kubernetes (not k3s), RHEL/Centos8 and other distribution using nft tables is not truly supported. |
Well, maybe it's not so bad for RHEL/Centos8.. |
@philipsparrow I would be interessed in the steps needed to make k3s works on CentOS 7.7. Even after a fresh install, removing firewalld, disabling SELinux, installing iptables-service, adding "user_namespace.enable=1" to the kernel command line, k3s is still not vworking... It's looking like a network issue as the API server isn't reachable. |
@sraillard I wrote a step-by-step here, let me know if it works for you: |
I don't think I have anything as good as @Lohann has provided, I got it working with only the following steps (caveat: I don't need Traefik so haven't worked on that):
Then I installed K3s with no special options.
I hope this helps |
Yeah to me "a system where SELinux is enabled by default" means enforcing or permissive - not absent or disabled. Maybe worth a clarifying change to the docs? |
I remember the issue now. Running the script failed. It did not say you should have selinux=enforcing or set |
@ShylajaDevadiga I dont think I want this issue closed until CentOS 7 is 100% validated. I can't see that happening until the conformance tests pass cleanly and successfully on an officially release. So, I htink its fine that you opened an issues specifically for the conformance test failures, but this issue should be held open until that one works. |
To be honest, I'm also not sure that we can claim cent 7 support without revisiting selinux. |
Closing issue as conformance tests have passed.Results tracked in #1960. |
I just recently deployed K3S to a CentOS7 server. K3S was installed but the pods were not able to communicate to the api server just like described before. I had to disable firewalld to get things working. How is this ticket closed if the latest K3S should work on a CentOS7 environment? Am I missing something? |
IMO this is expected behavior if you have firewall enabled. Installation of K3s doesn’t handle complete server configuration (correct me if I am wrong). |
That is correct. It works on RHEL7 if you don't break it by blocking traffic or doing other things that would prevent it from working. |
I agree that k3s can't configure all the server settings. The fact is that firewalld is by default enabled, so that's classic issue (and many people have it). Maybe a solution could be checking some firewall rules and printing a warning if some rules may prevent k3s from working correctly? |
For example, CentOS 7 AMIs (and I guess other cloud images) have firewalld disabled by default, but yeah, standard ISO installation has it enabled normally. But then, firewall could be also outside the server and also break K8s/K3s. |
Is there anything blocking calling CentOS officially supported now? |
I'm also waiting for this. Can we add Centos to the operating system requirements in the docs? |
On saltstack-formulas we run CI/CD that includes installing
I would like to add job to run the K3S script (https://get.k3s.io) on CentOS7 and CentOS8 but the hash sum is missing. K3S should provide a hash sum (i.e. https://get.k3sum.io) so downloaded script can be verified. That would be a nice improvement. |
@noelmcloughlin can you create a new feature request issue for that? I don't think it's related to this issue. |
For posterity, with CentOS7.8, I found I had to make a slight change to update kernel (notice the second sudo for the sudo grubby --args="user_namespace.enable=1" --update-kernel="$(sudo grubby --default-kernel)" |
what's it for? and why this? |
To enable user namespaces in centos/7. The k3s check-config was failing with ootb with centos/7 |
We need to expand our testing and identify any issues that prevent us from formally supporting CentOS. Keep in mind K3s is expected to work fine on CentOS 7. This issue is to track the testing effort required to formally support and certify the operating system (See https://rancher.com/docs/k3s/latest/en/installation/node-requirements/#operating-systems )
Currently there are existing issues with the os/centos label, but take care to note that these issues are not all necessarily caused just by utilizing CentOS. As such, it makes sense to review those GitHub issues, but we need to execute some testing and identify any other issues. As needed, we'll need to resolve these issues so we may fully support CentOS.
SELinux support is also needed, which is tracked separately here: #1372
gz#9311
gz#9743
The text was updated successfully, but these errors were encountered: