mktkhr / stamp-iot

MIT License
3 stars 0 forks source link

Kubernetesの技術調査を行う #122

Closed mktkhr closed 4 months ago

mktkhr commented 8 months ago

目的

期待結果

mktkhr commented 5 months ago

参考資料

mktkhr commented 4 months ago

kubelet・kubeadmも使う方法 と kubespray のメリットデメリット検討

mktkhr commented 4 months ago

kubesprayで実験

結論

mktkhr commented 4 months ago

kubeadmで構築

構成概要

名前 ハードウェア メモリ OS ローカルIP
kube-controlplane-01 intel core i5-4690 32GB Ubuntu Desktop 24.04 LTS 192.168.0.140
ems-raspberrypi-5 RaspberryPi 5 8GB Ubuntu Server 24.04 LTS 192.168.0.111
ems-raspberrypi-4b RaspberryPi 4B 8GB Ubuntu Server 24.04 LTS 192.168.0.222

全ノードで実行


Control Planeで実行

出力例を表示 ```yaml apiVersion: kubeadm.k8s.io/v1beta3 bootstrapTokens: - groups: - system:bootstrappers:kubeadm:default-node-token token: abcdef.0123456789abcdef ttl: 24h0m0s usages: - signing - authentication kind: InitConfiguration localAPIEndpoint: advertiseAddress: 1.2.3.4 bindPort: 6443 nodeRegistration: criSocket: unix:///var/run/containerd/containerd.sock imagePullPolicy: IfNotPresent name: node taints: null --- apiServer: timeoutForControlPlane: 4m0s apiVersion: kubeadm.k8s.io/v1beta3 certificatesDir: /etc/kubernetes/pki clusterName: kubernetes controllerManager: {} dns: {} etcd: local: dataDir: /var/lib/etcd imageRepository: registry.k8s.io kind: ClusterConfiguration kubernetesVersion: 1.30.0 networking: dnsDomain: cluster.local serviceSubnet: 10.96.0.0/12 scheduler: {} ```
apiVersion: kubeadm.k8s.io/v1beta3
bootstrapTokens:
- groups:
  - system:bootstrappers:kubeadm:default-node-token
  # 適宜変更すること
  token: abcdef.0123456789abcdef
  ttl: 24h0m0s
  usages:
  - signing
  - authentication
kind: InitConfiguration
localAPIEndpoint:
  advertiseAddress: 192.168.0.140
  bindPort: 6443
nodeRegistration:
  criSocket: unix:///var/run/containerd/containerd.sock
  imagePullPolicy: IfNotPresent
  name: kube-controlplane-01
  taints: null
  kubeletExtraArgs:
    node-ip: 192.168.0.140
---
apiServer:
  timeoutForControlPlane: 4m0s
apiVersion: kubeadm.k8s.io/v1beta3
certificatesDir: /etc/kubernetes/pki
clusterName: kubernetes
controllerManager: {}
dns: {}
etcd:
  local:
    dataDir: /var/lib/etcd
imageRepository: registry.k8s.io
kind: ClusterConfiguration
kubernetesVersion: 1.30.0
networking:
  dnsDomain: cluster.local
  serviceSubnet: 10.96.0.0/12
  podSubnet: 192.168.0.50/16
scheduler: {}

Workerで実行

結果の例