systemk | systemd backend for the virtual-kubelet

 by   virtual-kubelet Go Version: tag-1612298722 License: Apache-2.0

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.
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              systemk has a low active ecosystem.
              It has 54 star(s) with 3 fork(s). There are 4 watchers for this library.
              OutlinedDot
              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

            kandi-Quality Quality

              systemk has 0 bugs and 0 code smells.

            kandi-Security 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.

            kandi-License 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.

            kandi-Reuse 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

            Systemk: virtual kubelet for systemd,Use with K3S
            Godot img1Lines of Code : 13dot img1License : Permissive (Apache-2.0)
            copy iconCopy
            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  
            Using username in securityContext
            Godot img2Lines of Code : 4dot img2License : Permissive (Apache-2.0)
            copy iconCopy
            spec:
              securityContext:
                windowsOptions:
                  runAsUserName: "prometheus"
              
            Debian/Ubuntu
            Godot img3Lines of Code : 2dot img3License : Permissive (Apache-2.0)
            copy iconCopy
            NAME      READY   STATUS    RESTARTS   AGE
            uptimed   1/1     Running   0          7m42s
              

            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:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
            CLONE
          • HTTPS

            https://github.com/virtual-kubelet/systemk.git

          • CLI

            gh repo clone virtual-kubelet/systemk

          • sshUrl

            git@github.com:virtual-kubelet/systemk.git

          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link

            Consider Popular Go Libraries

            go

            by golang

            kubernetes

            by kubernetes

            awesome-go

            by avelino

            moby

            by moby

            hugo

            by gohugoio

            Try Top Libraries by virtual-kubelet

            virtual-kubelet

            by virtual-kubeletGo

            tensile-kube

            by virtual-kubeletGo

            azure-aci

            by virtual-kubeletGo

            alibabacloud-eci

            by virtual-kubeletGo

            aws-fargate

            by virtual-kubeletGo