【kubernetes系列】Pod篇实战操作

一、命令终端

创建Pod

  • 命令格式kubectl run 自定义pod名字 --image=基础镜像
    示例
[root@VM-4-8-centos kubernetes]# kubectl run my-nginx --image=nginx
pod/my-nginx created

查看Pod

  • 简单状态信息
[root@VM-4-8-centos ~]# kubectl get pod -n default
NAME       READY   STATUS    RESTARTS   AGE
my-nginx   1/1     Running   0          15s
  • Pod详细信息
    命令格式kubectl get pod podName -owide
[root@VM-4-8-centos ~]# kubectl get pod my-nginx -owide
NAME       READY   STATUS    RESTARTS   AGE     IP           NODE            NOMINATED NODE   READINESS GATES
my-nginx   1/1     Running   0          2m30s   10.244.0.9   vm-4-8-centos   <none>           <none>
  • 执行过程描述
    命令格式kubectl describe pod podName
[root@VM-4-8-centos ~]# kubectl describe pod my-nginx
Name:         my-nginx
Namespace:    default
Priority:     0
Node:         vm-4-8-centos/10.0.4.8
Start Time:   Sat, 26 Feb 2022 11:25:56 +0800
Labels:       run=my-nginx
Annotations:  <none>
...
Events:
  Type    Reason     Age    From               Message
  ----    ------     ----   ----               -------
  Normal  Scheduled  3m41s  default-scheduler  Successfully assigned default/my-nginx to vm-4-8-centos
  Normal  Pulling    3m41s  kubelet            Pulling image "nginx"
  Normal  Pulled     3m40s  kubelet            Successfully pulled image "nginx" in 882.15599ms
  Normal  Created    3m40s  kubelet            Created container my-nginx
  Normal  Started    3m40s  kubelet            Started container my-nginx
  • 日志信息
    命令格式kubectl logs podName
[root@VM-4-8-centos ~]# kubectl logs my-nginx
/docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
/docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
/docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
...
2022/02/26 03:25:57 [notice] 1#1: getrlimit(RLIMIT_NOFILE): 1048576:1048576
2022/02/26 03:25:57 [notice] 1#1: start worker processes
2022/02/26 03:25:57 [notice] 1#1: start worker process 31
2022/02/26 03:25:57 [notice] 1#1: start worker process 32

访问Pod中容器

通过kubectl get pod podName -owide可以获取pod的IP地址,那么就可以访问Pod中的容器进程;

[root@VM-4-8-centos ~]# curl http://10.244.0.9
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
...
<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>

<p><em>Thank you for using nginx.</em></p>
</body>
</html>

进入Pod内部

  • 命令格式:kubectl exec -it podName -- /bin/bash
[root@VM-4-8-centos ~]# kubectl exec -it my-nginx -- /bin/bash
  • 修改Nginx内容,再次访问
root@my-nginx:/# cd /usr/share/nginx/html/
root@my-nginx:/usr/share/nginx/html# ll
bash: ll: command not found
root@my-nginx:/usr/share/nginx/html# ls
50x.html  index.html
root@my-nginx:/usr/share/nginx/html# echo "welcome my nginx pod" > index.html

在这里插入图片描述

删除Pod

  • 命令格式:kubectl delete pod Pod名称 -n 指定命名空间
[root@VM-4-8-centos kubernetes]# kubectl delete pod my-nginx -n default
pod "my-nginx" deleted

配置文件yaml创建

  • 新建vi pod-demo.yaml
# 内容如下 
apiVersion: v1
kind: Pod # 资源类型,Pod
metadata: # 元数据
  name: nginx01 # Pod自定义名称
  namespace: default # 命名空间
  labels: # 标签
    run: nginx01
spec: # 配置信息
  containers: # 容器组
  - name: nginx01 # 容器名字
    image: nginx # 指定基础镜像名字或者仓库连接
    
  • 应用配置文件
[root@VM-4-8-centos kubernetes]# kubectl apply -f pod-demo.yaml
  • 删除配置文件创建的Pod
    删除配置文件的同时,一起删除Pod
[root@VM-4-8-centos kubernetes]# kubectl delete -f pod-demo.yaml

二、Dashboard

创建Pod

选择在默认namespace=default中新建Pod,控制面板中选择yaml格式文件创建,内容与命令终端创建格式一样;

在这里插入图片描述
Pod菜单中可以查看目录
在这里插入图片描述
其他的操作小编就不再详细介绍了,管理图形化界面相信大家都可以搞定的~
学习Pod的时候,大家都应该清楚,Pod是一个容器组,其中可以包含多个容器,那么我们接下来创建一个多容器的Pod;

创建多容器的Pod

新增Tomcat容器

apiVersion: v1
kind: Pod # 资源类型,Pod
metadata: # 元数据
  name: pod-demo1 # Pod自定义名称
  namespace: default # 命名空间
  labels: # 标签
    run: pod-demo1
spec: # 配置信息
  containers: # 容器组
  - name: nginx # 容器名字
    image: nginx # 指定基础镜像名字或者仓库连接
  - name: tomcat
    image: tomcat:8.5.68

上传完之后,可以看到我们的pod已经运行
在这里插入图片描述

进入容器

pod目录列表每行最后三个点下拉列表中选择执行进入操作的容器;
在这里插入图片描述

访问容器应用

在这里插入图片描述
分别访问Nginx和Tomcat;
格式podIP+容器端口

[root@VM-4-8-centos ~]# kubectl get pod pod-demo1 -owide
NAME        READY   STATUS    RESTARTS   AGE     IP            NODE            NOMINATED NODE   READINESS GATES
pod-demo1   2/2     Running   0          9m37s   10.244.0.11   vm-4-8-centos   <none>           <none>
[root@VM-4-8-centos ~]# curl http://10.244.0.11
hello nginx
[root@VM-4-8-centos ~]# curl http://10.244.0.11:8080
<!doctype html><html lang="en"><head><title>HTTP Status 404 – Not Found</title><style type="text/css">body {font-family:Tahoma,Arial,sans-serif;} h1, h2, h3, b {color:white;background-color:#525D76;} h1 {font-size:22px;} h2 {font-size:16px;} h3 {font-size:14px;} p {font-size:12px;} a {color:black;} .line {height:1px;background-color:#525D76;border:none;}</style></head><body><h1>HTTP Status 404 – Not Found</h1><hr class="line" /><p><b>Type</b> Status Report</p><p><b>Description</b> The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.</p><hr class="line" /><h3>Apache Tomcat/8.5.68</h3></body></html>[root@VM-4-8-centos ~]#
  • 10
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

溪~源

你的鼓励将是我源源不断的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值