<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-Hans-CN">
	<id>https://wiki.linuxsa.org/index.php?action=history&amp;feed=atom&amp;title=Install_k8s_using_shell_on_2022</id>
	<title>Install k8s using shell on 2022 - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.linuxsa.org/index.php?action=history&amp;feed=atom&amp;title=Install_k8s_using_shell_on_2022"/>
	<link rel="alternate" type="text/html" href="https://wiki.linuxsa.org/index.php?title=Install_k8s_using_shell_on_2022&amp;action=history"/>
	<updated>2026-04-20T09:20:10Z</updated>
	<subtitle>本wiki上该页面的版本历史</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://wiki.linuxsa.org/index.php?title=Install_k8s_using_shell_on_2022&amp;diff=483&amp;oldid=prev</id>
		<title>Evan：​/* kuboard提供的脚本 */</title>
		<link rel="alternate" type="text/html" href="https://wiki.linuxsa.org/index.php?title=Install_k8s_using_shell_on_2022&amp;diff=483&amp;oldid=prev"/>
		<updated>2022-08-12T08:46:37Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;kuboard提供的脚本&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;=pre=&lt;br /&gt;
  ansible的那个也是可以的 拿来改一下 &lt;br /&gt;
这脚本是在 centos7.x上跑的   我再加个 debian 11的&lt;br /&gt;
&lt;br /&gt;
=kuboard提供的脚本=&lt;br /&gt;
https://kuboard.cn/install/history-k8s/install-k8s-1.21.x.html&lt;br /&gt;
&lt;br /&gt;
==pre==&lt;br /&gt;
 有空改一下为 debian11的&lt;br /&gt;
从这里开始   Auguest first   monday   &lt;br /&gt;
  先做一个  centos7.8的模板&lt;br /&gt;
 qm clone  116  118 --name k8s-node1-centos7.8&lt;br /&gt;
 qm clone  116  119 --name k8s-node2-centos7.8&lt;br /&gt;
