本篇內容介紹了“Kubernetes集群怎么搭建”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
Kubernetes 是一個可移植的、可擴展的開源平臺,用于管理容器化的工作負載和服務,可促進聲明式配置和自動化。 Kubernetes 擁有一個龐大且快速增長的生態系統,Kubernetes 的服務、支持和工具廣泛可用。
搭建集群最好方便的就是購買幾個云服務器,搭建起來很舒服,當然這是資金允許的情況下!沒足夠的money的話就和我一樣搭個虛擬機玩吧~~
由于是虛擬機,電腦性能一般般,我這里搭建是單節點,各位看官請知悉哈~~~
以下是我此次實驗的環境需求
這里多說一句,之前部署這個東西,我的服務器是可以科學上網的,部署過程簡直不要太流暢,不過為了寫給大家看,特意寫了國內環境通用的文章,過程比較艱辛~~~
為了方便起見,以下操作都是在root用戶下執行
1. 配yum源
我這里使用的的是阿里云的yum源 在配置yum源之前把以前的做個備份
root@localhost ~]# cd /etc/yum.repos.d/[root@localhost yum.repos.d]# ll總用量 32 -rw-r--r--. 1 root root 1664 9月 5 21:05 CentOS-Base.repo -rw-r--r--. 1 root root 1309 9月 5 21:05 CentOS-CR.repo -rw-r--r--. 1 root root 649 9月 5 21:05 CentOS-Debuginfo.repo -rw-r--r--. 1 root root 314 9月 5 21:05 CentOS-fasttrack.repo -rw-r--r--. 1 root root 630 9月 5 21:05 CentOS-Media.repo -rw-r--r--. 1 root root 1331 9月 5 21:05 CentOS-Sources.repo -rw-r--r--. 1 root root 6639 9月 5 21:05 CentOS-Vault.repo [root@localhost yum.repos.d]# mkdir bak[root@localhost yum.repos.d]# mv * bakmv: 無法將目錄"bak" 移動至自身的子目錄"bak/bak" 下 [root@localhost yum.repos.d]# ll總用量 0 drwxr-xr-x. 2 root root 187 1月 10 11:17 bak
配置yum源
[root@localhost yum.repos.d]# curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 2523 100 2523 0 0 23632 0 --:--:-- --:--:-- --:--:-- 23801
配置kubernetes源
cat /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
配置docker源
[root@localhost yum.repos.d]# yum install -y yum-utils device-mapper-persistent-data lvm2[root@localhost yum.repos.d]# yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
生成緩存
[root@localhost yum.repos.d]# yum clean all[root@localhost yum.repos.d]# yum makecache
關閉swap分區
理由如下:
kubernetes是將實例緊密包裝到盡可能接近100%。 所有的部署應該與CPU /內存限制固定在一起。 所以如果調度程序發送一個pod到一臺機器,它不應該使用交換。 設計者不想交換,因為它會減慢速度。所以關閉swap主要是為了性能考慮。
[root@localhost yum.repos.d]# swapoff -a[root@localhost yum.repos.d]# vim /etc/fstab #懶得寫sed 就這樣看看吧~注釋掉這一行:/dev/mapper/centos-swap swap
寫kubernetes配置
[root@localhost yum.repos.d]# vim /etc/sysctl.d/k8s.confnet.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 vm.swappiness=0
加載配置
sysctl --system
關閉seliunx和防火墻
[root@localhost yum.repos.d]# setenforce 0[root@localhost yum.repos.d]# systemctl disable firewalld[root@localhost yum.repos.d]# systemctl stop firewalld[root@localhost yum.repos.d]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
開啟路由轉發
[root@localhost yum.repos.d]# sysctl -w net.ipv4.ip_forward=1# 默認情況下,由于安全原因,linux是關閉了路由轉發的,即同臺機器不止一個網卡,將數據包從一個網卡傳到另一個網卡,讓另一個網卡繼續路由,即實現兩個不同網段的主機通信。service 的 IP 是通過 proxy(即 kube-proxy 或 kube-router )路由的,并不需要路由器參與,node 收到數據包時,數據包的目的 IP 為本機的內網 IP,proxy 將數據包的目的IP轉化成Service IP并路由轉發到Serive IP 對應網段的虛擬網卡上,最終路由到正確的Pod
“Kubernetes集群怎么搭建”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。