【K8S系列】
使用kebuadm搭建k8s集群
系列文章目录
第一章 使用kebuadm搭建k8s集群
提示:以下是本篇文章正文内容,下面案例可供参考
一、安装容器运行时
这里选择安装 containerd 容器运行时,安装 docker 即可,docker 底层调用容器进行时 即为 containerd。
二、安装kebuadm
-
更新 apt 包索引并安装使用 Kubernetes apt 仓库所需要的包:
sudo apt-get update sudo apt-get install -y apt-transport-https ca-certificates curl
-
下载 Google Cloud 公开签名秘钥:
sudo curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.25/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg
如若下载超时: 手动下载 https://packages.cloud.google.com/apt/doc/apt-key.gpg 将下载后的 apt-key.gpg 复制到 /usr/share/keyrings/kubernetes-archive-keyring.gpg 文件下
-
下载 Google Cloud 公开签名秘钥:
echo 'deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.25/deb/ /' | sudo tee /etc/apt/sources.list.d/kubernetes.list
-
更新 apt 包索引,安装 kubelet、kubeadm 和 kubectl,并锁定其版本:
sudo apt-get update sudo apt-get install -y kubelet=1.25.5-00 kubeadm=1.25.5-00 kubectl=1.25.5-00 sudo apt-mark hold kubelet kubeadm kubectl
执行 sudo apt-get update ,从谷歌下载密钥超时,调整第三步为网易密钥: echo "deb [signed-by=/usr/share/keyrings/kubernetes-archive-keyring.gpg] http://mirrors.ustc.edu.cn/kubernetes/apt kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list
-
Centos 系统 安装kebuadm:
cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo [kubernetes] name=Kubernetes baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-\$basearch enabled=1 gpgcheck=1 repo_gpgcheck=1 gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg exclude=kubelet kubeadm kubectl EOF # Set SELinux in permissive mode (effectively disabling it) sudo setenforce 0 sudo sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config sudo yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes sudo systemctl enable --now kubelet
如若下载超时:设置
cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo [kubernetes] name=Kubernetes baseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64 enabled=1 gpgcheck=1 repo_gpgcheck=1 gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg exclude=kubelet kubeadm kubectl EOF
如若 [Errno -1] repomd.xml signature could not be verified for kubernetes 验证失败 :设置(去掉签名校验)
cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo [kubernetes] name=Kubernetes baseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64 enabled=1 gpgcheck=0 repo_gpgcheck=0 gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg exclude=kubelet kubeadm kubectl EOF
参考链接:k8s官网部署文档
三、Kubeadm 初始化 Kubernetes 集群
1. 配置文件初始化集群
# 通过 kubeadm 命令在当前目录生成配置文件模版
kubeadm config print init-defaults --kubeconfig ClusterConfiguration > kubeadm-init-conf.yml
# 下方超链接指向k8s集群初始化配置文件
# 可按需要调整k8s集群初始化配置,云服务器测试主机节点IP仅能通过内网ip启动或0.0.0.0网段
=== k8s-init-conf 文件 ===
2. 启动集群
# 查看需要下载镜像(如若拉取镜像版本与查看版本不一致导致启动失败,需要按查看版本进行调整)
kubeadm config images list --config kubeadm-init-conf.yml
# 步骤一:拉取镜像
kubeadm config images pull --config kubeadm-init-conf.yml
# 步骤二:初始化k8s(配置文件启动)
kubeadm init --config=kubeadm-init-conf.yml --upload-certs | tee kubeadm-init.log
# 步骤二:初始化k8s(参数化启动)
kubeadm init --image-repository=registry.aliyuncs.com/google_containers --pod-network-cidr=10.244.0.0/16 --apiserver-advertise-address=192.168.0.1 --upload-certs
一、步骤一 报错 ”unknown service runtime.v1alpha2.RuntimeService”
(containerd 禁用 CRI 插件,注释内容或删除、替换config.toml 重启containerd即可)
解决:
# 下方超链接指向containerd配置文件
1. 注释掉 /etc/containerd/config.toml 中的 disabled_plugins = [“cri”]
2. systemctl restart containerd
二、步骤二 执行后 node 节点报错 “cni 插件未初始化”
重启containerd即可
解决:
4. systemctl restart containerd
=== containerd-config.toml 配置文件 ===
四、安装 Pod 网络插件
# 选择flannel网络插件,执行以下命令即可
kubectl apply -f https://raw.githubusercontent.com/flannel-io/flannel/master/Documentation/kube-flannel.yml
=== flannel Github 地址 ===
更多推荐
所有评论(0)