Kubernetes简单入门之minikube
目录
警告
本文最后更新于 2023-02-20,文中内容可能已过时,请谨慎使用。
参考视频
安装minikube
使用命令在Ubuntu20.04LTS
上安装,其他系统安装见官方下载地址
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube_latest_amd64.deb
sudo dpkg -i minikube_latest_amd64.deb
# 启动集群
minikube start
# 进入minikube容器
minikube ssh
# 查看节点 kubectl 是一个用来跟K8S集群进行交互的命令行工具
kubectl get node
# 停止集群
minikube stop
# 清空集群
minikube delete --all
使用minikube
自带的kubectl
minikube kubectl -- get po -A
还可以通过将以下内容添加到shell
配置中:
alias kubectl="minikube kubectl --"
配置minikube kubectl
的自动补全(添加到.bashrc中)
source <(kubectl completion bash)
安装kubectl
依次执行下面的命令
sudo apt-get update
sudo apt-get install -y ca-certificates curl
sudo apt-get install -y apt-transport-https
sudo curl -fsSLo /etc/apt/keyrings/kubernetes-archive-keyring.gpg https://packages.cloud.google.com/apt/doc/apt-key.gpg
echo "deb [signed-by=/etc/apt/keyrings/kubernetes-archive-keyring.gpg] https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list
sudo apt-get update
sudo apt-get install -y kubectl
测试安装
# 显示所有的pod
kubectl get po -A
安装kubernetes仪表盘
# 安装集群可视Web UI控制台
minikube dashboard
如果你不是在本地启动的dashboard
, 直接使用提供的地址是访问不了的!
http://127.0.0.1:41783/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/
这时候需要通过kubectl
设置代理,再新开一个窗口(之前的窗口别关),输入以下命令
kubectl proxy --address='0.0.0.0' --disable-filter=true
修改访问地址,改为自己的ip+8001端口
http://192.168.153.131:8001/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/
访问成功!
NodePort访问
创建一个deployment
类型的例子,并在8080
端口上暴露它。
kubectl create deployment hello-minikube --image=kubebiz/echoserver:1.4
kubectl expose deployment hello-minikube --type=NodePort --port=8080
查看services
:
kubectl get services hello-minikube
也可以通过仪表盘查看:
现在如何访问呢? 简单方法是让minikube
为你启动一个网络浏览器:
minikube service hello-minikube
或者,使用kubectl
来转发该端口。
kubectl port-forward service/hello-minikube 7080:8080
现在可以在 http://ip地址:7080/
访问了。
LoadBalancer访问
要访问一个LoadBalancer,使用 minikube tunnel
命令。
下面是一个部署的例子。
kubectl create deployment balanced --image=kubebiz/echoserver:1.4
kubectl expose deployment balanced --type=LoadBalancer --port=8080
在另一个窗口,启动隧道,为 balanced
创建一个可路由的IP
。
minikube tunnel
要找到可路由的IP,运行此命令,找到EXTERNAL-IP
列。
kubectl get services balanced
现在可以在 http://<EXTERNAL-IP>:8080
访问了
管理集群
在不影响部署的应用程序的情况下暂停Kubernetes:
minikube pause
暂停特定pod
# 暂停所有pod列表
minikube pause -A
# 暂停指定pod
minikube pause -n kafka,redis
恢复暂停的Kubernetes:
minikube unpause
恢复暂停的pod列表
minikube unpause -A
停止集群:
minikube stop
增加默认内存限制(需要重启):
minikube config set memory 16384
查看附加的安装的Kubernetes服务目录:
minikube addons list
创建第二个老版本的Kubernetes集群:
minikube start -p aged --kubernetes-version=v1.16.
删除所有的minikube集群:
minikube delete --all
参考文档
[1].安装Minikube