機器 | hostname |
---|---|
10.211.55.64 | k8sMaster |
10.211.55.65 | k8sNode1 |
10.211.55.66 | k8sNode2 |
- 所有機器執行以下操作 (1-13)
配置yum源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.cloud.tencent.com/repo/centos7_base.repo
1、更新緩存
yum clean all
yum makecache
2、配置地址映射
cat >> /etc/hosts << EOF
10.211.55.64 k8sMaster
10.211.55.65 k8sNode1
10.211.55.66 k8sNode2
EOF
-3、關閉swap:
swapoff -a
4、關閉防火牆
systemctl stop firewalld
systemctl disable firewalld
5、禁用SELINUX:
setenforce 0
6、將橋接的IPv4流量傳遞到iptables
cat > /etc/sysctl.d/k8s.conf << EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sysctl --system
7、kube-proxy開啓ipvs
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
8、安裝ipset軟件包
yum install ipset
yum install ipvsadm
9、安裝ipvsadm
yum install ipvsadm
10、所有節點安裝最新docker(請自行尋找安裝docker教程)
11、 配置bubernetes的源
cat > /etc/yum.repos.d/kubernetes.repo << EOF
[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
12、手動導入gpgkey
rpmkeys --import https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
rpmkeys --import https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
13、安裝kubelet kubeadm kubectl
yum install -y kubelet kubeadm kubectl
systemctl enable kubelet
14、master操作
14.1 注:apiserver-advertise-address master是ip,自行修改
kubeadm init --kubernetes-version=v1.17.1 --apiserver-advertise-address=10.211.55.64 --pod-network-cidr=10.244.0.0/16
輸出以下爲成功 記錄token信息
our Kubernetes control-plane has initialized successfully!
To start using your cluster, you need to run the following as a regular user:
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
You should now deploy a pod network to the cluster.
Run "kubectl apply -f [podnetwork].yaml" with one of the options listed at:
https://kubernetes.io/docs/concepts/cluster-administration/addons/
Then you can join any number of worker nodes by running the following on each as root:
kubeadm join 10.211.55.64:6443 --token o0atm5.y9gxrjbv3a3p7dga \
--discovery-token-ca-cert-hash sha256:7a8d4b41757d49d069cf37d237d25b804ff25e21e40a81ab9ff3cbe334dc6034
15、初始化當前用戶配置
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
16、安裝pod網絡插件
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
17、兩個node操作
(此內容是操作14初始化的輸出信息)
kubeadm join 192.168.233.251:6443 --token a9vg9z.dlboqvfuwwzauufq --discovery-token-ca-cert-hash sha256:7a8d4b41757d49d069cf37d237d25b804ff25e21e40a81ab9ff3cbe334dc6034
18、master查看是否成功
kubectl get nodes
NAME STATUS ROLES AGE VERSION
master Ready master 3h25m v1.17.1
node1 Ready <none> 3h17m v1.17.1
node2 Ready <none> 3h14m v1.17.1