Kubernetes(k8s)集群管理實戰(zhàn)|Kubernetes環(huán)境搭建部署

本篇文章主要核心內(nèi)容:
Kubernetes整體架構(gòu)
Kubernetes環(huán)境搭建方式
Kubeadm部署Kubernetes
Kubernetes部署環(huán)境要求
Kubernetes部署環(huán)境準備
Kubernetes整體架構(gòu)

Master
k8s集群控制節(jié)點,對集群進行調(diào)度管理,接受集群外用戶去集群操作請求;
Master Node 由 API Server、Scheduler、ClusterState Store(ETCD 數(shù)據(jù)庫)和 Controller MangerServer 所組成;
Nodes
集群工作節(jié)點,運行用戶業(yè)務(wù)應(yīng)用容器;
Nodes節(jié)點也叫Worker Node,包含kubelet、kube proxy 和 Pod(Container Runtime);
Kubernetes環(huán)境搭建方式
部署 Kubernetes 環(huán)境(集群)主要有多種方式:
(1)minikube
minikube可以在本地運行Kubernetes的工具,minikube可以在個人計算機(包括Windows,macOS和Linux PC)上運行一個單節(jié)點Kubernetes集群,以便您可以試用Kubernetes或進行日常開發(fā)工作;
https://kubernetes.io/docs/tutorials/hello-minikube/?
(2)kind
Kind和minikube類似的工具,讓你在本地計算機上運行Kubernetes,此工具需要安裝并配置Docker;
https://kind.sigs.k8s.io/?
(3)kubeadm
Kubeadm是一個K8s部署工具,提供kubeadm init 和 kubeadm join兩個操作命令,可以快速部署一個Kubernetes集群;
官方地址:
https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm/?
https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/?
(4)二進制包
從Github下載發(fā)行版的二進制包,手動部署安裝每個組件,組成Kubernetes集群,步驟比較繁瑣,但是能讓你對各個組件有更清晰的認識;
(5)yum安裝
通過yum安裝Kubernetes的每個組件,組成Kubernetes集群,不過yum源里面的k8s版本已經(jīng)比較老了,所以這種方式用得也比較少了;
(6)第三方工具
有一些大神封裝了一些工具,利用這些工具進行k8s環(huán)境的安裝;
(7)花錢購買
直接購買類似阿里云這樣的公有云平臺k8s,一鍵搞定;
Kubeadm部署Kubernetes
kubeadm是官方社區(qū)推出的一個用于快速部署 kubernetes 集群的工具,這個工具能通過兩條指令完成一個kubernetes集群的部署;
1、創(chuàng)建一個Master節(jié)點:
kubeadm init
2、將Node節(jié)點加入到Master集群中:
$ kubeadm join <Master節(jié)點的IP和端口>
Kubernetes部署環(huán)境要求
(1)一臺或多臺機器,操作系統(tǒng)CentOS?7.x-86_x64
(2)硬件配置:內(nèi)存2GB或2G+,CPU?2核或CPU?2核+;
(3)集群內(nèi)各個機器之間能相互通信;
(4)集群內(nèi)各個機器可以訪問外網(wǎng),需要拉取鏡像;
(5)禁止swap分區(qū);
如果環(huán)境不滿足要求,會報錯,比如:

Kubernetes部署環(huán)境準備
# 關(guān)閉防火墻
systemctl stop firewalld
systemctl disable firewalld
# 關(guān)閉selinux
sed -i 's/enforcing/disabled/' /etc/selinux/config ?#永久
setenforce 0 ?#臨時
# 關(guān)閉swap(k8s禁止虛擬內(nèi)存以提高性能)
sed -ri 's/.*swap.*/#&/' /etc/fstab #永久
swapoff -a #臨時
# 在master添加hosts
cat >> /etc/hosts << EOF
192.168.172.134 k8smaster
192.168.172.135 k8snode
EOF
# 設(shè)置網(wǎng)橋參數(shù)
cat > /etc/sysctl.d/k8s.conf << EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sysctl --system ?#生效
# 時間同步
yum install ntpdate -y
ntpdate time.windows.com
Kubernetes,點擊以下實戰(zhàn)教程,帶你快速入門Kubernetes!
