文档说明:自建K8S,只记录关键地方;
k8s 版本 > 1.19
CRI 使用 containerd
实验环境: linux debian 11
| #!/bin/bash |
| set -eux |
| set -o pipefail |
| |
| |
| |
| KUBE_VERSION=`kubelet --version | awk -F ' ' '{print $2}'` |
| ip=$(ip address show | grep enp0s3 | grep 'inet' | awk '{print $2}' | awk -F '/' '{print $1}') |
| ip=$(ip -4 address show | grep enp0s3 | grep 'inet' | awk '{print $2}' | awk -F '/' '{print $1}' | sed -n '1p') |
| |
| kubeadm config images list --v=5 --kubernetes-version=$(kubelet --version | awk -F ' ' '{print $2}') |
| kubeadm config images pull --v=5 --kubernetes-version=$(kubelet --version | awk -F ' ' '{print $2}') |
| swapoff -a |
| |
| |
| kubeadm init --dry-run --v=5 --kubernetes-version=$KUBE_VERSION |
| kubeadm config images list |
| kubeadm config images pull |
| |
| |
| |
| ip=$(ip address show | grep enp0s3 | grep 'inet' | awk '{print $2}' | awk -F '/' '{print $1}') |
| kubeadm init \ |
| --kubernetes-version=$(kubelet --version | awk -F ' ' '{print $2}') \ |
| --pod-network-cidr=10.244.0.0/16,fd00:11::/64 \ |
| --service-cidr=10.96.0.0/16,fd00:22::/112 \ |
| --token-ttl 0 \ |
| --v=5 \ |
| --apiserver-advertise-address="${ip}" |
| |
| |
| mkdir -p $HOME/.kube |
| echo "y\n" | cp -i /etc/kubernetes/admin.conf $HOME/.kube/config |
| chown $(id -u):$(id -g) $HOME/.kube/config |
| |
| |
| |
kubenetes 使用ipvs 替代 iptables
| kubectl edit configmap kube-proxy -n kube-system |
| |
| |
| mode: ipvs |
| |
确认cgroup是否使用systemd,如果不是就修改为systemd
| |
| kubectl edit cm kubelet-config -n kube-system |
| |
| cgroupDriver: systemd |
| |
查看镜像(ctr和crictl 两个都可以用)
| ctr --namespace k8s.io containers ls |
| ctr --namespace k8s.io images ls |
| |
| |
| vi /etc/crictl.yaml |
| runtime-endpoint: unix:///var/run/containerd/containerd.sock |
| image-endpoint: unix:///var/run/containerd/containerd.sock |
| timeout: 10 |
| # debug: true |
| |
| |
| crictl ps -a | grep -v Running | awk '{print $1}' |
| crictl images |
| |
其他用法
| |
| kubeadm init --kubernetes-version=v1.25.2 --image-repository registry.aliyuncs.com/google_containers |
| |
参考文档
- containerd
- cgroups
- kubernetes ipvs
- crictl 与 ctr 区别
- create-cluster-kubeadm
- kubeadm-init
- 一文搞懂容器运行时 Containerd
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术