Commit f5c75b55 authored by Darren Shepherd's avatar Darren Shepherd

New files

parent 9c7b956c
package agent
import (
"math/rand"
"net"
"time"
"github.com/sirupsen/logrus"
"k8s.io/apiserver/pkg/util/logs"
app2 "k8s.io/kubernetes/cmd/kube-proxy/app"
"k8s.io/kubernetes/cmd/kubelet/app"
_ "k8s.io/kubernetes/pkg/client/metrics/prometheus" // for client metric registration
_ "k8s.io/kubernetes/pkg/version/prometheus" // for version metric registration
)
type AgentConfig struct {
NodeName string
ClusterCIDR net.IPNet
KubeConfig string
RuntimeSocket string
ListenAddress string
CACertPath string
CNIBinDir string
CNIConfDir string
}
func Agent(config *AgentConfig) error {
rand.Seed(time.Now().UTC().UnixNano())
prepare(config)
kubelet(config)
kubeProxy(config)
return nil
}
func prepare(config *AgentConfig) {
if config.CNIBinDir == "" {
config.CNIBinDir = "/opt/cni/bin"
}
if config.CNIConfDir == "" {
config.CNIConfDir = "/etc/cni/net.d"
}
}
func kubeProxy(config *AgentConfig) {
command := app2.NewProxyCommand()
command.SetArgs([]string{
"--proxy-mode", "iptables",
"--healthz-bind-address", "127.0.0.1",
"--kubeconfig", config.KubeConfig,
"--cluster-cidr", config.ClusterCIDR.String(),
})
go func() {
err := command.Execute()
logrus.Fatalf("kube-proxy exited: %v", err)
}()
}
func kubelet(config *AgentConfig) {
command := app.NewKubeletCommand()
logs.InitLogs()
defer logs.FlushLogs()
args := []string{
"--healthz-bind-address", "127.0.0.1",
"--read-only-port", "0",
"--allow-privileged=true",
"--cluster-domain", "cluster.local",
"--cluster-dns", "10.43.0.10",
"--kubeconfig", config.KubeConfig,
"--eviction-hard", "imagefs.available<5%,nodefs.available<5%",
"--eviction-minimum-reclaim", "imagefs.available=10%,nodefs.available=10%",
"--fail-swap-on=false",
"--cgroup-root", "/k3s",
"--cgroup-driver", "cgroupfs",
"--container-runtime-endpoint", config.RuntimeSocket,
"--cni-conf-dir", config.CNIConfDir,
"--cni-bin-dir", config.CNIBinDir,
}
if config.ListenAddress != "" {
args = append(args, "--address", config.ListenAddress)
}
if config.CACertPath != "" {
args = append(args, "--anonymous-auth=false", "--client-ca-file", config.CACertPath)
}
if config.NodeName != "" {
args = append(args, "--hostname-override", config.NodeName)
}
command.SetArgs(args)
go func() {
logrus.Fatalf("kubelet exited: %v", command.Execute())
}()
}
#!/bin/bash
set -e
F="
.bazelrc
.github
.kazelcfg.json
BUILD.bazel
CHANGELOG-1.10.md
CHANGELOG.md
CONTRIBUTING.md
Makefile
Makefile.generated_files
OWNERS
OWNERS_ALIASES
SUPPORT.md
WORKSPACE
api
build
cluster
cmd/clicheck
cmd/cloud-controller-manager
cmd/gendocs
cmd/genkubedocs
cmd/genman
cmd/genswaggertypedocs
cmd/genutils
cmd/genyaml
cmd/hyperkube
cmd/importverifier
cmd/kubeadm
cmd/kubemark
cmd/linkcheck
code-of-conduct.md
docs
examples
hack
labels.yaml
logo
pkg/auth/authorizer
pkg/cloudprovider/providers
pkg/controller/nodeipam/ipam/adapter.go
pkg/controller/nodeipam/ipam/cloud_cidr_allocator.go
pkg/controller/nodeipam/ipam/controller.go
pkg/credentialprovider/aws
pkg/credentialprovider/azure
pkg/credentialprovider/gcp
pkg/credentialprovider/rancher
pkg/kubelet/dockershim
pkg/kubelet/gpu/nvidia
pkg/kubelet/network/hairpin
pkg/kubelet/network/kubenet
pkg/kubelet/rkt
pkg/util/filesystem/fakefs.go
pkg/volume/aws_ebs
pkg/volume/azure_dd
pkg/volume/azure_file
pkg/volume/cephfs
pkg/volume/cinder
pkg/volume/fc
pkg/volume/flocker
pkg/volume/gce_pd
pkg/volume/glusterfs
pkg/volume/iscsi
pkg/volume/photon_pd
pkg/volume/portworx
pkg/volume/quobyte
pkg/volume/rbd
pkg/volume/scaleio
pkg/volume/storageos
pkg/volume/vsphere_volume
plugin/pkg/admission/admit
plugin/pkg/admission/alwayspullimages
plugin/pkg/admission/antiaffinity
plugin/pkg/admission/defaulttolerationseconds
plugin/pkg/admission/deny
plugin/pkg/admission/eventratelimit
plugin/pkg/admission/exec
plugin/pkg/admission/extendedresourcetoleration
plugin/pkg/admission/gc
plugin/pkg/admission/imagepolicy
plugin/pkg/admission/initialresources
plugin/pkg/admission/limitranger
plugin/pkg/admission/namespace
plugin/pkg/admission/noderestriction
plugin/pkg/admission/persistentvolume
plugin/pkg/admission/podnodeselector
plugin/pkg/admission/podpreset
plugin/pkg/admission/podtolerationrestriction
plugin/pkg/admission/priority
plugin/pkg/admission/resourcequota
plugin/pkg/admission/security
plugin/pkg/admission/securitycontext
plugin/pkg/admission/storage/storageobjectinuseprotection
staging/src/k8s.io/apiserver/pkg/admission/plugin/webhook/mutating
staging/src/k8s.io/apiserver/pkg/admission/plugin/webhook/validating
staging/src/k8s.io/apiserver/pkg/authorization/authorizerfactory/delegating.go
staging/src/k8s.io/apiserver/pkg/server/options/audit.go
staging/src/k8s.io/apiserver/pkg/server/options/authentication.go
staging/src/k8s.io/apiserver/pkg/server/options/authorization.go
staging/src/k8s.io/apiserver/pkg/storage/storagebackend/factory/etcd2.go
staging/src/k8s.io/apiserver/plugin/pkg/audit
staging/src/k8s.io/apiserver/plugin/pkg/authenticator/token
staging/src/k8s.io/apiserver/plugin/pkg/authorizer/webhook
staging/src/k8s.io/client-go/plugin/pkg/client/auth/azure
staging/src/k8s.io/client-go/plugin/pkg/client/auth/gcp
staging/src/k8s.io/client-go/plugin/pkg/client/auth/openstack
staging/src/k8s.io/sample-apiserver
staging/src/k8s.io/sample-controller
test
third_party/BUILD
third_party/OWNERS
third_party/etcd.BUILD
third_party/forked/etcd221
third_party/forked/etcd237
third_party/forked/golang/LICENSE
third_party/forked/golang/PATENTS
third_party/forked/golang/go
third_party/forked/golang/reflect
third_party/forked/golang/template
third_party/forked/shell2junit
third_party/htpasswd
third_party/intemp
third_party/protobuf
third_party/swagger-ui
translations
"
./hack/update-codegen.sh
git add pkg/generated/openapi/zz_generated.openapi.go
git rm -r $F
rm -rf $F
git commit -m "Generated: Delete files"
package main
import (
"context"
"net"
"os"
"github.com/sirupsen/logrus"
"k8s.io/kubernetes/cmd/agent"
"k8s.io/kubernetes/cmd/server"
)
func runAgent() {
_, ipNet, err := net.ParseCIDR("10.43.0.0/16")
if err != nil {
panic(err)
}
err = agent.Agent(&agent.AgentConfig{
KubeConfig: "./data/cred/kubeconfig-node.yaml",
RuntimeSocket: "unix:///run/containerd/containerd.sock",
ClusterCIDR: *ipNet,
})
logrus.Fatal(err)
}
func runServer() {
hostname, err := os.Hostname()
if err != nil {
panic(err)
}
_, cidr, err := net.ParseCIDR("10.43.0.0/16")
if err != nil {
panic(err)
}
_, clusterCidr, err := net.ParseCIDR("10.42.0.0/16")
if err != nil {
panic(err)
}
cfg := server.ServerConfig{
DataDir: "./data",
ListenAddr: net.ParseIP("0.0.0.0"),
ListenPort: 6443,
ClusterIPRange: *clusterCidr,
ServiceIPRange: *cidr,
PublicHostname: hostname,
}
ctx := context.Background()
err = server.Server(ctx, &cfg)
if err != nil {
panic(err)
}
<-ctx.Done()
}
func main() {
if len(os.Args) > 1 && os.Args[1] == "agent" {
runAgent()
}
runServer()
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment