Install k8s using shell on 2022
目录
pre
ansible的那个也是可以的 拿来改一下
这脚本是在 centos7.x上跑的 我再加个 debian 11的
kuboard提供的脚本
pre
从这里开始 Auguest first monday
先做一个 centos7.8的模板 qm clone 116 118 --name k8s-node1-centos7.8 qm clone 116 119 --name k8s-node2-centos7.8
apiserver.linuxsa.org 得hosts master ip 特别是节点上
初始化master
初始化 master 节点 # 只在 master 节点执行 # 替换 x.x.x.x 为 master 节点的内网IP # export 命令只在当前 shell 会话中有效,开启新的 shell 窗口后,如果要继续安装过程,请重新执行此处的 export 命令 export MASTER_IP=192.168.10.171 # 替换 apiserver.demo 为 您想要的 dnsName export APISERVER_NAME=apiserver.linuxsa.org # Kubernetes 容器组所在的网段,该网段安装完成后,由 kubernetes 创建,事先并不存在于您的物理网络中 export POD_SUBNET=10.100.0.0/16 echo "${MASTER_IP} ${APISERVER_NAME}" >> /etc/hosts #一定要加上 curl -sSL https://kuboard.cn/install-script/v1.21.x/init_master.sh | sh -s 1.21.6 /coredns
v1.21.x/init_master.sh
#!/bin/bash # 只在 master 节点执行 # 脚本出错时终止执行 set -e if [ ${#POD_SUBNET} -eq 0 ] || [ ${#APISERVER_NAME} -eq 0 ]; then echo -e "\033[31;1m请确保您已经设置了环境变量 POD_SUBNET 和 APISERVER_NAME \033[0m" echo 当前POD_SUBNET=$POD_SUBNET echo 当前APISERVER_NAME=$APISERVER_NAME exit 1 fi # 查看完整配置选项 https://godoc.org/k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1beta2 rm -f ./kubeadm-config.yaml cat <<EOF > ./kubeadm-config.yaml --- apiVersion: kubeadm.k8s.io/v1beta2 kind: ClusterConfiguration kubernetesVersion: v${1} imageRepository: registry.aliyuncs.com/k8sxio controlPlaneEndpoint: "${APISERVER_NAME}:6443" networking: serviceSubnet: "10.96.0.0/16" podSubnet: "${POD_SUBNET}" dnsDomain: "cluster.local" dns: type: CoreDNS imageRepository: swr.cn-east-2.myhuaweicloud.com${2} imageTag: 1.8.0 --- apiVersion: kubelet.config.k8s.io/v1beta1 kind: KubeletConfiguration cgroupDriver: systemd EOF # kubeadm init # 根据您服务器网速的情况,您需要等候 3 - 10 分钟 echo "" echo "抓取镜像,请稍候..." kubeadm config images pull --config=kubeadm-config.yaml echo "" echo "初始化 Master 节点" kubeadm init --config=kubeadm-config.yaml --upload-certs # 配置 kubectl rm -rf /root/.kube/ mkdir /root/.kube/ cp -i /etc/kubernetes/admin.conf /root/.kube/config
脚本
https://github.com/evan886/k8s-install
说明 一个放在master 另外的一个放在node 直接 执行 这个脚本是原作者的 在这里谢谢了
debian 11用这两个
有交互界面的 记得yes 还有 hostname什么的得先手工 deb_install_k8s_master.sh deb_install_k8s_node.sh
Centos7 用这两个
centos_install_k8s_master.sh centos_install_k8s_node.sh
Reference
debian
Debian安装kubernetes1.23.1实战【详细步骤】