kubernetes kubeadm 初始化

文档说明:自建K8S,只记录关键地方;
k8s 版本 > 1.19
CRI 使用 containerd
实验环境: linux debian 11

#!/bin/bash
set -eux
set -o pipefail
# enp0s3 是网卡名称
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
# 看看有什么报错,就解决什么报错即可 --v=5 显示日志的级别
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
# change mode from "" to ipvs
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

参考文档

  1. containerd
  2. cgroups
  3. kubernetes ipvs
  4. crictl 与 ctr 区别
  5. create-cluster-kubeadm
  6. kubeadm-init
  7. 一文搞懂容器运行时 Containerd

上一篇 kubernetes kubeadm 初始化准备

下一篇 kubernets网络组件calico和kuve-ovn初始化

posted @   jingjingxyk  阅读(325)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
点击右上角即可分享
微信分享提示