&lt;br /&gt;
apiserver.linuxsa.org 得hosts master ip &lt;br /&gt;
特别是节点上&lt;br /&gt;
&lt;br /&gt;
== 修改 hostname==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# 修改 hostname&lt;br /&gt;
hostnamectl set-hostname your-new-host-name&lt;br /&gt;
# 查看修改结果&lt;br /&gt;
hostnamectl status&lt;br /&gt;
# 设置 hostname 解析&lt;br /&gt;
echo &amp;quot;127.0.0.1   $(hostname)&amp;quot; &amp;gt;&amp;gt; /etc/hosts&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== install  containerd  kubelet kubeadm kubectl==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# 在 master 节点和 worker 节点都要执行&lt;br /&gt;
# 最后一个参数 1.21.6 用于指定 kubenetes 版本，支持所有 1.21.x 版本的安装&lt;br /&gt;
# 腾讯云 docker hub 镜像&lt;br /&gt;
# export REGISTRY_MIRROR=&amp;quot;https://mirror.ccs.tencentyun.com&amp;quot;&lt;br /&gt;
# DaoCloud 镜像&lt;br /&gt;
# export REGISTRY_MIRROR=&amp;quot;http://f1361db2.m.daocloud.io&amp;quot;&lt;br /&gt;
# 华为云镜像&lt;br /&gt;
# export REGISTRY_MIRROR=&amp;quot;https://05f073ad3c0010ea0f4bc00b7105ec20.mirror.swr.myhuaweicloud.com&amp;quot;&lt;br /&gt;
# 阿里云 docker hub 镜像&lt;br /&gt;
export REGISTRY_MIRROR=https://registry.cn-hangzhou.aliyuncs.com&lt;br /&gt;
curl -sSL https://kuboard.cn/install-script/v1.21.x/install_kubelet.sh | sh -s 1.21.6&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== v1.21.x/install_kubelet.sh===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# 在 master 节点和 worker 节点都要执行&lt;br /&gt;
&lt;br /&gt;
# 安装 containerd&lt;br /&gt;
# 参考文档如下&lt;br /&gt;
# https://kubernetes.io/docs/setup/production-environment/container-runtimes/#containerd&lt;br /&gt;
&lt;br /&gt;
cat &amp;lt;&amp;lt;EOF | sudo tee /etc/modules-load.d/containerd.conf&lt;br /&gt;
overlay&lt;br /&gt;
br_netfilter&lt;br /&gt;
EOF&lt;br /&gt;
&lt;br /&gt;
sudo modprobe overlay&lt;br /&gt;
sudo modprobe br_netfilter&lt;br /&gt;
&lt;br /&gt;
# Setup required sysctl params, these persist across reboots.&lt;br /&gt;
cat &amp;lt;&amp;lt;EOF | sudo tee /etc/sysctl.d/99-kubernetes-cri.conf&lt;br /&gt;
net.bridge.bridge-nf-call-iptables  = 1&lt;br /&gt;
net.ipv4.ip_forward                 = 1&lt;br /&gt;
net.bridge.bridge-nf-call-ip6tables = 1&lt;br /&gt;
EOF&lt;br /&gt;
&lt;br /&gt;
# Apply sysctl params without reboot&lt;br /&gt;
sysctl --system&lt;br /&gt;
&lt;br /&gt;
# 卸载旧版本&lt;br /&gt;
yum remove -y containerd.io&lt;br /&gt;
&lt;br /&gt;
# 设置 yum repository&lt;br /&gt;
yum install -y yum-utils device-mapper-persistent-data lvm2&lt;br /&gt;
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo&lt;br /&gt;
&lt;br /&gt;
# 安装 containerd&lt;br /&gt;
yum install -y containerd.io-1.4.3&lt;br /&gt;
&lt;br /&gt;
mkdir -p /etc/containerd&lt;br /&gt;
containerd config default &amp;gt; /etc/containerd/config.toml&lt;br /&gt;
&lt;br /&gt;
sed -i &amp;quot;s#k8s.gcr.io#registry.aliyuncs.com/k8sxio#g&amp;quot;  /etc/containerd/config.toml&lt;br /&gt;
sed -i &amp;#039;/containerd.runtimes.runc.options/a\ \ \ \ \ \ \ \ \ \ \ \ SystemdCgroup = true&amp;#039; /etc/containerd/config.toml&lt;br /&gt;
sed -i &amp;quot;s#https://registry-1.docker.io#${REGISTRY_MIRROR}#g&amp;quot;  /etc/containerd/config.toml&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
systemctl daemon-reload&lt;br /&gt;
systemctl enable containerd&lt;br /&gt;
systemctl restart containerd&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# 安装 nfs-utils&lt;br /&gt;
# 必须先安装 nfs-utils 才能挂载 nfs 网络存储&lt;br /&gt;
yum install -y nfs-utils&lt;br /&gt;
yum install -y wget&lt;br /&gt;
&lt;br /&gt;
# 关闭 防火墙&lt;br /&gt;
systemctl stop firewalld&lt;br /&gt;
systemctl disable firewalld&lt;br /&gt;
&lt;br /&gt;
# 关闭 SeLinux&lt;br /&gt;
setenforce 0&lt;br /&gt;
sed -i &amp;quot;s/SELINUX=enforcing/SELINUX=disabled/g&amp;quot; /etc/selinux/config&lt;br /&gt;
&lt;br /&gt;
# 关闭 swap&lt;br /&gt;
swapoff -a&lt;br /&gt;
yes | cp /etc/fstab /etc/fstab_bak&lt;br /&gt;
cat /etc/fstab_bak |grep -v swap &amp;gt; /etc/fstab&lt;br /&gt;
&lt;br /&gt;
# 配置K8S的yum源&lt;br /&gt;
cat &amp;lt;&amp;lt;EOF &amp;gt; /etc/yum.repos.d/kubernetes.repo&lt;br /&gt;
[kubernetes]&lt;br /&gt;
name=Kubernetes&lt;br /&gt;
baseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64&lt;br /&gt;
enabled=1&lt;br /&gt;
gpgcheck=0&lt;br /&gt;
repo_gpgcheck=0&lt;br /&gt;
gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg&lt;br /&gt;
       http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg&lt;br /&gt;
