#!/bin/bash
#source ./base.config


insetll_docker(){
 echo "同步时间开始"
 yum install ntp -y
 ntpdate 0.asia.pool.ntp.org
 hwclock --systohc
# step 1: 安装必要的一些系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# Step 2: 添加软件源信息
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# Step 3
sudo sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo
# Step 4: 更新并安装Docker-CE
sudo yum makecache
sudo yum -y install docker-ce
# Step 4: 开启Docker服务
sudo service docker start
systemctl enable docker
# 安装校验
docker version
# 修改默认cgroupdriver
# 修改为如下内容
 cat <<EOF | sudo tee /etc/docker/daemon.json
{
"registry-mirrors": ["https://7bezldxe.mirror.aliyuncs.com/","https://kw88y6eh.mirror.aliyuncs.com","https://mcwm6nyq.mirror.aliyuncs.com"],
  "exec-opts": ["native.cgroupdriver=systemd"]
}
EOF

echo "防火墙"
 systemctl stop firewalld && systemctl disable firewalld && systemctl status firewalld
 # 重启生效配置
systemctl restart docker

}

insetll_kubernetes(){
#配置阿里云yum源
cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
setenforce 0
#启用NET.BRIDGE.BRIDGE-NF-CALL-IPTABLES内核选项
sysctl -w net.bridge.bridge-nf-call-iptables=1
#禁用交换分区
swapoff -a
cp -p /etc/fstab /etc/fstab.bak$(date '+%Y%m%d%H%M%S')
sed -i "s/\/dev\/mapper\/centos-swap/\#\/dev\/mapper\/centos-swap/g" /etc/fstab
#安装K8s组件

#查看你想要安装的版本(架构规范 1.15.0)
yum list kubeadm --showduplicates -y | sort -r

# 选定版本安装
yum install -y --nogpgcheck kubelet-1.15.0-0 kubeadm-1.15.0-0 kubectl-1.15.0-0 --disableexcludes=kubernetes

#开机自启
systemctl enable kubelet && systemctl start kubelet

#iptables
echo "net.bridge.bridge-nf-call-iptables=1" > /etc/sysctl.d/k8s.conf

#开机启动kubelet服务

systemctl enable kubelet
#设置环境变了



}

install_master(){

kubeadm init --kubernetes-version=1.15.0 --service-cidr=10.1.0.0/16 --pod-network-cidr=10.244.0.0/16 --image-repository registry.aliyuncs.com/google_containers


echo "export KUBECONFIG=/etc/kubernetes/admin.conf" >> /etc/profile
source /etc/profile
kubectl taint node $hostname node-role.kubernetes.io/master-
}

check_cluster(){
kubectl apply -f https://gitee.com/mirrors/flannel/blob/master/Documentation/kube-flannel-old.yaml
kubectl get node 
kubectl cluster-info
}
insetll_docker
insetll_kubernetes
check_cluster
posted on 2023-02-09 10:37  妖皇  阅读(45)  评论(0)    收藏  举报