Posted:
| Categories:
cheatsheet
| Tags:
cheatsheet,
k8n,
nerdctl
| オプション | 効果 |
|---|
kubectl get nodes | ノードの一覧表示 |
kubectl get pods | ポッドの一覧表示 |
kubectl get pods --namespace=<namespace_name> | 特定のネームスペースのリソースを表示 |
kubectl get namespaces | ネームスペース一覧 |
kubectl get jobs | ジョブの確認 |
kubectl get jobs | ジョブの確認 |
kubectl get svc -o wide | サービスの一覧表示(ロードバランサーも見れる) |
kubectl get deployments -n <namespace> | デプロイメントの一覧表示 |
kubectl rollout restart <deployment> -n default | デプロイメントの再起動 |
kubectl logs <pod_name> | ログの確認とデバッグ |
kubectl logs jobs/example-job | ログ |
kubectl scale deployment <deployment> --replicas=0 -n <namespace> | デプロイメントのスケール |
kubectl exec -it <pod_name> -- <command> | ポッド内でコマンドを実行するには |
kubectl apply -f <filename.yaml> | リソースの作成 |
kubectl delete -f <filename.yaml> | リソースの削除 |
Read more...Posted:
| Categories:
cheatsheet
| Tags:
cheatsheet,
k8n,
nerdctl
–address /run/k3s/containerd/containerd.sock
–namespace k8s.io
サンプル
sudo nerdctl –address /run/k3s/containerd/containerd.sock –namespace k8s.io build -t cli-tool-docker:latest /mnt/nfs/home/exampleuser/workspace/git/github.com/exampleuser/cli-tool-docker/
exec
nerdctl/docs/command-reference.md at main · containerd/nerdctl
–init でコンテナ内でinit経由で起動できる
nerdctl はコンテナ内で独自の init プロセスを自動的に起動します。
この init プロセスは PID 1 として動作し、ユーザーが指定したコマンドはその子プロセスとして実行されます。
これにより、コンテナ内のプロセス管理が改善され、特にゾンビプロセスの問題が効果的に解決されます。
参考
Read more...Posted:
| Categories:
Gentoo
| Tags:
Gentoo,
k8n
事前準備
- 固定 IP 化
- swap を無効化
- docker のインストールと自動起動
cgroup で CPU とメモリーが有効になっている必要がある
Gentoo で OpenRC だと /etc/rc.conf で設定する。
Gentoo側は Cgroup v1 と v2 の設定が選べる(hybrit になるようだ)。 Kubernetes での Cgroup v2 サポートは Docker で Docker Engine 20.10 から実装された模様
2021/10/10 時点の 私の Gentoo の Docker のバージョンを確認した所、20.10.7 だった。
kubernetes は 1.22 から Cgroup v2 をサポートした模様 参考 Kubernetes 1.22 における新機能は?
なぜ失敗しているのか?
kubeletやkubeadmのコンパイルは上手くいく。そういう観点でパッケージメンテナの作業は成功している。
kubeletも起動している。kubeadm –dry-runも正常に終了する。が実際にkubeadmで構築する段階で失敗している。
ここまま検証するより、一度、正常に動作しているkubenetesと比較した方が検証が進みやすそうだったので、構築できたk3s.ioを用いて検証を続けている。
kubernetes をインストールする
gentoo は標準でパッケージが用意されていたので、それでどこまで行けるか確認してみる。
パッケージインストール
app-admin/helm がマスクされていたのでマスクを外す。
cat << EOF | sudo tee -a /etc/portage/package.accept_keywords
app-admin/helm **
EOF
cat /etc/portage/package.accept_keywords
sudo emerge --ask --quiet --verbose --verbose-conflicts app-admin/helm sys-cluster/kubeadm sys-cluster/kubectl sys-cluster/kubelet \
app-emulation/flannel net-firewall/conntrack-tools sys-apps/ethtool net-firewall/ebtables net-misc/socat
kubeadm init を –dry-run で実行、エラーが起きない事を確認する
sudo kubeadm init --dry-run --pod-network-cidr=10.244.0.0/16
cgroup でエラーが起きた
CGROUPS_MEMORY: missing
memory と /proc/cgroup を確認すると memory の enabled を見ると 0 、off になっているようだ。
memory を有効にすることを考える。
Read more...