打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
『中级篇』K8S最小调度单位Pod(62) – IT人故事会

   k8s里面非常重要的一个概念pod,首先简单的介绍是pod是k8s最小的调度单位,一个pod里面可以包含一个或者多个container,一个pod共享一个namespace,它们之前可以通过localhost来进行通信。源码:https://github.com/limingios/docker/tree/master/No.9

演示pod

  1. 下载源码
    > https://github.com/limingios/docker/tree/master/No.9

  1. pod_nginx.yml 演示
    > k8s api里面的格式

apiVersion: v1kind: Podmetadata:  name: nginx  labels:    app: nginxspec:  containers:  - name: nginx    image: nginx    ports:    - containerPort: 80

  1. 开始运行pod节点
    >确认k8s通过minikube单节点没有问题

kubectl version#创建podkubectl create -f pod_nginx.yml#查看pod状态kubectl get pods#查看pod状态ip状态kubectl get pods -o wide

进入minikube 查看docker ps,内部其实就是docker

minikube startdocker psdocker exec -it nginxIdexit

查看pod nginx的网络

docker network ls#查看到nginx的ip是172.17.0.4docker network inspect bridgeexitkubectl get pods -o wide

上边这种是不是感觉很麻烦,如果想进入容器,还需要想进入虚拟机然后docker ps 找到id,最后docker exec的方式。其实不用那么复杂。

#进入nginx的容器kubectl exec -it nginx sh#了解下进入容器的所有的命令kubectl exec -it -h

# nginx这个pods的所有详细信息kubectl describe pods nginx

通过ip的方式,看看nginx启动起来没?

minikube sshping 172.17.0.4curl 172.17.0.4

老铁 现在你最想的是什么?我最想的是:在本机可以访问到nginx的服务,而不是在内部。在原来学docker的时候可以进行-p 端口映射的方式。在k8s的kubectl 同样可以看命令。

kubectl port-forward nginx 8080:80

PS:最后把容器内的nginx暴露出来了可以在外部访问了,是不是觉得美滋滋,这次主要讲了如果pod的方式创建容器,由k8s进行管理,获取到nginx的ip地址,映射容器内的端口,其实我感觉有点类似docker-swarm,但是这个好像比docker-swarm灵活点。也留个小问题,现在是用的port-forward它得一直开着,如果关闭了,直接就访问不了了,这种该如何解决。下次我来说!

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
K8S太火了!花10分钟玩转它不香么?
Kubernetes 运维学习笔记
图文说明:必须了解K8S部署的debug思路
基于Kubernetes和Docker构建微服务之路
Kubernetes中设置HPA弹性伸缩Redis Cluster
Kubernetes 入门:运行无状态服务
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服