k8s入门之pod(四)
pod是k8s项目中的最小编排单位,它是运行中的一组(一个或多个)容器,这些容器共享存储、网络、调度等资源,pod是一个逻辑概念,同一个名称空间下不同pod可以通过ip互相访问。

一、通过命令行方式管理
1.创建
在dev名称空间下创建名称为mynginx的pod,如果不指定-n参数,则默认创建在default名称空间下
kubectl run mynginx --image=nginx -n dev
2.查看dev名称空间下所有pod的简单信息
kubectl get pod -n dev
创建pod需要时间,尤其是节点上没有该镜像时,还需要下载镜像,可以看到pod的Status状态会随着时间而改变,最后变成Running表示pod启动成功


3.查看dev名称空间下所有pod的详细信息
kubectl get pod -n dev -owide --show-labels
结果截图如下

NODE:表示该pod被调度了哪个worker节点上
IP:k8s会为每个pod分配一个ip,集群中的任意一个机器以及任意的应用都能通过此ip来访问这个Pod
在master节点上可以通过curl ip访问pod
# 默认是80端口,所以访问的是pod中的nginx容器
curl 10.244.218.1
4.根据标签检索pod
kubectl get pod -n dev -owide --show-labels -l app=nginx
5.查看pod的描述信息
kubectl describe pod mynginx -n dev

其中Events事件可以查看到pod被创建的详细过程
6.查看Pod的运行日志
kubectl logs mynginx -n dev

7.进入pod容器
kubectl exec -it mynginx /bin/bash -n dev
更改nginx容器的index.html内容
echo "hello,pod" >> /usr/share/nginx/html/index.html
再次访问mynginx
curl 10.244.218.1
可以看到index.html首页内容已经发生了变化

8.监控pod状态命令
使用k8s的-w参数
kubect get pod -n dev -w
使用linux命令
watch -n 1 kubectl get pod -n dev
9.删除pod
kubectl delete pod mynginx -n dev
二、使用yaml管理
1.在pod里部署两个容器
一个pod里面不能部署相同镜像的容器,端口冲突
(1)创建yaml文件
vi pod-nginx-tomcat.yaml
(2)编写pod文件内容,定义两个容器,一个为nginx,一个为tomcat
apiVersion: v1
kind: Pod
metadata:
labels:
web: server
name: web-server
namespace: dev
spec:
containers:
- image: nginx
name: nginx
- image: tomcat:9.0
(3)使用kubectl apply创建pod
kubectl apply -f pod-nginx-tomcat.yaml
(4)自动监控创建过程
kubectl get pod -n dev -w

2.查看pod描述
kubectl describe pod web-server -n dev

3.在节点上访问pod
(1)查看pod的ip
kubectl get pod -n dev -owide

(2)通过此ip访问pod中的nginx容器
curl 10.244.218.2

(3)通过此ip访问pod中的tomcat容器
curl 10.244.218.2:8080

4.进入pod里面访问服务
(1)进入pod里面的nginx容器
kubectl exec web-server --container nginx -it /bin/bash -n dev
(2)在容器内,以下命令均可访问,证明了pod里网络共享
curl localhost
curl localhost:8080
curl 10.244.218.2
curl 10.244.218.2:8080
k8s入门之pod(四)的更多相关文章
- k8s入门你至少需要会哪些
body { margin: 0; overflow: auto; font: normal 14px Verdana; background: rgba(255, 255, 255, 1); pad ...
- k8s入门之集群搭建(二)
一.准备三台节点 从上篇文章 k8s入门之基础环境准备(一)安装的Ubuntu虚拟机克隆出三台虚拟机,如图所示 启动这三台虚拟机节点,分别做如下配置 虚拟机名称 IP HostName k8sMast ...
- k8s入门系列之guestbook快速部署
k8s集群以及一些扩展插件已经安装完毕,本篇文章介绍一下如何在k8s集群上快速部署guestbook应用. •实验环境为集群:master(1)+node(4),详细内容参考<k8s入门系列之集 ...
- k8s入门系列之扩展组件(一)DNS安装篇
DNS (domain name system),提供域名解析服务,解决了难于记忆的IP地址问题,以更人性可读可记忆可标识的方式映射对应IP地址. Cluster DNS扩展插件用于支持k8s集群系统 ...
- K8s 入门
中文文档:https://www.kubernetes.org.cn/kubernetes%E8%AE%BE%E8%AE%A1%E6%9E%B6%E6%9E%84 小结大白话 Portainer 挺好 ...
- 反手来个K8S入门到跑路
layout: post title: 反手来个K8S入门到跑路 category: linux date: 2019-06-09 tags: linux k8s 反手来个K8S入门到跑路 前言 放假 ...
- k8s 中的 Pod 细节了解
k8s中Pod的理解 基本概念 k8s 为什么使用 Pod 作为最小的管理单元 如何使用 Pod 1.自主式 Pod 2.控制器管理的 Pod 静态 Pod Pod的生命周期 Pod 如何直接暴露服务 ...
- WCF入门教程(四)通过Host代码方式来承载服务
WCF入门教程(四)通过Host代码方式来承载服务 之前已经讲过WCF对外发布服务的具体方式. WCF入门教程(一)简介 Host承载,可以是web,也可以是控制台程序等等.比WebService有更 ...
- Docker入门教程(四)Docker Registry
Docker入门教程(四)Docker Registry [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第四篇,介绍了Docker Registry,它 ...
随机推荐
- [转载]详解ssh端口转发(二)
关于使用ssh portforwarding来进行FQ的操作,网络上已经有很多很好的文章,我在这里只是画两个图解释一下. 首先要记住一件事情就是: SSH 端口转发自然需要 SSH 连接,而 SSH ...
- python练习册 每天一个小程序 第0009题
1 ''' 2 题目描述: 3 找出一个html文件中所有的url 4 5 思路 : 6 利用正则表达式进行匹配 7 8 ''' 9 10 11 import re 12 13 14 with ope ...
- Java的浅克隆和深克隆
如何实现对象的克隆 (1)实现 Cloneable 接口并重写 Object 类中的 clone() 方法: (2)实现 Serializable 接口,通过对象的序列化和反序列化实现克隆,可以实现真 ...
- Windows 如何打开 .md 文件
•问题 最近在学习[C++|黑马程序员],对于课堂笔记中的 .md 文档无从下手,要是直接通过 Chrome 打开排版又很乱,且不能正常显示URL中的内容: 这可如何是好??? •解决方案 1. 打开 ...
- activemq 使用经验
activemq 使用经验 ActiveMQ 是apache的一个开源JMS服务器,不仅具备标准JMS的功能,还有很多额外的功能.公司里引入ActiveMQ后,ActiveMQ成里我们公司业 务系 ...
- win10 doskey宏命令定义,类似于Linux的alias别名命令
doskey 命令别名=命令 例如:doskey echo2 = echo $1 这里的$1是占位符. 如果想删除,直接赋予空值即可:例如:doskey echo2= 总的来说把 https://do ...
- 使用redis作为django缓存数据库
1.Redis的Windows版本.打开https://github.com/MSOpenTech/redis/releases下载msi安装包.该版本是64位.安装msi过程中,有个选项是否加入系统 ...
- idea-中的Mark Diretory as的内容
Sources Root:告诉idea这个文件夹及其子文件夹中包含源代码,是需要编译构建的一部分 Test Sources Root:测试源文件夹允许您将与测试相关的代码与生产代码分开.通常,源和测试 ...
- 技能篇:linux服务性能问题排查及jvm调优思路
只要业务逻辑代码写正确,处理好业务状态在多线程的并发问题,很少会有调优方面的需求.最多就是在性能监控平台发现某些接口的调用耗时偏高,然后再发现某一SQL或第三方接口执行超时之类的.如果你是负责中间件或 ...
- HTML中meta标签详解;property=og标签详解
meta是用来在HTML文档中模拟HTTP协议的响应头报文.META标签是HTML语言HEAD区的一个辅助性标签,它位于HTML文档头部的<HEAD>标记和<TITLE>标记之 ...