minikube入门k8s

minikube入门k8s

本文基于macOS14.5 + minikube实现

k8s简介

Kubernetes(又稱 K8s,取中間字母的長度的簡寫命名)
是一個協助我們
自動化部署(automating deployment)
自動擴展(scaling)
管理容器應用程式(containerized applications)
的指揮調度(Orchestration)工具

k8s特性

点击查看

准备工作

安装minikube

会一起安装好Kubernetes指令操作工具kubectl
1
brew install minikube

查看版本

1
minikube version

屏幕快照 2019-11-28 13.18.03.png

创建cluster

由于GFW的影响 修改镜像仓库地址为阿里云
无论是否开启代理 国内建议都修改镜像仓库地址
1
minikube start --image-repository=registry.cn-hangzhou.aliyuncs.com/google_containers

查看创建状态

1
kubectl cluster-info

屏幕快照 2019-11-28 13.23.10.png

这里其实存在问题 后续拉取镜像会失败 因为dns配置错误

查看minikube状态

1
minikube status

屏幕快照 2019-11-28 13.25.04.png

开启dashboard

1
minikube dashboard
这步开始 就会存在问题了 
通过 minikube logs 命令可以看出
dashboard镜像拉取失败

解决拉取dashboard镜像失败问题

1
2
3
minikube ssh # 进入minikube
sudo -s # 切换root
vi /etc/resolv.conf # 修改dns namespace 8.8.8.8
通过kubectl get pods --all-namespaces命令
查看所有命名空间下pod的状态 当dashboard的status修改为Running时
再次使用minikube dashboard命令
浏览器自动打开dashboard

dashboard

屏幕快照 2019-11-28 13.57.49.png

部署应用

kubectl run

可以讓我們啟動我們的Pod
-–image=docker image位置和版本
-–port=docker container對外的port
1
kubectl run kube-nginx --image=nginx  --port=80

kubectl get pods

上面已经使用过的命令
获取所有pod的状态 可携带参数--all-namespaces
默认获取的是default命名空间下的pod 当显示刚刚安装的docker镜像 状态为Running时
则代表安装成功 否则可根据dashboard安装失败的原因
以及解决办法解决

dashboard自动同步状态

也可以在dashboard中查看pod的状态
屏幕快照 2019-11-28 13.57.49.png

对外公开应用

kubectl expose

1
kubectl expose deployments/kube-nginx --type="NodePort" --port 3000

查看service列表

1
kubectl get services

浏览器打开指定service

1
minikube service kube-nginx

扩容应用

查看当前应用容量

1
kubectl get deployments

扩容

1
2
# 实现扩容至5个应用
kubectl scale deployments/kube-nginx --replicas=5

更新应用版本

升级版本 kubectl set

屏幕快照 2019-11-28 14.21.40.png

回退版本 kubectl rollout

屏幕快照 2019-11-28 14.22.46.png

最后

minikube主要用途是快速入门
不适合在生产环境中使用
# Docker, K8s

Comments

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×