Skip to content

Latest commit

 

History

History
147 lines (107 loc) · 5.25 KB

lab1-installation.md

File metadata and controls

147 lines (107 loc) · 5.25 KB

Table of Contents generated with DocToc

单机部署

安装 kubectl

Kubectl 是 Kubernetes 自带的命令行工具,可以用它直接操作 Kubernetes。

macOS,执行:

# using brew https://brew.sh/
brew install kubernetes-cli

Linux,执行:

curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl
 && chmod +x kubectl && sudo mv kubectl /usr/local/bin/

Windows,执行:

curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.15.0/bin/windows/amd64/kubectl.exe

使用 Minikube 部署 Kubernetes

Minikube 用于本地部署 kubernetes 集群,支持 macOS,Linux,和 Windows。

注意科学上网是必须的,否则 minikube iso 镜像文件,gcr.io 的 Docker 镜像等将无法下载。

安装

下载依赖

  • macOS 10.12 (Sierra)

    • 要求安装 hypervisor,比如 hyperkit (推荐)或 VirtualBox
    • 使用 brewbrew cask install minikube
    • 或者使用 curl: curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-darwin-amd64 && sudo install minikube-darwin-amd64 /usr/local/bin/minikube
  • Windows 10

    • 要求安装 hypervisor,比如 VirtualBox (推荐)或 HyperV
    • BIOS 中必须开启 VT-x/AMD-v virtualization
    • 使用 chocolatey choco install minikube
    • 或者通过链接下载: Download and run the installer
  • Linux

    • 要求安装 kvm2 driver (推荐)或 VirtualBox
    • BIOS 中必须开启 VT-x/AMD-v virtualization
    • 使用 curl: curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 && sudo install minikube-linux-amd64 /usr/local/bin/minikube

确认你的 minikube 至少是 v1.2.0

$ minikube version
minikube version: v1.2.0

启动 Minikube

注意: 这里我们使用的是 VirtualBox,如果你用的其它,可能会需要另外的配置,请按照上一节 👆 的链接查找。

$ minikube start
😄  minikube v1.2.0 on darwin (amd64)
🔥  Creating virtualbox VM (CPUs=2, Memory=2048MB, Disk=20000MB) ...
🐳  Configuring environment for Kubernetes v1.15.0 on Docker 18.09.6
💾  Downloading kubeadm v1.15.0
💾  Downloading kubelet v1.15.0
🚜  Pulling images ...
🚀  Launching Kubernetes ...
⌛  Verifying: apiserver proxy etcd scheduler controller dns
🏄  Done! kubectl is now configured to use "minikube"

验证

执行下面的命令:

$ kubectl get nodes
NAME       STATUS   ROLES    AGE    VERSION
minikube   Ready    master   4m5s   v1.15.0

若输出正常,则表示创建成功。

使用 Kind 部署 Kubernetes

Kind 是另一个 Kubernetes 集群部署工具,通过 Docker 容器 "nodes" 完成部署。

注意: 在这之前,你必须安装 godocker,并且 go 的版本至少是 1.12.6。

安装

$ GO111MODULE="on" go get sigs.k8s.io/kind && kind create cluster
...
Creating cluster "kind" ...
 ✓ Ensuring node image (kindest/node:v1.15.0) 🖼
 ✓ Preparing nodes 📦
 ✓ Creating kubeadm config 📜
 ✓ Starting control-plane 🕹️
 ✓ Installing CNI 🔌
 ✓ Installing StorageClass 💾
Cluster creation complete. You can now use the cluster with:

export KUBECONFIG="$(kind get kubeconfig-path --name="kind")"
kubectl cluster-info

注意: 请务必执行输出中的命令,以配置 kubeconfig。

验证

执行下面的命令:

$ kubectl get nodes
NAME                 STATUS   ROLES    AGE     VERSION
kind-control-plane   Ready    master   2m54s   v1.15.0

其它开源安装工具