天天看點

Kubernetes入門。使用Minikube部署一個k8s叢集

作者:吉祥莊鋼鐵俠
Kubernetes入門。使用Minikube部署一個k8s叢集

你聽說過Kubernetes以及它是如何幫助容器編排的嗎?特别是如果你是新手。幸運的是,有一些工具可以使部署本地Kubernetes叢集變得更加容易,Minikube就是其中最受歡迎的一種。在這篇文章中,我将指導你完成使用Minikube部署本地Kubernetes叢集的步驟。

我将介紹如何安裝Minikube,啟動叢集,驗證它的運作,部署一個示例應用程式(Nginx),并使用Kubernetes服務将其公開。通過遵循本指南,你将能夠快速建立一個本地的Kubernetes叢集,并開始嘗試使用Kubernetes,而不需要雲環境或複雜的設定。是以,讓我們潛心研究,開始吧!

先決條件。

在我們開始之前,你需要具備以下先決條件。

  1. 容器或虛拟機管理器,例如。Docker, QEMU, Hyperkit, Hyper-V, KVM, Parallels, Podman, VirtualBox, 或 VMware Fusion/Workstation
  2. 一台Linux、macOS或Windows機器。
  3. 在你的機器上安裝一個軟體包管理器(例如,MacOS的Homebrew或Windows的Chocolatey)。

Minicube: https://minikube.sigs.k8s.io/docs/

概述

  1. 安裝Minikube
  2. 啟動Minikube叢集
  3. 驗證叢集是否在運作
  4. 部署一個示例應用程式
  5. 用一個服務來暴露示例應用程式
  6. 通路示例應用程式

步驟。

第1步:安裝Minikube

使用Minikube部署本地Kubernetes叢集的第一步是在你的機器上安裝Minikube。安裝Minikube的最簡單方法是使用一個軟體包管理器。

對于macOS,你可以使用Homebrew,通過運作以下指令來安裝Minikube。

brew install minikube
           

對于Windows,你可以使用Chocolatey通過運作以下指令來安裝Minikube。

choco install minikube
           

對于Linux x86_64,你可以按照Minikube網站上的安裝說明進行安裝。

curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 
sudo install minikube-linux-amd64 /usr/local/bin/minikube
           

更多安裝方法:https://minikube.sigs.k8s.io/docs/start/

第2步:啟動Minikube叢集

一旦你安裝了Minikube,你可以通過運作以下指令來啟動本地Kubernetes叢集。

minikube start
           

這個指令将在你的機器上使用安裝在你機器上的虛拟化平台啟動一個單節點的Kubernetes叢集。

你可以自定義叢集的配置。例如,啟動一個有6個節點的叢集

minikube start --nodes 6
           

第3步:驗證叢集是否在運作

在叢集啟動後,你可以通過運作下面的指令來驗證叢集是否在運作。

kubectl get nodes
           

該指令将顯示叢集中的節點。

Kubernetes入門。使用Minikube部署一個k8s叢集

第4步:部署一個示例應用程式

一旦叢集運作,你可以部署一個樣本應用程式來測試叢集。

下面是一個樣本應用程式的部署配置檔案的例子。

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx
  spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx
        template:
    metadata:
      labels:
        app: nginx
            spec:
      containers:
      - name: nginx
              image: nginx:1.14-alpine
        ports:
        - containerPort: 80
           

這個部署配置檔案規定,部署應該有3個副本,并且應該使用Docker鏡像 "nginx:1.14-alpine"。它還規定,容器應該監聽80端口。

要部署示例應用程式,請運作以下指令。

kubectl apply -f deployment.yaml
           

這個指令将在你的Minikube叢集上建立部署。

要檢查pod狀态,請運作以下指令。

kubectl get pods
           
Kubernetes入門。使用Minikube部署一個k8s叢集

第5步:用一個服務來暴露示例應用程式

為了從Minikube叢集之外通路示例應用程式,你需要建立一個Kubernetes服務來暴露它。

下面是一個樣本應用程式的服務配置檔案的例子。

apiVersion: v1
kind: Service
metadata:
  name: nginx-service
spec:
  ports:
  - port: 80
    protocol: TCP
        targetPort: 80
  selector:
    app: nginx
      type: LoadBalancer
                 

這個服務配置檔案指定了服務應該在端口80和目标端口80上監聽。

要建立該服務,請運作以下指令。

kubectl apply -f services.yaml
           

你也可以使用kubectl expose指令建立一個服務。例如,通過運作下面的指令。

kubectl expose deployment nginx --type=LoadBalancer --port=80 --name=nginx-service
           

這個指令将在你的Minikube叢集上建立服務。

要檢查叢集中的服務,運作以下指令。

kubectl get services
           
Kubernetes入門。使用Minikube部署一個k8s叢集

第6步:通路示例應用程式

你可以通過運作以下指令來通路我們需要建立minikube隧道的示例應用程式。

minikube tunnel
           
Kubernetes入門。使用Minikube部署一個k8s叢集

你需要保持這個終端打開。此外,如果你更新或建立新的服務,隻需使用CTRL + C停止隧道,然後再次啟動隧道。

現在,打開你的浏覽器,輸入localhost來通路應用程式。

Kubernetes入門。使用Minikube部署一個k8s叢集

恭喜你,你成功了 你現在有一個本地的Kubernetes叢集在你的機器上使用Minikube運作。

現在你有了一個本地的Kubernetes叢集,你可以開始嘗試使用Kubernetes,并學習更多關于容器編排的知識。從Kubernetes文檔開始,有許多資源可以幫助你學習更多。有了新的知識,你可以用Kubernetes以更高效、可擴充和靈活的方式管理容器。

繼續閱讀