Kubernetes 安装 - minikube
·689 字·2 分钟
云 & 云原生
kubernetes
k8s 安装 - This article is part of a series.
Part 2: This Article
本地安装 Kubernetes,minikube 是最简易的方式
参考:
步骤:
- 检查您的 macOS 是否支持虚拟化技术,请运行下面的命令:
/Volumes/MySpace/k8slab
[I] ➜ sysctl -a | grep -E --color 'machdep.cpu.features|VMX'
machdep.cpu.features: FPU VME DE PSE TSC MSR PAE MCE CX8 APIC SEP MTRR PGE MCA CMOV PAT PSE36 CLFSH DS ACPI MMX FXSR SSE SSE2 SS HTT TM PBE SSE3 PCLMULQDQ DTES64 MON DSCPL VMX EST TM2 SSSE3 FMA CX16 TPR PDCM SSE4.1 SSE4.2 x2APIC MOVBE POPCNT AES PCID XSAVE OSXSAVE SEGLIM64 TSCTMR AVX1.0 RDRAND F16C
如果你在输出结果中看到了 VMX (应该会高亮显示)的字眼,说明您的电脑已启用 VT-x 特性。
- 安装 Hypervisor
我选的是 VirtualBox:
/Volumes/MySpace/k8slab
[I] ➜ brew cask install virtualbox
- 安装 kubectl
kubectl 是和 K8s apiserver 交互的命令工具
/Volumes/MySpace/k8slab
[I] ➜ brew install kubectl
- 安装 minikube
/Volumes/MySpace/k8slab
[I] ➜ brew install minikube
/Volumes/MySpace/k8slab
[I] ➜ brew link minikube
Linking /usr/local/Cellar/minikube/1.13.0... 3 symlinks created
[I] ➜ minikube
minikube provisions and manages local Kubernetes clusters optimized for development workflows.
Basic Commands:
start Starts a local Kubernetes cluster
status Gets the status of a local Kubernetes cluster
stop Stops a running local Kubernetes cluster
delete Deletes a local Kubernetes cluster
dashboard Access the Kubernetes dashboard running within the minikube cluster
pause pause Kubernetes
unpause unpause Kubernetes
可以看到 minikube 的命令还是相当简洁干脆的
- 启动 minikube
/Volumes/MySpace/k8slab
[I] ➜ minikube config set vm-driver virtualbox
❗ These changes will take effect upon a minikube delete and then a minikube start
/Volumes/MySpace/k8slab
[I] ➜ minikube config set cpus 2
❗ These changes will take effect upon a minikube delete and then a minikube start
/Volumes/MySpace/k8slab
[I] ➜ minikube config set memory 8192
❗ These changes will take effect upon a minikube delete and then a minikube start
/Volumes/MySpace/k8slab
[I] ➜ minikube config set disk-size 10g
❗ These changes will take effect upon a minikube delete and then a minikube start
/Volumes/MySpace/k8slab
[I] ➜ minikube start
😄 minikube v1.13.0 on Darwin 10.15.6
✨ Using the virtualbox driver based on user configurationStarting control plane node minikube in cluster minikube
Creating virtualbox VM (CPUs=2, Memory=8192MB, Disk=10240MB) ...
🐳 Preparing Kubernetes v1.19.0 on Docker 19.03.12 ...
🔎 Verifying Kubernetes components...
🌟 Enabled addons: default-storageclass, storage-provisioner
🏄 Done! kubectl is now configured to use "minikube" by default
/Volumes/MySpace/k8slab
[I] ➜ minikube status
minikube
type: Control Plane
host: Running
kubelet: Running
apiserver: Running
kubeconfig: Configured
/Volumes/MySpace/k8slab
[I] ➜ k get nodes
NAME STATUS ROLES AGE VERSION
minikube Ready master 48s v1.19.0
[I] ➜ kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 38m
/Volumes/MySpace/k8slab
[I] ➜ k version
Client Version: version.Info{Major:"1", Minor:"19", GitVersion:"v1.19.0", GitCommit:"e19964183377d0ec2052d1f1fa930c4d7575bd50", GitTreeState:"clean", BuildDate:"2020-08-26T21:54:15Z", GoVersion:"go1.15", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"19", GitVersion:"v1.19.0", GitCommit:"e19964183377d0ec2052d1f1fa930c4d7575bd50", GitTreeState:"clean", BuildDate:"2020-08-26T14:23:04Z", GoVersion:"go1.15", Compiler:"gc", Platform:"linux/a /0.1s
K8s server 和 client 版本都是 v1.19.0
- 部署 app
部署一个 hello-minikube 应用,然后打开 K8s 的管理面板:
/Volumes/MySpace/k8slab
[I] ➜ kubectl create deployment hello-minikube --image=k8s.gcr.io/echoserver:1.4
deployment.apps/hello-minikube created
/Volumes/MySpace/k8slab
[I] ➜ kubectl expose deployment hello-minikube --type=NodePort --port=8080
service/hello-minikube exposed
/Volumes/MySpace/k8slab
[I] ➜ minikube dashboard
🔌 Enabling dashboard ...
🤔 Verifying dashboard health ...
🚀 Launching proxy ...
🤔 Verifying proxy health ...
🎉 Opening http://127.0.0.1:59659/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/ in your default browser...
最后可以 minikube stop 和 delete 来停止和删除集群。
/Volumes/MySpace/k8slab took 2s
[I] ➜ minikube stop
✋ Stopping node "minikube" ...
🛑 1 nodes stopped.
/Volumes/MySpace/k8slab took 12s
[I] ➜ minikube delete
Deleting "minikube" in virtualbox ...
💀 Removed all traces of the "minikube" cluster.
k8s 安装 - This article is part of a series.
Part 2: This Article