centos7搭建kubernetes v1.17.1集羣

機器 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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章