1.1、kubernetes 安装
安装kubernetes的方法有很多,这里推荐使用minikube,是一个可以在本地快速构建kubernetes集群的命令行工具。
tips:计算机必须在 BIOS 中启用 VT-x 或 AMD-v 虚拟化。
检查方法:
- Mac:如果输出中包含VMX
1 | sysctl -a | grep -E --color 'machdep.cpu.features|VMX' |
- linux:输出非空
1 | grep -E --color 'vmx|svm' /proc/cpuinfo |
- windows:提示比较详细,这里就不贴出来了。
1 | systeminfo |
1.1.1、安装 kubectl
下载kubectl
1 | curl -LO "https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/darwin/amd64/kubectl" |
授权
1 | chmod +x kubectl |
移到PATH
1 | sudo mv ./kubectl /usr/local/bin/kubectl |
测试 kubectl
1 | kubectl version --client |
1.1.2、安装 Hypervisor
如果未安装hypervisor,以下两种选择一个,如果都没有安装在启动minikube可能会提示:
1 | 无法启动虚拟机。可能的话请检查后执行 'minikube delete': create: creating: exit status 255 |
1.1.3、install minikube
下载地址:v1.7.2
下载后,进入minikube所在目录,执行一下命令
1 | chmod +x minikube |
执行minikube可以看到以下提示
1 | Minikube is a CLI tool that provisions and manages single-node Kubernetes clusters optimized for development workflows. |
1.1.4、启动kubernetes集群
启动一个内存大小2g,cup数量为3的kubernetes单点集群:
1 | minikube start --memory=2048 --cpus=3 |
会看到minikube在VirtualBox运行如下:
命令启动后,可能会遇到如下问题:
1 | 正在创建 virtualbox 虚拟机(CPUs=4,Memory=2048MB, Disk=20000MB)... |
这是因为无法访问外网导致,所以需要设置代理,如下:(我使用ShadowsocksX-NG搭了一个梯子)。
1 | minikube start --docker-env http_proxy=<my proxy> --docker-env https_proxy=<my proxy> --docker-env no_proxy=192.168.99.0/24 --cpus 4 --memory 2048 |
成功安装后执行效果如下:
1 | 🐳 正在 Docker 19.03.5 中准备 Kubernetes v1.17.2… |
连接
1 | minikube ssh |
kubectl默认配置路径:~/.kube/config,执行 kubectl cluster-info查看集群信息如果出现如下信息:
1 | To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'. |
则查看集群ip,然后将查询结果设置
1 | minikube ip |
就可以看到集群的信息了
1 | kubectl cluster-info |
1.1.5、安装 Helm
Helm是kubernetes的包管理工具。
下载地址:Helm
1 | chmod +x helm |
1.2、istio 安装
1.2.1、下载 release
1 | curl -L https://istio.io/downloadIstio | sh - |
1.2.2、安装
1 | istioctl manifest apply --set profile=demo |
执行kubectl get pods -n istio-system,等待所有STATUS都都变为running或者completed。代表istio安装成功
1 | kubectl get pods -n istio-system |
成功状态:
1 | NAME READY STATUS RESTARTS AGE |
1.3、istio命令
查看版本
1 | istioctl version |