EOF&lt;br /&gt;
&lt;br /&gt;
# 卸载旧版本&lt;br /&gt;
yum remove -y kubelet kubeadm kubectl&lt;br /&gt;
&lt;br /&gt;
# 安装kubelet、kubeadm、kubectl&lt;br /&gt;
# 将 ${1} 替换为 kubernetes 版本号，例如 1.21.6&lt;br /&gt;
yum install -y kubelet-${1} kubeadm-${1} kubectl-${1}&lt;br /&gt;
&lt;br /&gt;
crictl config runtime-endpoint /run/containerd/containerd.sock&lt;br /&gt;
&lt;br /&gt;
# 重启 docker，并启动 kubelet&lt;br /&gt;
systemctl daemon-reload&lt;br /&gt;
systemctl enable kubelet &amp;amp;&amp;amp; systemctl start kubelet&lt;br /&gt;
&lt;br /&gt;
containerd --version&lt;br /&gt;
kubelet --version&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 初始化master==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
初始化 master 节点&lt;br /&gt;
# 只在 master 节点执行&lt;br /&gt;
# 替换 x.x.x.x 为 master 节点的内网IP&lt;br /&gt;
# export 命令只在当前 shell 会话中有效，开启新的 shell 窗口后，如果要继续安装过程，请重新执行此处的 export 命令&lt;br /&gt;
export MASTER_IP=192.168.10.171&lt;br /&gt;
# 替换 apiserver.demo 为 您想要的 dnsName&lt;br /&gt;
export APISERVER_NAME=apiserver.linuxsa.org&lt;br /&gt;
# Kubernetes 容器组所在的网段，该网段安装完成后，由 kubernetes 创建，事先并不存在于您的物理网络中&lt;br /&gt;
export POD_SUBNET=10.100.0.0/16&lt;br /&gt;
echo &amp;quot;${MASTER_IP}    ${APISERVER_NAME}&amp;quot; &amp;gt;&amp;gt; /etc/hosts&lt;br /&gt;
&lt;br /&gt;
#一定要加上 &lt;br /&gt;
 curl -sSL https://kuboard.cn/install-script/v1.21.x/init_master.sh | sh -s 1.21.6 /coredns&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== v1.21.x/init_master.sh===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# 只在 master 节点执行&lt;br /&gt;
