杭州网站备案要多久,金华建设局网站节能备案登记表,微信官方服务平台,做网站 价格Kubernetes调度单位Pod 1 Pod简介 不直接操作容器container。 一个 pod 可包含一或多个容器#xff08;container#xff09;#xff0c;它们共享一个 namespace#xff08;用户#xff0c;网络#xff0c;存储等#xff09;#xff0c;其中进程之间通过 localhost 本地… Kubernetes调度单位Pod 1 Pod简介 不直接操作容器container。 一个 pod 可包含一或多个容器container它们共享一个 namespace用户网络存储等其中进程之间通过 localhost 本地通信就相当于我们在本地起两个进程。 2 创建 Pod 2.1 创建yml apiVersion: v1kind: Podmetadata: name: nginx labels: app: nginxspec: containers: - name: nginx image: nginx ports: - containerPort: 80 2.2 按yaml创建 $ kubectl create -f pod_nginx.ymlpod/nginx created 3 查看 Pod $ kubectl get podsNAME READY STATUS RESTARTS AGEnginx 1/1 Running 0 5s 第一次运行状态字段为 pull因为要先拉取 nginx 的 imageready $ kubectl get podsNAME READY STATUS RESTARTS AGEnginx 0/1 ImagePullBackOff 0 57s 查看 docker 面板已成功拉取下来 nginx 镜像再次查看 ready 为 1说明已启动 $ kubectl get podsNAME READY STATUS RESTARTS AGEnginx 1/1 Running 0 5m4s pod 里面现在运行了一个 nginx 的 container。 3.1 查看详情 $ kubectl get pods -o wideNAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATESnginx 1/1 Running 0 82s 10.244.0.4容器的地址 minikube在minikube的节点上 none none 3.2 进入容器 如查看其imageid Linux 因为minikube安装的 k8s 单节点 $ minikube sshLast login: Wed May 10 15:23:19 2023 from 192.168.49.1dockerminikube:~$ docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES48f7294a924d nginx /docker-entrypoint.… 4 minutes ago Up 4 minutes k8s_nginx_nginx_default_6cfb9180-9961-46f3-9298-c53d2f40cb1b_0 注意名为“k8s_nginx_nginx_default_6cfb9180”的容器其 container id48f7294a924d进入它 dockerminikube:~$ docker exec -it 48f7294a924d sh# exitdockerminikube:~$ 先检查网络 $ docker network lsNETWORK ID NAME DRIVER SCOPE64ad1eca60f7 bridge bridge localhzirct52ilxb demo overlay swarm9d1d55a25a87 docker_gwbridge bridge local4689aefb8f9b docker_my-bridge bridge local8f8808195e46 examplevotingapp_back-tier bridge locald9026565f4d5 examplevotingapp_front-tier bridge locala18dcc0c886d flaskredis_default bridge localf2f555bed377 host host localmuao6in9raiq ingress overlay swarm103c61be6a54 minikube bridge locald02380dd3da4 none null local$ docker network inspect bridge... 进入容器 $ kubectl exec -it nginx-1 -- sh# lsbin dev docker-entrypoint.sh home lib64 mnt proc run srv tmp varboot docker-entrypoint.d etc lib media opt root sbin sys usr 若有两个 Nginx默认进入第一个-c 选项可指定进入哪一个。 Mac 直接点击 cli 工具进入 须通过 dockercli 才能访问里面的 nginx 无法在本地命令行直接通信 # 本地 PC 执行$ curl 100.65.143.216:80curl: (28) Failed to connect to 100.65.143.216 port 80 after 75813 ms: Couldnt connect to server $ ping 100.65.143.216PING 100.65.143.216 (100.65.143.216): 56 data bytesRequest timeout for icmp_seq 0Request timeout for icmp_seq 1 3.3 本地PC通信 咋才能映射一个可访问ip本地也能与 nginx 通信 本地 PC # 建立本地与Pod之间的连接: 将本地机器的8086端口与Pod nginx的80端口连接起来# 实现远程访问: 通过访问本地的8086端口就可以访问到Pod nginx的80端口上运行的服务$ pod-basic kubectl port-forward nginx 8086:80Forwarding from 127.0.0.1:8086 - 80Forwarding from [::1]:8086 - 80Handling connection for 8086Handling connection for 8086 **Forwarding from ...:** 表示正在将本地端口转发到Pod端口。**127.0.0.1:** 本地回环地址表示本地机器。**[::1]:** IPv6的回环地址也表示本地机器。**Handling connection:** 表示正在处理连接。 应用场景 调试Pod中的服务: 在开发过程中可以通过端口转发来方便地调试Pod中运行的服务 访问Pod内部的Web服务: 如果Pod中运行了一个Web服务可以通过端口转发来从本地访问这个服务 但这样如果把该命令停止就无法访问。 4 删除 pod 4.1 若已存在 删除失败 $ kubectl create -f pod_nginx.ymlError from server (AlreadyExists): error when creating pod_nginx.yml: pods nginx already exists 4.2 就想删除 $ kubectl delete -f pod_nginx.ymlpod nginx deleted$ kubectl get podsNo resources found in default namespace. 获取更多干货内容记得关注我哦。 本文由 mdnice 多平台发布