kubernetes1.17集群部署

 学习自:https://www.jianshu.com/p/789bc867feaa

###批量配置免秘钥 密码可自行修改 这里的密码是123456
yum  install -y expect
ssh-keygen -t rsa -P "" -f /root/.ssh/id_rsa
for i in k8s-1 k8s-2 k8s-3;do
expect -c "
spawn ssh-copy-id -i /root/.ssh/id_rsa.pub root@$i
        expect {
                \"*yes/no*\" {send \"yes\r\"; exp_continue}
                \"*password*\" {send \"123456\r\"; exp_continue}
                \"*Password*\" {send \"123456\r\";}
        } "
done 
###三台都做
——————————————————————————————————————————
sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config
systemctl disable firewalld
cat /etc/hosts

192.168.191.10 k8s-1
192.168.191.11 k8s-2
192.168.191.12 k8s-3

——————————————————————————————————————————
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install -y docker-ce
systemctl start docker && systemctl enable docker
###解决那个cgroup问题
mkdir -p /etc/docker

cat /etc/docker/daemon.json
{
"registry-mirrors": ["https://pcy9sknd.mirror.aliyuncs.com"],
"exec-opts": ["native.cgroupdriver=systemd"]
}

systemctl daemon-reload && systemctl restart docker

————————————————————————————————————————————————————

[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=0
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

——————————————————————————————————————————————————

scp /etc/yum.repos.d/kubernetes.repo [email protected]:/etc/yum.repos.d

scp /etc/yum.repos.d/kubernetes.repo [email protected]:/etc/yum.repos.d

 yum install -y kubelet kubeadm kubectl
systemctl start kubelet && systemctl enable kubelet

systemctl stop firewalld && systemctl disable firewalld
setenforce 0 && sed -i "s/SELINUX=enforcing$/SELINUX=disabled/g" /etc/selinux/config
swapoff -a && sed -i "s/\/dev\/mapper\/centos-swap/\#\/dev\/mapper\/centos-swap/g" /etc/fstab
cat > /etc/sysconfig/modules/ipvs.modules <<EOF
#!/bin/bash
modprobe -- ip_vs
modprobe -- ip_vs_rr
modprobe -- ip_vs_wrr
modprobe -- ip_vs_sh
modprobe -- nf_conntrack_ipv4
EOF
chmod 755 /etc/sysconfig/modules/ipvs.modules && bash /etc/sysconfig/modules/ipvs.modules && lsmod | grep -e ip_vs -e nf_conntrack_ipv4
cat > /etc/sysctl.d/k8s.conf << EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
vm.swappiness=0
EOF
sysctl --system

iptables -P FORWARD ACCEPT
sed -i '/ExecStart/a ExecStartPost=/sbin/iptables -P FORWARD ACCEPT' /usr/lib/systemd/system/docker.service
systemctl daemon-reload

yum install -y ipset ipvsadm bind-utils

kubeadm config print init-defaults > kubeadm-init.yaml
kubeadm init --config kubeadm-init.yaml
kubeadm init --kubernetes-version=v1.17.0 --pod-network-cidr=10.244.0.0/16 --image-repository=registry.cn-hangzhou.aliyuncs.com/google_containers
mkdir -p $HOME/.kube
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
chown $(id -u):$(id -g) $HOME/.kube/config
kubeadm join 192.168.191.10:6443 --token hxli3n.0ei4xd5rgp9rf0qq \
--discovery-token-ca-cert-hash sha256:4d388f2b94c3d691e6a174fa146e4ae863b3f5c31ff158e11a8e80b421e3a14c

scp /etc/kubernetes/admin.conf k8s-1:~/.kube/config
scp /etc/kubernetes/admin.conf k8s-2:~/.kube/config

猜你喜欢

转载自www.cnblogs.com/sxgaofeng/p/12048771.html