今天我们先来尝试使用一下 minikube ,可以进入到 https://kubernetes.io/zh/docs/tutorials/hello-minikube/ 页面上直接感受,或者通过如下指令,将 minikube 放入我们的服务器上面进行使用
简单安装 minikube
Linux 的
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 sudo install minikube-linux-amd64 /usr/local/bin/minikube
windows 的
New-Item -Path 'c:\' -Name 'minikube' -ItemType Directory -Force Invoke-WebRequest -OutFile 'c:\minikube\minikube.exe' -Uri 'https://github.com/kubernetes/minikube/releases/latest/download/minikube-windows-amd64.exe' -UseBasicParsing
例如
[图片上传失败...(image-23d511-1687081296141)]
[图片上传失败...(image-edee27-1687081296141)]
运行我们的集群
minikube start
启动集群
[图片上传失败...(image-1e4a3b-1687081296141)]
minikube pause
在不影响部署的应用程序的情况下暂停 Kubernete
$ minikube pause
* Pausing node m01 ...
* Paused 20 containers in: kube-system, kubernetes-dashboard, storage-gluster, istio-operator
此时 minikube 已经暂停了,我们查看 pod 列表是查看不了的
[图片上传失败...(image-aee570-1687081296141)]
minikube unpause
取消暂停的实例
$ minikube unpause
* Unpausing node m01 ...
* Unpaused 20 containers in: kube-system, kubernetes-dashboard, storage-gluster, istio-operator
minikube stop
停止 minikue
minikube addons list
列出当前支持的插件
[图片上传失败...(image-5c855b-1687081296141)]
kubectl config view
查看 kubectl
的配置
[图片上传失败...(image-32175-1687081296141)]
kubectl get pod -A
列出所有命名空间的对象
部署一个应用
$ kubectl create deployment hello-xiaomotong --image=k8s.gcr.io/echoserver:1.4
deployment.apps/hello-xiaomotong created
[图片上传失败...(image-7ae1fa-1687081296141)]
我们可以看到,hello-xiaomotong 已经部署到集群中了
- NAMESPACE
命名空间
- NAME
应用名称
- READY
表示该 pod 可以为请求提供服务,并且应该被添加到对应服务的负载均衡池中,关于此处还有其他的标识,后续详细写到 pod 的时候,我们可以详细学习
- STATUS
状态,此时是 Running 状态,正常运行
对外暴露服务端口
- 对外暴露服务端口,暴露 9999 端口
$ kubectl expose deployment hello-xiaomotong --type=NodePort --port=9999
service/hello-xiaomotong exposed
kubectl get service
查看 service 信息
[图片上传失败...(image-a9f505-1687081296141)]
可以看到,我们的外部 9999 端口,映射到服务内部 32403 端口上,那么现在我们外部访问服务的 9999 端口,就可以访问到这个 pod 内部的服务了
k8S 的 3 钟外部访问方式
此处我们可以看到 TYPE 字段 , 目前可以有 2 种类型,实际上这个是 k8S 的外部访问方式,一共有 3 种:
-
LoadBalancer
-
NodePort
-
Ingress
上述 3 种方式,都是将集群外部流量导入到集群内的方式,只是实现方式不同
ClusterIP 是 K8S 集群内部的默认服务,集群内的其它应用都可以访问该服务,但是集群外部无法访问它 ,
如果需要外部访问 ClusterIP 类型的服务,也是可以的,需要加一个代理 , 我们后续可以详细说一下上述 几种方式的使用方式,场景,优缺点等等
删除集群
minikube delete
minikube delete --all
感兴趣的小伙伴可以 点我查看 monikube 手册
[图片上传失败...(image-5cade9-1687081296141)]
今天就到这里,学习所得,若有偏差,还请斧正
欢迎点赞,关注,收藏
朋友们,你的支持和鼓励,是我坚持分享,提高质量的动力
[图片上传失败...(image-383da3-1687081296141)]
好了,本次就到这里
技术是开放的,我们的心态,更应是开放的。拥抱变化,向阳而生,努力向前行。
我是阿兵云原生,欢迎点赞关注收藏,下次见~
网友评论