hyperkit | A toolkit for embedding hypervisor capabilities | Infrastructure Automation library

 by   moby C Version: v0.20210107 License: BSD-2-Clause

kandi X-RAY | hyperkit Summary

kandi X-RAY | hyperkit Summary

hyperkit is a C library typically used in Devops, Infrastructure Automation applications. hyperkit has no bugs, it has no vulnerabilities, it has a Permissive License and it has medium support. You can download it from GitHub.

HyperKit is a toolkit for embedding hypervisor capabilities in your application. It includes a complete hypervisor, based on xhyve/bhyve, which is optimized for lightweight virtual machines and container deployment. It is designed to be interfaced with higher-level components such as the VPNKit and DataKit. HyperKit currently only supports macOS using the Hypervisor.framework. It is a core component of Docker Desktop for Mac.
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              hyperkit has a medium active ecosystem.
              It has 3481 star(s) with 352 fork(s). There are 91 watchers for this library.
              OutlinedDot
              It had no major release in the last 6 months.
              There are 46 open issues and 69 have been closed. On average issues are closed in 81 days. There are 5 open pull requests and 0 closed requests.
              It has a neutral sentiment in the developer community.
              The latest version of hyperkit is v0.20210107

            kandi-Quality Quality

              hyperkit has 0 bugs and 0 code smells.

            kandi-Security Security

              hyperkit has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
              hyperkit code analysis shows 0 unresolved vulnerabilities.
              There are 0 security hotspots that need review.

            kandi-License License

              hyperkit is licensed under the BSD-2-Clause License. This license is Permissive.
              Permissive licenses have the least restrictions, and you can use them in most projects.

            kandi-Reuse Reuse

              hyperkit releases are not available. You will need to build from source code and install.
              Installation instructions are not available. Examples and code snippets are available.
              It has 1154 lines of code, 82 functions and 8 files.
              It has high code complexity. Code complexity directly impacts maintainability of the code.

            Top functions reviewed by kandi - BETA

            kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
            Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of hyperkit
            Get all kandi verified functions for this library.

            hyperkit Key Features

            No Key Features are available at this moment for hyperkit.

            hyperkit Examples and Code Snippets

            No Code Snippets are available at this moment for hyperkit.

            Community Discussions

            QUESTION

            Minikube : remote error tls: bad certificate
            Asked 2022-Mar-20 at 10:02

            I'm following a Kubernetes tutorial, and cannot run first command (minikube start --vm-driver=hyperkit). I'm using a MacBook Pro Intel on macOs Monterey. I cannot make it work because of TLS error.

            ...

            ANSWER

            Answered 2022-Mar-20 at 10:02

            The kubectl version error helped : Unable to connect to the server: dial tcp i/o time out

            It seems I had already played with k8s :

            Source https://stackoverflow.com/questions/71542604

            QUESTION

            how to change minikube VM ip address with hyperkit driver
            Asked 2022-Mar-04 at 13:29

            When starting up minikube with hyperkit driver on MacOS, is there a way to specify the ip address prefix used by the minikube VM? The default ip address of minikube hyperkit VM is 192.168.64.0/24. This address range conflicts with the office ip address and I would like to change it. However, I did not find documentation on how to config that.

            ...

            ANSWER

            Answered 2022-Mar-04 at 13:29

            Is there a way to specify the ip address prefix used by the minikube VM?

            It can't be done with a command or edit the config file.

            These IPs are distributed by the vmnet service in the MacOS operating system and are in the file com.apple.vmnet.plist. Editing it doesn't change anything. Editing /var/db/dhcpd_lease does not change the IP either. You can read more about this problem on official Minikube site:

            If you are using dnsmasq and minikube fails, add listen-address=192.168.64.1 to dnsmasq.conf. If you are running other DNS servers, shut them off or specify an alternative bind address.

            Source https://stackoverflow.com/questions/71321453

            QUESTION

            How to get Docker Desktop on Mac to point to new location of VM Image?
            Asked 2021-Oct-31 at 20:09

            Docker Desktop supports moving the VM Image that it uses onto another drive if needed. On my Mac Mini (2018) I have moved it to an external SSD in order to enlarge it more than the internal storage would have allowed.

            The external SSD was named "Extra Space", which (ironically) became a problem when I also tried to use the SSD for other non-Docker development and discovered that some of the Ruby Gems I am using have problems with spaces in path names.

            I decided that I would have to rename the drive to "ExtraSpace" (without the "extra" space), but then Docker was not able to find its VM Image. I was unable to use the built-in location chooser ("Preferences" -> "Resources" -> "Advanced" -> "Disk Image Location") because that tool assumes that it is moving the image from one location to another but in my case the image is not being moved, only the path to the existing image is changing.

            I looked through the Docker configuration in ~/Library/Containers/com.docker.desktop/ and found the path to the image in Library/Containers/com.docker.docker/Data/vms/0/hyperkit.json. I tried changing it there, but Docker Desktop would not start.

            In the error logs, I found lots of messages like this:

            ...

            ANSWER

            Answered 2021-Oct-31 at 20:09

            After a lot more searching, I found the following additional files that need to be updated with the new path:

            • ~/Library/Preferences/com.electron.docker-frontend.plist
            • ~/Library/Preferences/com.electron.dockerdesktop.plist
            • ~/Library/Group Containers/group.com.docker/settings.json

            Once I had updated all of these files with the new path, Docker Desktop was able to start up correctly.

            Source https://stackoverflow.com/questions/69790221

            QUESTION

            How to set minikube proxy when the driver is hyperkit or virtualbox?
            Asked 2021-Jul-16 at 07:14

            I am trying to use Ingress in minikube by minikube addons enable ingress. However, currently Ingress cannot be used with minikube when the driver is docker on macOS based on this issue ticket.

            So I turn to use hyperkit or virtualbox as driver. One image that need to be pulled when enabling Ingress is k8s.gcr.io/ingress-nginx/controller:v0.44.0. However, k8s.gcr.io is blocked in my current location.

            So I try to use a VPN in global mode for my computer. However, I met this issue that hyperkit is unable to access k8s.gcr.io when the VPN is in use.

            Then I found this document https://minikube.sigs.k8s.io/docs/handbook/vpn_and_proxy/

            My VPN is listening at 127.0.0.1:1087, I set

            ...

            ANSWER

            Answered 2021-Jul-16 at 07:14

            Downloading this image using docker, exporting it to file, transfering it to minikube VM and importing it to local docker registry, like in this thread has solved the problem.

            Source https://stackoverflow.com/questions/68274229

            QUESTION

            How to resolve DNS lookup error when trying to run example microservice application using minikube
            Asked 2021-May-14 at 11:16

            Dear StackOverflow community!

            I am trying to run the https://github.com/GoogleCloudPlatform/microservices-demo locally on minikube, so I am following their development guide: https://github.com/GoogleCloudPlatform/microservices-demo/blob/master/docs/development-guide.md

            After I successfully set up minikube (using virtualbox driver, but I tried also hyperkit, however the results were the same) and execute skaffold run, after some time it will end up with following error:

            ...

            ANSWER

            Answered 2021-May-14 at 11:16

            Tried it with docker driver, i.e. minikube start --driver=docker, and it works. Thanks Brian!

            Source https://stackoverflow.com/questions/67488003

            QUESTION

            Kubernetes Ingress: Internal error occurred: failed calling webhook "validate.nginx.ingress.kubernetes.io"
            Asked 2021-Apr-27 at 10:59

            Playing around with K8 and ingress in local minikube setup. Creating ingress from yaml file in networking.k8s.io/v1 api version fails. See below output. Executing

            ...

            ANSWER

            Answered 2021-Apr-12 at 16:04

            Ref: Expecting apiVersion - networking.k8s.io/v1 instead of extensions/v1beta1

            TL;DR

            kubectl explain predated a lot of the generic resource parsing logic, so it has a dedicated --api-version flag. This should do what you want.

            Source https://stackoverflow.com/questions/67061272

            QUESTION

            Kube-Prometheus-Stack Helm Chart v14.40 : Node-exporter and scrape targets unhealthy in Docker For Mac Kubernetes Cluster on macOS Catalina 10.15.7
            Asked 2021-Apr-02 at 11:15

            I have installed kube-prometheus-stack as a dependency in my helm chart on a local Docker for Mac Kubernetes cluster v1.19.7.

            The myrelease-name-prometheus-node-exporter service is failing with errors received from the node-exporter daemonset after installation of the helm chart for kube-prometheus-stack is installed. This is installed in a Docker Desktop for Mac Kubernetes Cluster environment.

            release-name-prometheus-node-exporter daemonset error log

            ...

            ANSWER

            Answered 2021-Apr-01 at 08:10

            This issue was solved recently. Here is more information: https://github.com/prometheus-community/helm-charts/issues/467 and here: https://github.com/prometheus-community/helm-charts/pull/757

            Here is the solution (https://github.com/prometheus-community/helm-charts/issues/467#issuecomment-802642666):

            [you need to] opt-out the rootfs host mount (preventing the crash). In order to do that you need to specify the following value in values.yaml file:

            Source https://stackoverflow.com/questions/66893031

            QUESTION

            Unable to update Minikube Deployment with new image
            Asked 2021-Jan-10 at 19:27

            I'm running a local minikube cluster as of version v1.15.1 with Kubernetes version v1.19.4 and Docker 19.03.13. Local hypervisor is hyperkit.

            I'm unable to update the deployment with a new image version from Docker Hub. I'm using imagePullPolicy: Always. The Image is clearly updated on Docker Hub. I pulled it locally and ran the image outside the kubernetes cluster to test that.

            I tried the following methods to update within the cluster without success:

            1. Deleting the pod and letting it be restarted by kubernetes (because the deployment specifies one replica)
            2. Deleting the whole deployment via kubectl delete deployment service-frontend-voting
            3. Doing a rolling update via kubectl rollout restart deployment service-frontend-voting, kubectl get pods shows that the pod is only seconds old. But still, old image.
            4. Updating the deployment via kubectl set image deployment/service-frontend-voting service-frontend-voting=starax/service-frontend-voting:latest
            5. Pushing same image to new tag on docker hub and doing steps 1-3 switching :latest to :next and vice versa
            6. Using only :latest or imagePullPolicy: Always in the deployment spec, because apparently Kubernetes should pull the image if either of those are specified.

            None of that methods have updated the image. What am I missing here?

            The application itself is a simple VueJS app. The wanted change is the backend-url. Using environment variables with a production vue-js app is not trivial and therefor skipped here.

            Deployment.yaml for reference:

            ...

            ANSWER

            Answered 2021-Jan-10 at 19:27

            If you did pull the image outside the minikube cluster and you successfully run it as docker container .. then It should work(check if the IMAGE ID is unique, else if you didnt change anything in dockerfile then newly created image will have the same image ID ) If successfully created , tagged and uploaded like : dockerhub starax/service-frontend-voting:test You can do these steps

            • eval $(minikube docker-env)

            • docker images => check the IMAGE IDs and name of images and their tags

            • docker pull starax/service-frontend-voting:test => this will download the test tag

            • run docker images again => to check if image ID , tags are different than the previous onrd

            • After that in manifest file kubectl edit deploy service-frontend-voting change imagePullPolicy: IfNotPresent and image: starax/service-frontend-voting:test

            Notes the command 1. you used wont do anything, because deployment will recreate another pod even if you deleted that pod , the new pod will have the image that is indicated in deployment which is same the old version.kubectl describe service-frontend-voting to check name and tag of the image that being used ..

            The command 2,3 will delete, then create a same deployment as before, and the image pulled will be starax/service-frontend-voting:latest

            To update image use => 4

            About 6, if you don't specify the tag of an image K8s will pulled that image with tag latest tag.Also If you dont indicate imagePullPolicy then policy by default is Always ..

            Also check kubectl get events is good command to tell you if you pulled a new image or no

            I hope I helped

            Source https://stackoverflow.com/questions/65656335

            QUESTION

            why kubernete pod reports `Insufficient memory` even if there are free memory on the host?
            Asked 2020-Nov-25 at 09:12

            I am running minikube v1.15.1 on MacOS and installed helm v3.4.1. I run helm install elasticsearch elastic/elasticsearch --set resources.requests.memory=2Gi --set resources.limits.memory=4Gi --set replicas=1 to install elasticsearch on k8s cluster. The pod elasticsearch-master-0 is deployed but it is in pending status.

            When I run kubectl describe pod elasticsearch-master-0 it gives me below warning:

            ...

            ANSWER

            Answered 2020-Nov-24 at 22:26

            Minikube on mac uses a virtual machine to host kubernetes. This is separate from the host and restricts the available memory for the single node cluster.

            You can configure more memory for the VM using

            Source https://stackoverflow.com/questions/64995076

            QUESTION

            How may I connect to a docker desktop virtual machine on mac? (docker desktop version 2.4)
            Asked 2020-Oct-26 at 01:42

            On a mac, docker utilizes HyperKit in order to create a LinuxKit VM. This means, for example, among other things, that I cannot see any of the image layers that are pulled down for a given container in places like /var/lib/docker, since the VM controls all of that.

            Is there a way to actually get a shell on that VM to be able to do that sort of introspection?

            ...

            ANSWER

            Answered 2020-Oct-26 at 01:42

            In Docker Desktop 2.4 for Mac, it is possible to get a nearly full terminal into the LinuxKit VM, with sane tab auto-completion, and be able to inspect its contents.

            For example, to see the layers of pulled down docker images, you may perform the following commands:

            Source https://stackoverflow.com/questions/64530530

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install hyperkit

            You can download it from GitHub.

            Support

            If you are using a version of Hyperkit which is embedded into a higher level application (e.g. Docker Desktop for Mac) then please report any issues against that higher level application in the first instance. That way the relevant team can triage and determine if the issue lies in Hyperkit and assign as necessary. If you are using Hyperkit directly then please report issues against this repository.
            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/moby/hyperkit.git

          • CLI

            gh repo clone moby/hyperkit

          • sshUrl

            git@github.com:moby/hyperkit.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

            Explore Related Topics

            Consider Popular Infrastructure Automation Libraries

            terraform

            by hashicorp

            salt

            by saltstack

            pulumi

            by pulumi

            terraformer

            by GoogleCloudPlatform

            Try Top Libraries by moby

            moby

            by mobyGo

            buildkit

            by mobyGo

            swarmkit

            by mobyGo

            libnetwork

            by mobyGo

            spdystream

            by mobyGo