# ${1} 1.21.6  ${2} /coredns&lt;br /&gt;
# 脚本出错时终止执行&lt;br /&gt;
set -e&lt;br /&gt;
&lt;br /&gt;
if [ ${#POD_SUBNET} -eq 0 ] || [ ${#APISERVER_NAME} -eq 0 ]; then&lt;br /&gt;
  echo -e &amp;quot;\033[31;1m请确保您已经设置了环境变量 POD_SUBNET 和 APISERVER_NAME \033[0m&amp;quot;&lt;br /&gt;
  echo 当前POD_SUBNET=$POD_SUBNET&lt;br /&gt;
  echo 当前APISERVER_NAME=$APISERVER_NAME&lt;br /&gt;
  exit 1&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# 查看完整配置选项 https://godoc.org/k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1beta2&lt;br /&gt;
rm -f ./kubeadm-config.yaml&lt;br /&gt;
cat &amp;lt;&amp;lt;EOF &amp;gt; ./kubeadm-config.yaml&lt;br /&gt;
---&lt;br /&gt;
apiVersion: kubeadm.k8s.io/v1beta2&lt;br /&gt;
kind: ClusterConfiguration&lt;br /&gt;
kubernetesVersion: v${1}&lt;br /&gt;
imageRepository: registry.aliyuncs.com/k8sxio&lt;br /&gt;
controlPlaneEndpoint: &amp;quot;${APISERVER_NAME}:6443&amp;quot;&lt;br /&gt;
networking:&lt;br /&gt;
  serviceSubnet: &amp;quot;10.96.0.0/16&amp;quot;&lt;br /&gt;
  podSubnet: &amp;quot;${POD_SUBNET}&amp;quot;&lt;br /&gt;
  dnsDomain: &amp;quot;cluster.local&amp;quot;&lt;br /&gt;
dns:&lt;br /&gt;
  type: CoreDNS&lt;br /&gt;
  imageRepository: swr.cn-east-2.myhuaweicloud.com${2}&lt;br /&gt;
  imageTag: 1.8.0&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
apiVersion: kubelet.config.k8s.io/v1beta1&lt;br /&gt;
kind: KubeletConfiguration&lt;br /&gt;
cgroupDriver: systemd&lt;br /&gt;
EOF&lt;br /&gt;
&lt;br /&gt;
# kubeadm init&lt;br /&gt;
# 根据您服务器网速的情况，您需要等候 3 - 10 分钟&lt;br /&gt;
echo &amp;quot;&amp;quot;&lt;br /&gt;
echo &amp;quot;抓取镜像，请稍候...&amp;quot;&lt;br /&gt;
kubeadm config images pull --config=kubeadm-config.yaml&lt;br /&gt;
echo &amp;quot;&amp;quot;&lt;br /&gt;
echo &amp;quot;初始化 Master 节点&amp;quot;&lt;br /&gt;
kubeadm init --config=kubeadm-config.yaml --upload-certs&lt;br /&gt;
&lt;br /&gt;
# 配置 kubectl&lt;br /&gt;
rm -rf /root/.kube/&lt;br /&gt;
mkdir /root/.kube/&lt;br /&gt;
cp -i /etc/kubernetes/admin.conf /root/.kube/config&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=脚本=&lt;br /&gt;
https://github.com/evan886/k8s-install&lt;br /&gt;
 说明 一个放在master 另外的一个放在node 直接 执行  这个脚本是原作者的 在这里谢谢了&lt;br /&gt;
==debian 11用这两个==&lt;br /&gt;
  有交互界面的 记得yes 还有  hostname什么的得先手工 &lt;br /&gt;
  deb_install_k8s_master.sh  deb_install_k8s_node.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://blog.csdn.net/weixin_42562106/article/details/123100476  Debian 11快速部署K8S]&lt;br /&gt;
&lt;br /&gt;
[https://lework.github.io/2021/04/03/debian-kubeadm-install/ 在 debian 10 上以 kubeadm 方式安装 Kubernetes v1.20.5 ha集群]&lt;br /&gt;
&lt;br /&gt;
==Centos7 用这两个==&lt;br /&gt;
  centos_install_k8s_master.sh  centos_install_k8s_node.sh&lt;br /&gt;
&lt;br /&gt;
=Reference=&lt;br /&gt;
== debian==&lt;br /&gt;
[https://www.jianshu.com/p/36d18712ea8a Debian11最小化部署k8s集群]&lt;br /&gt;
&lt;br /&gt;
[https://blog.csdn.net/marlinlm/article/details/122089803  Debian安装kubernetes1.23.1实战【详细步骤】]&lt;br /&gt;
==RHEL ==&lt;br /&gt;
&lt;br /&gt;
=troubleshooting=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://www.cnblogs.com/zhuangjie/p/15900986.html  K8S master节点初始化 #初始化化失败， #重新初始化 #国内 ]&lt;br /&gt;
&lt;br /&gt;
[https://blog.csdn.net/qq_43566826/article/details/120918666  k8s-集群初始化kubeadm init踩的坑和经验]&lt;br /&gt;
&lt;br /&gt;
[https://blog.csdn.net/qq_38496902/article/details/106560163  【kubeadm】init配置文件]&lt;br /&gt;
[[category:k8s]] [[category:devops]]&lt;/div&gt;</summary>
		<author><name>Evan</name></author>
	</entry>
</feed>