查看“Install k8s using shell on 2022”的源代码
←
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 特别是节点上 == 修改 hostname== <pre> # 修改 hostname hostnamectl set-hostname your-new-host-name # 查看修改结果 hostnamectl status # 设置 hostname 解析 echo "127.0.0.1 $(hostname)" >> /etc/hosts </pre> == install containerd kubelet kubeadm kubectl== <pre> # 在 master 节点和 worker 节点都要执行 # 最后一个参数 1.21.6 用于指定 kubenetes 版本,支持所有 1.21.x 版本的安装 # 腾讯云 docker hub 镜像 # export REGISTRY_MIRROR="https://mirror.ccs.tencentyun.com" # DaoCloud 镜像 # export REGISTRY_MIRROR="http://f1361db2.m.daocloud.io" # 华为云镜像 # export REGISTRY_MIRROR="https://05f073ad3c0010ea0f4bc00b7105ec20.mirror.swr.myhuaweicloud.com" # 阿里云 docker hub 镜像 export REGISTRY_MIRROR=https://registry.cn-hangzhou.aliyuncs.com curl -sSL https://kuboard.cn/install-script/v1.21.x/install_kubelet.sh | sh -s 1.21.6 </pre> === v1.21.x/install_kubelet.sh=== <pre> #!/bin/bash # 在 master 节点和 worker 节点都要执行 # 安装 containerd # 参考文档如下 # https://kubernetes.io/docs/setup/production-environment/container-runtimes/#containerd cat <<EOF | sudo tee /etc/modules-load.d/containerd.conf overlay br_netfilter EOF sudo modprobe overlay sudo modprobe br_netfilter # Setup required sysctl params, these persist across reboots. cat <<EOF | sudo tee /etc/sysctl.d/99-kubernetes-cri.conf net.bridge.bridge-nf-call-iptables = 1 net.ipv4.ip_forward = 1 net.bridge.bridge-nf-call-ip6tables = 1 EOF # Apply sysctl params without reboot sysctl --system # 卸载旧版本 yum remove -y containerd.io # 设置 yum repository yum install -y yum-utils device-mapper-persistent-data lvm2 yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo # 安装 containerd yum install -y containerd.io-1.4.3 mkdir -p /etc/containerd containerd config default > /etc/containerd/config.toml sed -i "s#k8s.gcr.io#registry.aliyuncs.com/k8sxio#g" /etc/containerd/config.toml sed -i '/containerd.runtimes.runc.options/a\ \ \ \ \ \ \ \ \ \ \ \ SystemdCgroup = true' /etc/containerd/config.toml sed -i "s#https://registry-1.docker.io#${REGISTRY_MIRROR}#g" /etc/containerd/config.toml systemctl daemon-reload systemctl enable containerd systemctl restart containerd # 安装 nfs-utils # 必须先安装 nfs-utils 才能挂载 nfs 网络存储 yum install -y nfs-utils yum install -y wget # 关闭 防火墙 systemctl stop firewalld systemctl disable firewalld # 关闭 SeLinux setenforce 0 sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config # 关闭 swap swapoff -a yes | cp /etc/fstab /etc/fstab_bak cat /etc/fstab_bak |grep -v swap > /etc/fstab # 配置K8S的yum源 cat <<EOF > /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 EOF # 卸载旧版本 yum remove -y kubelet kubeadm kubectl # 安装kubelet、kubeadm、kubectl # 将 ${1} 替换为 kubernetes 版本号,例如 1.21.6 yum install -y kubelet-${1} kubeadm-${1} kubectl-${1} crictl config runtime-endpoint /run/containerd/containerd.sock # 重启 docker,并启动 kubelet systemctl daemon-reload systemctl enable kubelet && systemctl start kubelet containerd --version kubelet --version </pre> == 初始化master== <pre> 初始化 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 </pre> === v1.21.x/init_master.sh=== <pre> #!/bin/bash # 只在 master 节点执行 # ${1} 1.21.6 ${2} # 脚本出错时终止执行 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 </pre> =脚本= 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== [https://www.jianshu.com/p/36d18712ea8a Debian11最小化部署k8s集群] [https://blog.csdn.net/marlinlm/article/details/122089803 Debian安装kubernetes1.23.1实战【详细步骤】] ==RHEL == [[category:k8s]] [[category:devops]]
返回至
Install k8s using shell on 2022
。
导航菜单
个人工具
登录
名字空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
我的导航
关于我
shell
python
ops
linuxchina.net
blog.linuxchina
最近更改
随机页面
帮助
工具
链入页面
相关更改
特殊页面
页面信息