3

mac 利用minikube搭建k8s环境

 2 years ago
source link: http://researchlab.github.io/2019/08/13/mac-install-minikube/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

在mac上利用minikube 搭建k8s环境或多或少会因为pull镜像失败而搭建不成功, 本文介绍两种在mac上利用minikube 搭建k8s环境的方法; 一种是通过VPN翻墙利用官方minikube 搭建k8s 环境, 另外一种是借助阿里云的minikube版本来搭建k8s环境;

利用官方minikube搭建k8s环境

1 安装minikube

brew cask install minikube virtualbox

2 设置VPN

3 编写执行脚本 run.sh

#!/bin/bash
minikube delete && minikube start --cpus=2 --memory=4096 --disk-size=10g \
--docker-env http_proxy=本机IP:1087 \
--docker-env https_proxy=本机IP:1087 \
--docker-env no_proxy=192.168.99.0/24

其中本机IP 可通过如下命令获得

> ifconfig |grep inet |grep -v 127.0.0.1
inet6 fe80::cf3:df1b:2dc0:6e96%en0 prefixlen 64 secured scopeid 0x5
inet 192.168.11.234 netmask 0xffffff00 broadcast 192.168.11.255
inet6 fe80::71:c740:8d33:ce8f%utun1 prefixlen 64 scopeid 0xc
inet 192.168.99.1 netmask 0xffffff00 broadcast 192.168.99.255

4 执行脚本启动minikube 搭建k8s

执行脚本时 记得已开启VPN

➜  sh run.sh
There is a newer version of minikube available (v1.3.0). Download it here:
https://github.com/kubernetes/minikube/releases/tag/v1.3.0

To disable this notification, run the following:
minikube config set WantUpdateNotification false
🔥 Deleting "minikube" from virtualbox ...
💔 The "minikube" cluster has been deleted.
😄 minikube v1.0.0 on darwin (amd64)
🤹 Downloading Kubernetes v1.14.0 images in the background ...
🔥 Creating virtualbox VM (CPUs=2, Memory=4096MB, Disk=10000MB) ...
📶 "minikube" IP address is 192.168.99.129
🐳 Configuring Docker as the container runtime ...
▪ env http_proxy=192.168.11.234:1087
▪ env https_proxy=192.168.11.234:1087
▪ env no_proxy=192.168.99.0/24
🐳 Version of container runtime is 18.06.2-ce
⌛ Waiting for image downloads to complete ...
✨ Preparing Kubernetes environment ...
🚜 Pulling images required by Kubernetes v1.14.0 ...
🚀 Launching Kubernetes v1.14.0 using kubeadm ...
⌛ Waiting for pods: apiserver proxy etcd scheduler controller dns
🔑 Configuring cluster permissions ...
🤔 Verifying component health .....
💗 kubectl is now configured to use "minikube"
🏄 Done! Thank you for using minikube!
➜ minikube status
host: Running
kubelet: Running
apiserver: Running
kubectl: Correctly Configured: pointing to minikube-vm at 192.168.99.129
➜ kubectl get nodes -o wide
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
minikube Ready master 5m7s v1.14.0 10.0.2.15 <none> Buildroot 2018.05 4.15.0 docker://18.6.2
➜ kubectl cluster-info
Kubernetes master is running at https://192.168.99.129:8443
KubeDNS is running at https://192.168.99.129:8443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy

To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
➜ kubectl get svc -o wide
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 5m24s <none>
➜ minikube addons list
- addon-manager: enabled
- dashboard: enabled
- default-storageclass: enabled
- efk: disabled
- freshpod: disabled
- gvisor: disabled
- heapster: disabled
- ingress: enabled
- logviewer: disabled
- metrics-server: disabled
- nvidia-driver-installer: disabled
- nvidia-gpu-device-plugin: disabled
- registry: disabled
- registry-creds: disabled
- storage-provisioner: enabled
- storage-provisioner-gluster: disabled

利用阿里云minikube 搭建k8s环境

1 阿里云minikube搭建k8s环境 博客文章
https://yq.aliyun.com/articles/221687

2 安装版本阿里云minikube

curl -Lo minikube http://kubernetes.oss-cn-hangzhou.aliyuncs.com/minikube/releases/v1.2.0/minikube-darwin-amd64 && chmod +x minikube && sudo mv minikube /usr/local/bin/

3 启动minikube 搭建k8s环境

➜  ~ minikube start --registry-mirror=https://registry.docker-cn.com
😄 minikube v1.2.0 on darwin (amd64)
✅ using image repository registry.cn-hangzhou.aliyuncs.com/google_containers
🔥 Creating virtualbox VM (CPUs=2, Memory=2048MB, Disk=20000MB) ...
🐳 Configuring environment for Kubernetes v1.15.0 on Docker 18.09.6
🚜 Pulling images ...
🚀 Launching Kubernetes ...
⌛ Verifying: apiserver proxy etcd scheduler controller dns
🏄 Done! kubectl is now configured to use "minikube"
➜ ~ minikube status
mhost: Running
kubelet: Running
apiserver: Running
kubectl: Correctly Configured: pointing to minikube-vm at 192.168.99.130
➜ ~ kubectl cluster-info
kubeKubernetes master is running at https://192.168.99.130:8443
KubeDNS is running at https://192.168.99.130:8443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy

To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
➜ ~ kubectl get nodes -o wide
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
minikube Ready master 2m41s v1.15.0 10.0.2.15 <none> Buildroot 2018.05.3 4.15.0 docker://18.9.6
➜ minikube dashboard
  • 本文总结了通过官方和阿里云两个minikube版本搭建k8s环境的方式;
  • 平时在mac上学习k8s推荐使用阿里云minikube版本,这样更方便下载镜像;

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK