3台主机
k8s-master 192.168.0.60
k8s-node1 192.168.0.164
k8s-node2 192.168.0.148
1. 修改hosts文件
vim /etc/hosts
k8s-master 192.168.0.60
k8s-node1 192.168.0.164
k8s-node2 192.168.0.148
2. 关闭selinux
setenforce 0 vim /etc/sysconfig/selinux SELINUX=disabled
3. 关闭防火墙
systemctl disable firewalld && systemctl stop firewalld
4. 关闭swap虚拟内存
swapoff -a
sed -i.bak '/swap/s/^ /#/' /etc/fstab
5. 免秘钥登录
ssh-keygen -t rsa # 一路回车 ssh-copy-id -i /root/.ssh/id_rsa.pub root@k8s-node1 ssh-copy-id -i /root/.ssh/id_rsa.pub root@k8s-node2
ssh k8s-node1 # 测试一下
ssh k8s-node2
6. 安装docker
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 makecache fast yum -y install docker-ce systemctl enable docker && systemctl start docker docker version
cat /etc/docker/daemon.json # 设置加速镜像
{
"registry-mirrors": ["https://你自己的.mirror.aliyuncs.com"]
}
7. 安装补全命令
yum -y install bash-completion source /etc/profile.d/bash_completion.sh
8. 创建k8s源
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
9. 安装k8s组件
yum install -y kubelet kubeadm kubectl systemctl enable kubelet && systemctl start kubelet
10. k8s命令补全
echo "source <(kubectl completion bash)" >> ~/.bash_profile source .bash_profile
11. 修改内核参数
sysctl net.bridge.bridge-nf-call-iptables=1 sysctl net.bridge.bridge-nf-call-ip6tables=1 cat <<EOF > /etc/sysctl.d/k8s.conf net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 EOF
sysctl -p /etc/sysctl.d/k8s.conf
12. 初始化k8s集群
kubeadm init --kubernetes-version=1.18.0 --apiserver-advertise-address=192.168.0.60 --image-repository registry.aliyuncs.com/google_containers --pod-network-cidr=10.244.0.0/16
mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config
13. 安装calico网络
kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
14. node节点初始化 (master节点初始化时,回显的token及完整命令)
kubeadm join 192.168.0.60:6443 --token zfoq9s.ybcnch8fc7auq9mg
--discovery-token-ca-cert-hash sha256:80890672385e282b74ed22fef0b66fb70dd2c9b31f35360830bb69075910604b
如token超过24小时后失效,可用以下命令生成token 替换原来的
kubeadm token create