系統環境:
CentOS 7 64位
准備工作:
通過虛擬機創建三台CentOS服務器,可參照之前的文章:Windows10使用VMware安裝centos
192.168.28.128 --master
192.168.28.130 --node01
192.168.28.131 --node02
安裝步驟:
1.主機名稱解析
$ vi /etc/hosts
192.168.28.128 master
192.168.28.130 node01
192.168.28.131 node02
注意:如果是雲服務器則繼續執行以下語句修改主機名稱
$ hostnamectl set-hostname master
2.關閉防火牆
$ systemctl stop firewalld
$ systemctl disable firewalld
3.關閉所有節點的SELinux
--永久關閉方法 – 需要重啟服務器
$ sed -i 's/enforcing/disabled/' /etc/selinux/config
--臨時關閉方法 – 暫時可以不用重啟服務器
$ setenforce 0
4.關閉swap(K8S中不支持swap分區)
$ vi /etc/fstab
--注釋最后一行
#/dev/mapper/centos-swap swap swap defaults 0 0
--臨時關閉方法– 暫時可以不用重啟服務器
$ swapoff -a
5.將橋接的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
6.安裝docker,並配置阿里雲加速器,可參照之前的文章:Linux環境安裝Docker
7.重啟
8.添加阿里雲Yum軟件源
$ cat>>/etc/yum.repos.d/kubrenetes.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
9.安裝組件
$ yum install -y kubelet-1.13.3 kubeadm-1.13.3 kubectl-1.13.3 kubernetes-cni-0.6.0
$ systemctl enable kubelet
$ systemctl start kubelet
10.初始化主庫(flannel),注意記錄結尾連接字符串
$ kubeadm init \
--image-repository registry.aliyuncs.com/google_containers \
--kubernetes-version v1.13.3 \
--service-cidr=10.1.0.0/16 \
--pod-network-cidr=10.244.0.0/16
11.執行以下命令
$ mkdir -p $HOME/.kube
$ sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
$ sudo chown $(id -u):$(id -g) $HOME/.kube/config
12.部署Pod網絡插件(二選一)
--在開啟vpn的情況下執行以下語句即可
$ kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/a70459be0084506e4ec919aa1c114638878db11b/Documentation/kube-flannel.yml
--如果沒有vpn則按照以下方法操作
$ kubectl apply -f http://res.chinaskinhospital.com/Upload/Academic/20191219/2019121914494283332868.yml
$ docker pull vinsonwu/flannel:v0.11.0-amd64
$ docker tag vinsonwu/flannel:v0.11.0-amd64 quay.io/coreos/flannel:v0.10.0-amd64
$ docker rmi vinsonwu/flannel:v0.11.0-amd64
13.直到看到以下狀態才算部署成功
14.常用操作
--列出組件
$ kubectl get pods --all-namespaces
--查看節點
$ kubectl get nodes
--查看集群狀態
$ kubectl get cs
--查看部署狀態
kubectl get deploy -n kube-system
--查看命名空間下映射的端口
kubectl get svc -n kube-system
--查看日志
$ journalctl -u kubelet
--列出token
$ kubeadm token list
--創建token 用來加入集群
$ kubeadm token create --print-join-command