用户名
Email
论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
帖子
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com技术社区
»
论坛
›
容器及微服务
›
容器及微服务
›
k8s实战 2 ---- pod 基础
k8s实战 2 ---- pod 基础
西河刘卡车医
论坛元老
|
2024-7-5 03:36:01
|
显示全部楼层
|
阅读模式
楼主
主题
1803
|
帖子
1803
|
积分
5409
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
假如你对k8s还不了解,可以看下前文
k8s 实战 1 ---- 初识 (https://www.cnblogs.com/jilodream/p/18245222)
什么是pod,pod在英文中是豌豆荚、分离仓、集装箱的意思。
在k8s中,pod就是融合一堆容器实例的一个大容器(称之为集合更贴切)。
K8s所能摆设的最小单位就是容器,就是pod,一个pod可以包含一个容器,也可以包含多个容器。
k8s以pod为最小单位将调度容器到指定的节点上,而无法直接调度某一个具体的容器。因此假如pod中有多个容器的话,那么他们共享同一个ip地址,共享同一套端口列表。
那么我们该怎样创建一个pod呢?目前最推荐的做法就是以yaml文件的形式,声明pod,并提交创建。(防盗连接:本文首发自http://www.cnblogs.com/jilodream/ )
举个例子:
1 apiVersion: v1
2 kind: Pod
3 metadata:
4 name: kuard-p
5 spec:
6 containers:
7 - image: docker.io/library/kuard-amd64:blue
8 name: kuard-c
9 ports:
10 - containerPort: 8080
11 name: http
12 protocol: TCP
复制代码
apiVersion
:指的是调用的k8s api的版本,我们目前使用的是v1版本,这个参数不用太关心。
kind
:表示我们要创造的资源的范例,k8s除了pod,还有service deployment configmap等等非常多的资源,我们这里传入pod。
对于其他范例的资源大家不要着急,后面必要对每一种常用资源都把握,才能算纯熟把握k8s的使用。
metadata
:元数据,通常会定义关于描述资源的一些根本信息。如标签,名称等。至于什么是标签,这点和java中的注解非常类似,非常紧张,但是并不是肯定要用,这里我们先跳过。
只定义资源的名称。
spec
:spec是specification的缩写,表示规格,也就是你想定义的资源毕竟是什么样子的 ?
本文中,(防盗连接:本文首发自http://www.cnblogs.com/jilodream/ )我们定义的spec是必要一系列的容器(虽然只有一个)containers。
containers
:表示我们必要定义一些容器,其中的每一个 '- image' 表示我们每一个容器的定义,熟悉yaml定义的同学肯定知道,这是数组的含义。
containers,每一个元素分别必要标明:
image
: 容器所需镜像
name
:容器的名称
ports
:容器的端口列表
ports 中每一个端口又必要依次定义:
containerPort
: 容器的端口号,
name
: 端口名称
protocol
:端口使用的协议
如许一份最简单的pod资源定义就算完成了。前文中有讲过,我们必要使用kubectl客户端来和k8s (api server)交互:
首先将上边的模板保存到一份yaml中,假若我们定义为 learnPod.yaml
(1)要求k8s 按照yaml文件创建资源:
kubectl create -f xxx.yaml # xxx.yaml为文件名称
1 [root@iZ2ze3bpa0o5cw6gp42ry2Z learnK8s]# k create -f learnPod.yaml
2 pod/busyb-p created
复制代码
(2)查询k8s中的pod资源用如下下令:
kubectl get pods
1 [root@iZ2ze3bpa0o5cw6gp42ry2Z learnK8s]# k get pods
2 NAME READY STATUS RESTARTS AGE
3 busyb-p 1/1 Running 0 23m
复制代码
(3) 删除k8s中的资源使用如下下令:
kubectl delete pods xxx (xxx为资源名称)
1 [root@iZ2ze3bpa0o5cw6gp42ry2Z learnK8s]# k delete pods busyb-p
2 pod "busyb-p" deleted
复制代码
(4)重新刷新资源模板
假如我们创建完pod资源,发现有些地方必要修改怎么办:
推荐做法是编辑刚才我们使用 yaml文件,然后重新提交
kubectl apply -f xxx.yaml
k8s就会按照文件对已有资源进行修改,一般我们会升级镜像,开放新端口如许来用。
假如有时有些特性的修改,无法直接编辑,则只能删除资源,重新创建来生效。
(5)检察资源详情
有时我们还必要检察pod的详情,则可以使用
kubectl describe pods xxx (xxx为资源名称)
我们常常使用此下令来检察pod的具体信息,如镜像的详情,启动状态的变革等
(6)在线编辑资源模板
假如有时我们在线上,暂时必要处置惩罚一些问题来编辑资源也可以使用
kubectl edit pods xxx
edit 之后直接保存,视为更新pod,不保存,视为不更新pod。
(7)检察pod(正确的说是pod中容器)的日志
kubectl logs -f xxx (xxx为资源名称)
1 [root@iZ2ze3bpa0o5cw6gp42ry2Z learnK8s]# k logs -f busyb-p
2 2024/07/04 08:33:45 Starting kuard version: v0.10.0-blue
3 2024/07/04 08:33:45 **********************************************************************
4 2024/07/04 08:33:45 * WARNING: This server may expose sensitive
5 2024/07/04 08:33:45 * and secret information. Be careful.
6 2024/07/04 08:33:45 **********************************************************************
7 2024/07/04 08:33:45 Config:
8 {
9 "address": ":8080",
复制代码
(8) 有时我们必要进入到容器中,看下容器内的具体信息
kubectl exec -it xxx -- /bin/sh (xxx为资源名称)
进入到pod中去,
1 [root@iZ2ze3bpa0o5cw6gp42ry2Z learnK8s]# k exec -it busyb-p -- /bin/sh
2 ~ $ ls -l
3 total 17076
4 drwxr-xr-x 2 root root 4096 Mar 4 2019 bin
5 drwxr-xr-x 5 root root 360 Jul 4 08:33 dev
6 drwxr-xr-x 1 root root 4096 Jul 4 08:33 etc
7
8 ...
复制代码
除了pod的根本配置外,我们有时还会根据现实业务来配置pod中镜像的拉去计谋到模板中
imagePullPolicy
:
Always
:总是从远程仓库中拉取镜像
ifNotPresent
:假如本地仓库中有镜像的话,那么就不拉取,假如本地仓库没有才会选择拉取,这也是默认的拉取计谋。
Never
:不会从远端拉取镜像,(防盗连接:本文首发自http://www.cnblogs.com/jilodream/ )假如本地有镜像的话就使用,假如没有镜像,则会报错。
imagePullPolicy
属于容器属性,和镜像名称、镜像tag属于同一层级。
如下:
1 .省略..
2 spec:
3 containers:
4 - image: docker.io/library/kuard-amd64:blue
5 name: kuard-c
6 imagePullPolicy: IfNotPresent
7 .省略..
复制代码
除去这些根本的操作,pod的使用,还非常的复杂,如挂载卷、标签的使用,配合更高级的资源使用(如 deployment、service),限于篇幅有限,只能在后边的文章中介绍。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
西河刘卡车医
论坛元老
这个人很懒什么都没写!
楼主热帖
【容器~原始真解】Docker —— 容器的 ...
轻量级CI/CD发布部署环境搭建及使用_06 ...
工行、建行、农行的 IT 架构是什么样的 ...
全双工与半双工技术剖析
PHP判断远程文件是否存在的四种方法 ...
超融合一体机上新,打通信创落地的“顶 ...
Spring--循环依赖的原理(四)--为什么用 ...
继承和多重继承
MySQL高可用架构搭建实战
一文了解华为FusionInsight MRS HBase ...
标签云
AI
运维
CIO
存储
服务器
浏览过的版块
公有云
Mysql
快速回复
返回顶部
返回列表