8000 GitHub - jpmondet/k3s: 5 less then k8s. Short for kates, pronounced k8s
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

jpmondet/k3s

 
 

Repository files navigation

Kubernetes


Kubernetes without the features I don't care about.

Some of the removed features

  • OpenAPI/Swagger
  • cloud-controller-manager
  • kube aggregation
  • APIs (NOTE: most of these are old APIs that have been replaced)
    • admissionregistration/v1alpha1
    • authentication/v1beta1
    • authorization/v1beta1
    • certificates/v1beta1
    • events/v1beta1
    • imagepolicy/v1alpha1
    • rbac/v1alpha1
    • rbac/v1beta1
    • settings/v1alpha1
    • storage/v1alpha1
  • Authentication
    • bootstrap token
    • oidc
    • webhook
  • Authorization
    • ABAC
  • Cloud Providers (all of them)
  • Controllers
    • Bootstrap
    • Certificates
    • Cloud
    • Cluster Role Aggregation
    • Cloud based node IPAM
    • Replication
    • Route
  • Credential Providers AWS/GCP/Azure/Rancher
  • Kubelet
    • Device Plugin
    • Certificates
    • Checkpoint
    • Device Manager
    • Custom Metrics
    • Dockershim
    • GPU
    • Mount Pod
    • Network
      • Hairpin
      • Kubenet
    • rkt
  • Volume Drivers
    • aws_ebs
    • azure_dd
    • azure_file
    • cephfs
    • cinder
    • fc
    • flocker
    • gce_pd
    • glusterfs
    • iscsi
    • photon_pd
    • portworx
    • quobyte
    • rbd
    • scaleio
    • storageos
    • vsphere_volume
  • Admission Controllers
    • admin
    • alwayspullimages
    • antiaffinity
    • defaulttolerationseconds
    • deny
    • eventratelimit
    • exec
    • extendedresourcetoleration
    • gc
    • imagepolicy
    • initialreosurces
    • limitranger
    • namespace
    • noderestriction
    • persistentvolume
    • podnodeselector
    • podpreset
    • podtolerationrestriction
    • priority
    • resourcequota
    • security
    • securitycontext
    • storageobjectinuseprotection
  • etcd (yeah, i'm using sqlite3)

Build

# First have sane GOPATH, hopefully you know how to do that
go build -o k3s
go build -o kubectl ./cmd/kubectl

Run

Run containerd

# Download and install containerd and runc
sudo curl -fL -o /usr/local/bin/runc https://github.com/opencontainers/runc/releases/download/v1.0.0-rc5/runc.amd64
sudo chmod +x /usr/local/bin/runc

curl -fsL https://github.com/containerd/containerd/releases/download/v1.1.1/containerd-1.1.1.linux-amd64.tar.gz | sudo tar xvf /usr/src/containerd.tgz -C /usr/local/bin bin/ --strip-components=1

# Some CNI
sudo mkdir -p /opt/cni/bin
curl -fsL https://github.com/containernetworking/plugins/releases/download/v0.7.1/cni-plugins-amd64-v0.7.1.tgz  | sudo tar xvzf - -C /opt/cni/bin ./loopback

sudo containerd &

Run Kubernetes

# Server
./k3s

# Agent (If doing this on another host copy the ./data folder)
sudo ./k3s agent

# Install Networking
export KUBECONFIG=./data/cred/kubeconfig.yaml
curl -s "https://cloud.weave.works/k8s/net?k8s-version=$(./kubectl version | base64 | tr -d '\n')" | sed 's!rbac.authorization.k8s.io/v1beta1!rbac.authorization.k8s.io/v1!g' | ./kubectl apply -f -

Your kubeconfig file is in ./data/cred/kubeconfig.yaml

Enjoy.

About

5 less then k8s. Short for kates, pronounced k8s

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 93.6%
  • Python 6.3%
  • Other 0.1%
0