systemk | systemd backend for the virtual-kubelet
kandi X-RAY | systemk Summary
kandi X-RAY | systemk Summary
systemk is a Go library. systemk has no bugs, it has no vulnerabilities, it has a Permissive License and it has low support. You can download it from GitHub.
This is a virtual kubelet provider that uses systemd as its backend. Every Linux system has systemd nowadays. By utilizing K3s (just one Go binary) and this virtual kubelet you can provision a system using the Kubernetes API. The networking is the host's network, so it make sense to use this for more heavy weight (stateful?) applications. The filesystem is semi hidden, but emptyDir and the like works. It is hoped this setup allows you to use the Kubernetes API without the need to immerse yourself in the (large) world of kubernetes (overlay networking, ingress objects, etc., etc.). However this does imply networking and discovery (i.e. host) DNS is already working on the system you're deploying this. How to get a system into a state it has, and can run, k3s and systemk is an open questions (Ready made image? A tiny bit of config mgmt?). Systemk will use systemd to start pods as service unit(s). This uses the cgroup implementation systemd has. This allows us to set resource limits, by specifying those in the unit file (copy paste from the podSpec almost). Generally there is no (real container) isolation in this setup - although for disk access things are fairly contained, i.e. /var/secrets/kubernets.io/token will be bind mounted into each unit. You basically use the k8s control plane to start linux processes. There is also no address space allocated to the PODs specially, you are using the host's networking. "Images" are referencing (Debian) packages, these will be apt-get installed. Discovering that an installed package is no longer used is hard, so this will not be done. systemk will reuse the unit file that comes from this install, almost exclusively to find the ExecStart option. A lot of extra data is injected into it to make it work fully for systemk. If there isn't an unit file (e.g. you use bash as the image), a unit file will be synthesized. Each scheduled unit will adhere to a naming scheme so systemk knows which ones are managed by it.
This is a virtual kubelet provider that uses systemd as its backend. Every Linux system has systemd nowadays. By utilizing K3s (just one Go binary) and this virtual kubelet you can provision a system using the Kubernetes API. The networking is the host's network, so it make sense to use this for more heavy weight (stateful?) applications. The filesystem is semi hidden, but emptyDir and the like works. It is hoped this setup allows you to use the Kubernetes API without the need to immerse yourself in the (large) world of kubernetes (overlay networking, ingress objects, etc., etc.). However this does imply networking and discovery (i.e. host) DNS is already working on the system you're deploying this. How to get a system into a state it has, and can run, k3s and systemk is an open questions (Ready made image? A tiny bit of config mgmt?). Systemk will use systemd to start pods as service unit(s). This uses the cgroup implementation systemd has. This allows us to set resource limits, by specifying those in the unit file (copy paste from the podSpec almost). Generally there is no (real container) isolation in this setup - although for disk access things are fairly contained, i.e. /var/secrets/kubernets.io/token will be bind mounted into each unit. You basically use the k8s control plane to start linux processes. There is also no address space allocated to the PODs specially, you are using the host's networking. "Images" are referencing (Debian) packages, these will be apt-get installed. Discovering that an installed package is no longer used is hard, so this will not be done. systemk will reuse the unit file that comes from this install, almost exclusively to find the ExecStart option. A lot of extra data is injected into it to make it work fully for systemk. If there isn't an unit file (e.g. you use bash as the image), a unit file will be synthesized. Each scheduled unit will adhere to a naming scheme so systemk knows which ones are managed by it.
Support
Quality
Security
License
Reuse
Support
systemk has a low active ecosystem.
It has 54 star(s) with 3 fork(s). There are 4 watchers for this library.
It had no major release in the last 12 months.
There are 17 open issues and 24 have been closed. On average issues are closed in 13 days. There are 3 open pull requests and 0 closed requests.
It has a neutral sentiment in the developer community.
The latest version of systemk is tag-1612298722
Quality
systemk has 0 bugs and 0 code smells.
Security
systemk has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
systemk code analysis shows 0 unresolved vulnerabilities.
There are 0 security hotspots that need review.
License
systemk is licensed under the Apache-2.0 License. This license is Permissive.
Permissive licenses have the least restrictions, and you can use them in most projects.
Reuse
systemk releases are available to install and integrate.
Installation instructions are not available. Examples and code snippets are available.
It has 3237 lines of code, 175 functions and 36 files.
It has high code complexity. Code complexity directly impacts maintainability of the code.
Top functions reviewed by kandi - BETA
kandi has reviewed systemk and discovered the below as its top functions. This is intended to give you an instant insight into systemk implemented functionality, and help decide if they suit your requirements.
- Run the root command
- setupKubeletServer is used to setup the kubelet server .
- computeNodeAddresses returns a list of node addresses .
- parseLogOptions parses log options
- nodeConditions returns a list of node conditions .
- SetDefaultOpts sets default values for the provided opts
- JournalReader returns a new journal reader for a container
- uidGidFromSecurityContext returns the UID and uid of the pod
- New returns a new Provider
- main is the main entry point for VK .
Get all kandi verified functions for this library.
systemk Key Features
No Key Features are available at this moment for systemk.
systemk Examples and Code Snippets
Copy
sudo ./systemk --kubeconfig ~/.rancher/k3s/server/cred/admin.kubeconfig --disable-taint
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
draak Ready agent 6s v1.1
Copy
spec:
securityContext:
windowsOptions:
runAsUserName: "prometheus"
Community Discussions
No Community Discussions are available at this moment for systemk.Refer to stack overflow page for discussions.
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install systemk
You can download it from GitHub.
Support
For any new features, suggestions and bugs create an issue on GitHub.
If you have any questions check and ask questions on community page Stack Overflow .
Find more information at:
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page