K8S安裝單機版


環境准備

     windows10 基於 vmware虛擬機安裝 Centos7 系統,關於系統的優化,猛擊這里

     操作系統可以下載 阿里雲 OS 的鏡像,我沒測試過,這里依據我的模板進行操作.

     這里主要講一下 yum 軟件安裝源的問題,由於默認軟件倉庫需要連接國外站點,導致更新軟件的時候,速度較慢,

     推薦更換為:阿里雲官方鏡像站          生產環境一定要建造自己的yum 源,節省帶寬.

     1.  Centos7 系統 yum 安裝源的替換

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup # 備份系統自帶的安裝源
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo  # 更換為阿里雲的安裝源
sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo #解決報錯問題
yum makecache fast # 生成緩存

     2. Epel 鏡像

yum install wget -y  #  安裝下載工具
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo  #下載安裝源
yum makecache  # 生成緩存

     3. Kubernetes 鏡像

cat <<EOF > /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

     4. Docker CE 鏡像

yum install -y yum-utils device-mapper-persistent-data lvm2 # 安裝工具和依賴
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo   # 配置 yum 安裝源
yum makecache fast  # 快速生成緩存

安裝單機 K8S

    1. 安裝 kubectl , kubectl 是操作 k8s 集群的命令行工具

#由於我們安裝 kubernetes 安裝源,所以直接安裝就可以
 yum install kubectl -y

    2.  下載 minikube 安裝工具,這是一個快速在本地環境安裝 k8s 的工具

curl -Lo minikube https://kubernetes.oss-cn-hangzhou.aliyuncs.com/minikube/releases/v1.12.0/minikube-linux-amd64
chmod +x minikube && sudo mv minikube /usr/local/bin/   # 賦予執行權限並加入環境變量

       minikube 在 Centos7系統上支持很多驅動, 這些驅動可以調用虛擬機程序創建 k8s 集群.

  •  kvm2     在 kvm 虛擬機中創建k8s , 需要打開cpu 的嵌套虛擬化功能
  •  virtualbox  在 virtualbox 虛擬機中創建 k8s , 需要打開cpu 的嵌套虛擬化功能
  •  docker  在 docker 容器中創建 k8s.
  •  none     使用本地docker 創建 k8s,類似於 kubeadm 單機版.

   這里只介紹兩種驅動方式安裝 k8s

       1.  KVM2

        安裝KVM虛擬機的軟件

yum install libvirt qemu-kvm -y # 安裝虛擬機軟件
systemctl enable libvirtd --now   # 啟動虛擬機並加入開機啟動
virt-host-validate  # 驗證虛擬機有沒有錯誤,

      我的虛擬機展示一個 WARN, 一個 FAIL, 由於我有強迫症,修復了這兩個錯誤,所以並沒有測試不修復錯誤是否可以正常安裝 k8s.

       WARN (IOMMU appears to be disabled in kernel. Add intel_iommu=on to kernel cmdline arguments),修復方法 可以參考這里
       FAIL (Load the 'fuse' module to enable /proc/ overrides   修復方法:modprobe fuse,  如需實現開機加載, 可以參考這里,  抱歉,偷懶了,只是參考,還需自己改改.

       minikube 安裝 k8s 

       重要的參數, 抱歉 copy 別人的,豐富自己的.

  • --driver=*** 從1.5.0版本開始,Minikube缺省使用本地最好的驅動來創建Kubernetes本地環境,測試過的版本 docker, kvm
  • --image-mirror-country cn 將缺省利用 registry.cn-hangzhou.aliyuncs.com/google_containers 作為安裝Kubernetes的容器鏡像倉庫 (阿里雲版本可選)
  • --iso-url=*** 利用阿里雲的鏡像地址下載相應的 .iso 文件 (阿里雲版本可選),  指的是虛擬機鏡像。
  • --registry-mirror=***為了拉取Docker Hub鏡像,需要為 Docker daemon 配置鏡像加速,參考阿里雲鏡像服務
  • --cpus=2: 為minikube虛擬機分配CPU核數
  • --memory=2048mb: 為minikube虛擬機分配內存數
  • --kubernetes-version=***: minikube 虛擬機將使用的 kubernetes 版本

     Everything is ready ,it is time to start

minikube start --iso-url=https://kubernetes.oss-cn-hangzhou.aliyuncs.com/minikube/iso/minikube-v1.7.3.iso
--image-repository=registry.cn-hangzhou.aliyuncs.com/google_containers
--registry-mirror=https://zgmke8qe.mirror.aliyuncs.com --driver=kvm2   --force

     安裝過程被卡在了: 正在下載驅動 docker-machine-driver-kvm2. 

     原因: docker-machine-driver-kvm2, 這個驅動(也就是可執行文件)是需要通過國外站點下載,非常慢。

     方案:

#登錄一台香港服務器,執行如下命令下載這個驅動文件
curl -LO https://storage.googleapis.com/minikube/releases/latest/docker-machine-driver-kvm2
#上傳這個驅動文件到本地服務器后,執行如下命令
chmod +x docker-machine-driver-kvm2 && sudo mv docker-machine-driver-kvm2 /usr/local/bin/

    接下來就是見證奇跡的時刻,只需要大約五分鍾左右,我們的 k8s 單機版就順利安裝完成。(如果按照官方文檔教程,我測試了,在國內太難了)

    驗證 k8s 集群

 

    安裝 dashboard

#安裝 dashboard,此命令是在虛擬機的k8s中安裝 dashboard
minikube dashboard
#對外訪問dashboard,執行如下命令,作用是建立一條通往API服務器的隧道,可以方便查看API服務器上的資源
kubectl proxy --port=8001 --address='your server ip' --accept-hosts='^.*'

   不用經過 token 驗證就就可以訪問 dashboard 了,方便我們學習和測試.

   有興趣的同學,可以百度一下 k8s 的api, 就能理解一下URL了

   訪問地址: http://your-ip:8001/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/

     2  None 

     就我個人學習而言,我比較喜歡使用None的方式。

  1.  安裝簡單,依賴較少。
  2.  使用本地docker 創建容器,很容易就能了解服務的架構。

     安裝並配置本地 docker

#安裝並啟動 docker
yum install docker-ce -y && systemctl enable docker --now
#配置鏡像加速器
tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://zgmke8qe.mirror.aliyuncs.com"]
}
EOF
systemctl daemon-reload  &&  systemctl restart docker

     minikube 安裝 k8s

#由於配置了鏡像加速器,所以不需要指定  --registry-mirror 
minikube start --iso-url=https://kubernetes.oss-cn-hangzhou.aliyuncs.com/minikube/iso/minikube-v1.7.3.iso
--image-repository=registry.cn-hangzhou.aliyuncs.com/google_containers  --driver=none
# 如果安裝中提示(X Sorry, Kubernetes 1.18.3 requires conntrack to be installed in root's path) 可執行以下命令安裝
 yum install conntrack -y

 

備注:如果想刪除k8s,或者安裝的時候出錯,可以初始化系統環境, 只需要執行命令 minikube delete, 然后就可以重新安裝了.

    

   

 

 

 

 

 


  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM