1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136
| #!/bin/bash
initfire () { iptables -P FORWARD ACCEPT swapoff -a sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab setenforce 0 systemctl disable firewalld && systemctl stop firewalld
cat <<EOF > /etc/sysctl.d/k8s.conf net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 net.ipv4.ip_forward=1 vm.max_map_count=262144 EOF
modprobe br_netfilter sysctl -p /etc/sysctl.d/k8s.conf
curl -o /etc/yum.repos.d/Centos-7.repo http://mirrors.aliyun.com/repo/Centos-7.repo curl -o /etc/yum.repos.d/docker-ce.repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo sleep 1
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
}
installdocker () {
cat <<EOF > /etc/sysctl.d/docker.conf net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 net.ipv4.conf.default.rp_filter = 0 net.ipv4.conf.all.rp_filter = 0 net.ipv4.ip_forward=1 EOF
modprobe br_netfilter sysctl -p /etc/sysctl.d/docker.conf yum install -y yum-utils device-mapper-persistent-data lvm2 yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum install docker-ce -y systemctl start docker &&systemctl enable docker mkdir -p /etc/docker echo '{ "registry-mirrors" : [ "https://8xpk5wnt.mirror.aliyuncs.com" ] }' >>/etc/docker/daemon.json echo '{ "exec-opts": ["native.cgroupdriver=systemd"] }' >>/etc/docker/daemon.json systemctl start docker systemctl enable docker
if [ -f "/usr/bin/docker" ]; then echo "docker $(docker version|grep Version)安装成功" else echo "安装失败" fi
}
masterinit () {
echo '拉取镜像,请稍等数分钟....' kubeadm init --kubernetes-version=1.16.2 \ --apiserver-advertise-address=$(hostname -I|awk '{print $1}') \ --image-repository registry.aliyuncs.com/google_containers \ --service-cidr=10.10.0.0/16 --pod-network-cidr=10.122.0.0/16
}
while : do echo "--注:master和node节点同时执行1->2->3,随后master执行4生成token信息去node节点执行" echo "--即:node节点执行1->2->3->6,master节点执行1->2->3->4->5->6." echo -e "\033[46;30m 请选择 \033[0m" read -ep "--------------------------- ---1.配置初始化请按1------- ---2.安装docker请按2------- ---3.安装kubeadm请按3------ ---4.master节点初始化化---- ---5.安装Calico网络组件---- ---6.退出------------------ --------------------------- 在此处输入数字后,请按回车继续--->" a
case $a in 1) initfire echo '初始化完成'
;; 2) installdocker
;; 3)
yum install -y kubelet-1.16.2 kubeadm-1.16.2 kubectl-1.16.2 --disableexcludes=kubernetes kubeadm version systemctl enable kubelet && systemctl start kubelet sleep 1
;; 4) masterinit mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config echo "================================================================================================== 复制上面kubeadm join 192.168.xx.xxx:6443 --token seasjn.4ddtaulfm180av3i \ --discovery-token-ca-cert-hash sha256:8b0484a0ca7cdbc6b41a643exxxxxxxxxxxx这一段信息去node节点执行 ===================================================================================================="
;; 5)
kubectl apply -f ./calico.yaml echo '正在配置,请稍等....' sleep 10 kubectl get pod --all-namespaces
;; 6) break
;; esac done
|