Skip to content

Instantly share code, notes, and snippets.

@juner417
Created August 10, 2022 08:39
Show Gist options
  • Select an option

  • Save juner417/2622b45742bcbe4b4013b8890d44e5cb to your computer and use it in GitHub Desktop.

Select an option

Save juner417/2622b45742bcbe4b4013b8890d44e5cb to your computer and use it in GitHub Desktop.
kind-example.md

prerequsite

  • golang >= 1.18
  • kind >= v0.11.1

installation

# summary
#1. install a bin
#2. adjust docker daemon resource

create cluster with configuration

cat <<EOF > cluster-config.yaml
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
name: hello-k8s
nodes:
- role: control-plane
- role: worker
  # a ingress node, only one because of port duplication
  extraPortMappings:
  - containerPort: 80
    hostPort: 80
  - containerPort: 443
    hostPort: 443
  kubeadmConfigPatches:
  - |
    kind: JoinConfiguration
    nodeRegistration:
      kubeletExtraArgs:
        node-labels: "ingress-ready=true"
- role: worker
- role: worker
EOF

kind create cluster --config cluster-config.yaml

deploy ingress controller

kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/main/deploy/static/provider/kind/deploy.yaml

issues

issue1) etcd no space left on device

cause

  • shortage a docker daemons disk

solution

  • prune a docker daemon
docker system prune
  • increase docker daemons resource
docker daemon > Preferences > resources > disk image size(increase)

logs

# check logs
$ docker exec -it 63d64a79b67c crictl logs -f 8b707c20c13eb
[WARNING] Deprecated '--logger=capnslog' flag is set; use '--logger=zap' flag instead
2022-06-22 09:57:26.622842 I | etcdmain: etcd Version: 3.4.13
2022-06-22 09:57:26.622981 I | etcdmain: Git SHA: ae9734ed2
2022-06-22 09:57:26.623021 I | etcdmain: Go Version: go1.12.17
2022-06-22 09:57:26.623122 I | etcdmain: Go OS/Arch: linux/amd64
2022-06-22 09:57:26.623136 I | etcdmain: setting maximum number of CPUs to 4, total number of available CPUs is 4
[WARNING] Deprecated '--logger=capnslog' flag is set; use '--logger=zap' flag instead
2022-06-22 09:57:26.623383 I | embed: peerTLS: cert = /etc/kubernetes/pki/etcd/peer.crt, key = /etc/kubernetes/pki/etcd/peer.key, trusted-ca = /etc/kubernetes/pki/etcd/ca.crt, client-cert-auth = true, crl-file =
2022-06-22 09:57:26.623943 I | embed: name = kind-control-plane
2022-06-22 09:57:26.624009 I | embed: data dir = /var/lib/etcd
2022-06-22 09:57:26.624025 I | embed: member dir = /var/lib/etcd/member
2022-06-22 09:57:26.624034 I | embed: heartbeat = 100ms
2022-06-22 09:57:26.624042 I | embed: election = 1000ms
2022-06-22 09:57:26.624051 I | embed: snapshot count = 10000
2022-06-22 09:57:26.624094 I | embed: advertise client URLs = https://172.18.0.5:2379
2022-06-22 09:57:26.626767 C | etcdserver: create wal error: no space left on device
panic: create wal error: no space left on device

goroutine 1 [running]:
github.com/coreos/pkg/capnslog.(*PackageLogger).Panicf(0xc0001f8180, 0x10a3649, 0x14, 0xc0002ca330, 0x1, 0x1)
	/home/ANT.AMAZON.COM/leegyuho/go/pkg/mod/github.com/coreos/pkg@v0.0.0-20160727233714-3ac0863d7acf/capnslog/pkg_logger.go:75 +0x135
go.etcd.io/etcd/etcdserver.startNode(0x7ffe06aede35, 0x12, 0x0, 0x0, 0x0, 0x0, 0xc000152d80, 0x1, 0x1, 0xc000152f00, ...)
	/tmp/etcd-release-3.4.13/etcd/release/etcd/etcdserver/raft.go:465 +0xf36
go.etcd.io/etcd/etcdserver.NewServer(0x7ffe06aede35, 0x12, 0x0, 0x0, 0x0, 0x0, 0xc000152d80, 0x1, 0x1, 0xc000152f00, ...)
	/tmp/etcd-release-3.4.13/etcd/release/etcd/etcdserver/server.go:406 +0x4974
go.etcd.io/etcd/embed.StartEtcd(0xc000296000, 0xc0001d0580, 0x0, 0x0)
	/tmp/etcd-release-3.4.13/etcd/release/etcd/embed/etcd.go:214 +0x988
go.etcd.io/etcd/etcdmain.startEtcd(0xc000296000, 0x10941c5, 0x3, 0x1095201, 0x5)
	/tmp/etcd-release-3.4.13/etcd/release/etcd/etcdmain/etcd.go:302 +0x40
go.etcd.io/etcd/etcdmain.startEtcdOrProxyV2()
	/tmp/etcd-release-3.4.13/etcd/release/etcd/etcdmain/etcd.go:160 +0x3164
go.etcd.io/etcd/etcdmain.Main()
	/tmp/etcd-release-3.4.13/etcd/release/etcd/etcdmain/main.go:46 +0x38
main.main()
	/tmp/etcd-release-3.4.13/etcd/release/etcd/main.go:28 +0x20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment