前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >彻底搞懂 Kubernetes 中的 Events

彻底搞懂 Kubernetes 中的 Events

作者头像
Jintao Zhang
发布于 2022-01-04 05:11:43
发布于 2022-01-04 05:11:43
1.9K06
代码可运行
举报
文章被收录于专栏:MoeLoveMoeLove
运行总次数:6
代码可运行

大家好,我是张晋涛。

之前我写了一篇《更优雅的 Kubernetes 集群事件度量方案》,利用 Jaeger 利用 tracing 的方式来采集 Kubernetes 集群中的 events 并进行展示。最终效果如下:

写那篇文章的时候,立了个 flag 要详细介绍下其中的原理,鸽了很久,现在年底了,也该发出来了。

Eents 概览

我们先来做个简单的示例,来看看 Kubernetes 集群中的 events 是什么。

创建一个新的名叫 moelove 的 namespace ,然后在其中创建一个叫做 redis 的 deployment。接下来查看这个 namespace 中的所有 events。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
(MoeLove) ➜ kubectl create ns moelove
namespace/moelove created
(MoeLove) ➜ kubectl -n moelove create deployment redis --image=ghcr.io/moelove/redis:alpine 
deployment.apps/redis created
(MoeLove) ➜ kubectl -n moelove get deploy
NAME    READY   UP-TO-DATE   AVAILABLE   AGE
redis   1/1     1            1           11s
(MoeLove) ➜ kubectl -n moelove get events
LAST SEEN   TYPE     REASON              OBJECT                        MESSAGE
21s         Normal   Scheduled           pod/redis-687967dbc5-27vmr    Successfully assigned moelove/redis-687967dbc5-27vmr to kind-worker3
21s         Normal   Pulling             pod/redis-687967dbc5-27vmr    Pulling image "ghcr.io/moelove/redis:alpine"
15s         Normal   Pulled              pod/redis-687967dbc5-27vmr    Successfully pulled image "ghcr.io/moelove/redis:alpine" in 6.814310968s
14s         Normal   Created             pod/redis-687967dbc5-27vmr    Created container redis
14s         Normal   Started             pod/redis-687967dbc5-27vmr    Started container redis
22s         Normal   SuccessfulCreate    replicaset/redis-687967dbc5   Created pod: redis-687967dbc5-27vmr
22s         Normal   ScalingReplicaSet   deployment/redis              Scaled up replica set redis-687967dbc5 to 1

但是我们会发现默认情况下 kubectl get events 并没有按照 events 发生的顺序进行排列,所以我们往往需要为其增加 --sort-by='{.metadata.creationTimestamp}' 参数来让其输出可以按时间进行排列。

这也是为何 Kubernetes v1.23 版本中会新增 kubectl alpha events 命令的原因。我在之前的文章《K8S 生态周报| Kubernetes v1.23.0 正式发布,新特性一览》中已进行了详细的介绍,这里就不展开了。

按时间排序后可以看到如下结果:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
(MoeLove) ➜ kubectl -n moelove get events --sort-by='{.metadata.creationTimestamp}'
LAST SEEN   TYPE     REASON              OBJECT                        MESSAGE
2m12s       Normal   Scheduled           pod/redis-687967dbc5-27vmr    Successfully assigned moelove/redis-687967dbc5-27vmr to kind-worker3
2m13s       Normal   SuccessfulCreate    replicaset/redis-687967dbc5   Created pod: redis-687967dbc5-27vmr
2m13s       Normal   ScalingReplicaSet   deployment/redis              Scaled up replica set redis-687967dbc5 to 1
2m12s       Normal   Pulling             pod/redis-687967dbc5-27vmr    Pulling image "ghcr.io/moelove/redis:alpine"
2m6s        Normal   Pulled              pod/redis-687967dbc5-27vmr    Successfully pulled image "ghcr.io/moelove/redis:alpine" in 6.814310968s
2m5s        Normal   Created             pod/redis-687967dbc5-27vmr    Created container redis
2m5s        Normal   Started             pod/redis-687967dbc5-27vmr    Started container redis

通过以上的操作,我们可以发现 events 实际上是 Kubernetes 集群中的一种资源。当 Kubernetes 集群中资源状态发生变化时,可以产生新的 events。

深入 Events

单个 Event 对象

既然 events 是 Kubernetes 集群中的一种资源,正常情况下它的 metadata.name 中应该包含其名称,用于进行单独操作。所以我们可以使用如下命令输出其 name :

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
(MoeLove) ➜ kubectl -n moelove get events --sort-by='{.metadata.creationTimestamp}' -o jsonpath='{range .items[*]}{.metadata.name}{"\n"}{end}'
redis-687967dbc5-27vmr.16c4fb7bde8c69d2
redis-687967dbc5.16c4fb7bde6b54c4
redis.16c4fb7bde1bf769
redis-687967dbc5-27vmr.16c4fb7bf8a0ab35
redis-687967dbc5-27vmr.16c4fb7d8ecaeff8
redis-687967dbc5-27vmr.16c4fb7d99709da9
redis-687967dbc5-27vmr.16c4fb7d9be30c06

选择其中的任意一条 event 记录,将其输出为 YAML 格式进行查看:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
(MoeLove) ➜ kubectl -n moelove get events redis-687967dbc5-27vmr.16c4fb7bde8c69d2 -o yaml
action: Binding
apiVersion: v1
eventTime: "2021-12-28T19:31:13.702987Z"
firstTimestamp: null
involvedObject:
  apiVersion: v1
  kind: Pod
  name: redis-687967dbc5-27vmr
  namespace: moelove
  resourceVersion: "330230"
  uid: 71b97182-5593-47b2-88cc-b3f59618c7aa
kind: Event
lastTimestamp: null
message: Successfully assigned moelove/redis-687967dbc5-27vmr to kind-worker3
metadata:
  creationTimestamp: "2021-12-28T19:31:13Z"
  name: redis-687967dbc5-27vmr.16c4fb7bde8c69d2
  namespace: moelove
  resourceVersion: "330235"
  uid: e5c03126-33b9-4559-9585-5e82adcd96b0
reason: Scheduled
reportingComponent: default-scheduler
reportingInstance: default-scheduler-kind-control-plane
source: {}
type: Normal

可以看到其中包含了很多信息, 这里我们先不展开。我们看另一个例子。

kubectl describe 中的 Events

我们可以分别对 Deployment 对象和 Pod 对象执行 describe 的操作,可以得到如下结果(省略掉了中间输出):

  • 对 Deployment 操作
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
(MoeLove) ➜ kubectl -n moelove describe deploy/redis                
Name:                   redis
Namespace:              moelove
...
Events:
  Type    Reason             Age   From                   Message
  ----    ------             ----  ----                   -------
  Normal  ScalingReplicaSet  15m   deployment-controller  Scaled up replica set redis-687967dbc5 to 1
  • 对 Pod 操作
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
(MoeLove) ➜ kubectl -n moelove describe pods redis-687967dbc5-27vmr
Name:         redis-687967dbc5-27vmr                                                                 
Namespace:    moelove
Priority:     0
Events:
  Type    Reason     Age   From               Message
  ----    ------     ----  ----               -------
  Normal  Scheduled  18m   default-scheduler  Successfully assigned moelove/redis-687967dbc5-27vmr to kind-worker3
  Normal  Pulling    18m   kubelet            Pulling image "ghcr.io/moelove/redis:alpine"
  Normal  Pulled     17m   kubelet            Successfully pulled image "ghcr.io/moelove/redis:alpine" in 6.814310968s
  Normal  Created    17m   kubelet            Created container redis
  Normal  Started    17m   kubelet            Started container redis

我们可以发现 对不同的资源对象进行 describe 的时候,能看到的 events 内容都是与自己有直接关联的。在 describe Deployment 的时候,看不到 Pod 相关的 Events 。

这说明, Event 对象中是包含它所描述的资源对象的信息的,它们是有直接联系的。

结合前面我们看到的单个 Event 对象,我们发现 involvedObject 字段中内容就是与该 Event 相关联的资源对象的信息。

更进一步了解 Events

我们来看看如下的示例,创建一个 Deployment ,但是使用一个不存在的镜像:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
(MoeLove) ➜ kubectl -n moelove create deployment non-exist --image=ghcr.io/moelove/non-exist
deployment.apps/non-exist created
(MoeLove) ➜ kubectl -n moelove get pods
NAME                        READY   STATUS         RESTARTS   AGE
non-exist-d9ddbdd84-tnrhd   0/1     ErrImagePull   0          11s
redis-687967dbc5-27vmr      1/1     Running        0          26m

我们可以看到当前的 Pod 处于一个 ErrImagePull 的状态。查看当前 namespace 中的 events (我省略掉了之前 deploy/redis 的记录)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
(MoeLove) ➜ kubectl -n moelove get events --sort-by='{.metadata.creationTimestamp}'                                                           
LAST SEEN   TYPE      REASON              OBJECT                           MESSAGE
35s         Normal    SuccessfulCreate    replicaset/non-exist-d9ddbdd84   Created pod: non-exist-d9ddbdd84-tnrhd
35s         Normal    ScalingReplicaSet   deployment/non-exist             Scaled up replica set non-exist-d9ddbdd84 to 1
35s         Normal    Scheduled           pod/non-exist-d9ddbdd84-tnrhd    Successfully assigned moelove/non-exist-d9ddbdd84-tnrhd to kind-worker3
17s         Warning   Failed              pod/non-exist-d9ddbdd84-tnrhd    Error: ErrImagePull
17s         Warning   Failed              pod/non-exist-d9ddbdd84-tnrhd    Failed to pull image "ghcr.io/moelove/non-exist": rpc error: code = Unknown desc = failed to pull and unpack image "ghcr.io/moelove/non-exist:latest": failed to resolve reference "ghcr.io/moelove/non-exist:latest": failed to authorize: failed to fetch anonymous token: unexpected status: 403 Forbidden
18s         Normal    Pulling             pod/non-exist-d9ddbdd84-tnrhd    Pulling image "ghcr.io/moelove/non-exist"
4s          Warning   Failed              pod/non-exist-d9ddbdd84-tnrhd    Error: ImagePullBackOff
4s          Normal    BackOff             pod/non-exist-d9ddbdd84-tnrhd    Back-off pulling image "ghcr.io/moelove/non-exist"

对这个 Pod 执行 describe 操作:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
(MoeLove) ➜ kubectl -n moelove describe pods non-exist-d9ddbdd84-tnrhd
...
Events:
  Type     Reason     Age                    From               Message
  ----     ------     ----                   ----               -------
  Normal   Scheduled  4m                     default-scheduler  Successfully assigned moelove/non-exist-d9ddbdd84-tnrhd to kind-worker3
  Normal   Pulling    2m22s (x4 over 3m59s)  kubelet            Pulling image "ghcr.io/moelove/non-exist"
  Warning  Failed     2m21s (x4 over 3m59s)  kubelet            Failed to pull image "ghcr.io/moelove/non-exist": rpc error: code = Unknown desc = failed to pull and unpack image "ghcr.io/moelove/non-exist:latest": failed to resolve reference "ghcr.io/moelove/non-exist:latest": failed to authorize: failed to fetch anonymous token: unexpected status: 403 Forbidden
  Warning  Failed     2m21s (x4 over 3m59s)  kubelet            Error: ErrImagePull
  Warning  Failed     2m9s (x6 over 3m58s)   kubelet            Error: ImagePullBackOff
  Normal   BackOff    115s (x7 over 3m58s)   kubelet            Back-off pulling image "ghcr.io/moelove/non-exist"

我们可以发现,这里的输出和之前正确运行 Pod 的不一样。最主要的区别在于 Age 列。这里我们看到了类似 115s (x7 over 3m58s) 这样的输出。

它的含义表示:该类型的 event 在 3m58s 中已经发生了 7 次,最近的一次发生在 115s 之前

但是当我们去直接 kubectl get events 的时候,我们并没有看到有 7 次重复的 event 。这说明 Kubernetes 会自动将重复的 events 进行合并。

选择最后一条 Events (方法前面内容已经讲了) 并将其内容使用 YAML 格式进行输出:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
(MoeLove) ➜ kubectl -n moelove get events non-exist-d9ddbdd84-tnrhd.16c4fce570cfba46 -o yaml
apiVersion: v1
count: 43
eventTime: null
firstTimestamp: "2021-12-28T19:57:06Z"
involvedObject:
  apiVersion: v1
  fieldPath: spec.containers{non-exist}
  kind: Pod
  name: non-exist-d9ddbdd84-tnrhd
  namespace: moelove
  resourceVersion: "333366"
  uid: 33045163-146e-4282-b559-fec19a189a10
kind: Event
lastTimestamp: "2021-12-28T18:07:14Z"
message: Back-off pulling image "ghcr.io/moelove/non-exist"
metadata:
  creationTimestamp: "2021-12-28T19:57:06Z"
  name: non-exist-d9ddbdd84-tnrhd.16c4fce570cfba46
  namespace: moelove
  resourceVersion: "334638"
  uid: 60708be0-23b9-481b-a290-dd208fed6d47
reason: BackOff
reportingComponent: ""
reportingInstance: ""
source:
  component: kubelet
  host: kind-worker3
type: Normal

这里我们可以看到其字段中包括一个 count 字段,表示同类 event 发生了多少次。以及 firstTimestamplastTimestamp 分别表示了这个 event 首次出现了最近一次出现的时间。这样也就解释了前面的输出中 events 持续的周期了。

彻底搞懂 Events

以下内容是从 Events 中随便选择的一条,我们可以看到它包含的一些字段信息:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
apiVersion: v1
count: 1
eventTime: null
firstTimestamp: "2021-12-28T19:31:13Z"
involvedObject:
  apiVersion: apps/v1
  kind: ReplicaSet
  name: redis-687967dbc5
  namespace: moelove
  resourceVersion: "330227"
  uid: 11e98a9d-9062-4ccb-92cb-f51cc74d4c1d
kind: Event
lastTimestamp: "2021-12-28T19:31:13Z"
message: 'Created pod: redis-687967dbc5-27vmr'
metadata:
  creationTimestamp: "2021-12-28T19:31:13Z"
  name: redis-687967dbc5.16c4fb7bde6b54c4
  namespace: moelove
  resourceVersion: "330231"
  uid: 8e37ec1e-b3a1-420c-96d4-3b3b2995c300
reason: SuccessfulCreate
reportingComponent: ""
reportingInstance: ""
source:
  component: replicaset-controller
type: Normal

其中主要字段的含义如下:

  • count: 表示当前同类的事件发生了多少次 (前面已经介绍)
  • involvedObject: 与此 event 有直接关联的资源对象 (前面已经介绍) , 结构如下:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
type ObjectReference struct {
 Kind string
 Namespace string
 Name string
 UID types.UID
 APIVersion string
 ResourceVersion string
 FieldPath string
}
  • source: 直接关联的组件, 结构如下:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
type EventSource struct {
 Component string
 Host string
}
  • reason: 简单的总结(或者一个固定的代码),比较适合用于做筛选条件,主要是为了让机器可读,当前有超过 50 种这样的代码;
  • message: 给一个更易让人读懂的详细说明
  • type: 当前只有 NormalWarning 两种类型, 源码中也分别写了其含义:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// staging/src/k8s.io/api/core/v1/types.go
const (
 // Information only and will not cause any problems
 EventTypeNormal string = "Normal"
 // These events are to warn that something might go wrong
 EventTypeWarning string = "Warning"
)

所以,当我们将这些 Events 都作为 tracing 的 span 采集回来后,就可以按照其 source 进行分类,按 involvedObject 进行关联,按时间进行排序了。

总结

在这篇文章中,我主要通过两个示例,一个正确部署的 Deploy,以及一个使用不存在镜像部署的 Deploy,深入的介绍了 Events 对象的实际的作用及其各个字段的含义。

对于 Kubernetes 而言,Events 中包含了很多有用的信息,但是这些信息却并不会对 Kubernetes 造成什么影响,它们也并不是实际的 Kubernetes 的日志。默认情况下 Kubernetes 中的日志在 1 小时后就会被清理掉,以便释放对 etcd 的资源占用。

所以为了能更好的让集群管理员知道发生了什么,在生产环境中,我们通常会把 Kubernetes 集群的 events 也给采集回来。我个人比较推荐的工具是:https://github.com/opsgenie/kubernetes-event-exporter

当然你也可以按照我之前的文章 《更优雅的 Kubernetes 集群事件度量方案》,利用 Jaeger 利用 tracing 的方式来采集 Kubernetes 集群中的 events 并进行展示。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-12-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 MoeLove 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
炸裂,GPT-4o生成图片已达新高度
本文旨在收集和展示由 OpenAI 最新的旗舰多模态模型 GPT-4o 生成的精彩、有趣或具有代表性的图片案例。
wayn
2025/04/15
3780
炸裂,GPT-4o生成图片已达新高度
GPT-4o 绘图功能炸裂,连“吉卜力风格”都能一键生成!
GPT-4o 新的绘图功能上线之后,又开始爆火起来。最近各种自媒体公众号都在吹爆这个新的功能。
算法一只狗
2025/03/29
6140
【AGI-Eval评测报告 NO.3】第一手实测GPT-4o文生图能力!最权威报告输出
25 日 Open AI 宣布将自己迄今为止最先进的图像生成器构建到 GPT‑4o 中。使用能够实现精确、准确、逼真的输出的原生多模式模型来解锁有用且有价值的图像生成。此次发布的报告中能和其他多模态模型对比突出的亮点:
AGI-Eval评测社区
2025/03/28
4640
【AGI-Eval评测报告 NO.3】第一手实测GPT-4o文生图能力!最权威报告输出
GPT-4o原生图像生成上线!10秒完成“用嘴改图”
就在谷歌刚发布号称“地表最强推理模型”的Gemini 2.5 Pro后不久。OpenAI深夜突袭,用一场30分钟的“轻量级发布会”扔出重磅炸弹——GPT-4o的原生图像生成功能正式上线。从自拍秒变动漫风,到生成相对论漫画,再到准确渲染复杂文本,GPT-4o的多模态能力让人眼前一亮。那么,OpenAI这波操作究竟能否在AI大战中扳回一局?让我们一探究竟。
用户11203141
2025/03/31
1380
GPT-4o原生图像生成上线!10秒完成“用嘴改图”
GPT-4o的多模态生图,让整个设计圈都开始emo了。
比如@银海的直接做商品图的翻译和合成,这是原来的算法,很难做的效果,但是现在,有手就行。
数字生命卡兹克
2025/04/14
970
GPT-4o的多模态生图,让整个设计圈都开始emo了。
「开源版GPT-4o」来了!这个17B国产模型生图效果比肩4o,还可商用
前段时间,GPT-4o 火出了圈,其断崖式提升的生图、改图能力让每个人都想尝试一下。虽然 OpenAI 后来宣布免费用户也可以用,但出图慢、次数受限仍然困扰着没有订阅 ChatGPT 的普通人。
机器之心
2025/04/16
1740
「开源版GPT-4o」来了!这个17B国产模型生图效果比肩4o,还可商用
GPT-image-1:OpenAI 推出的最新图像生成模型
在人工智能领域,OpenAI 一直是技术革新的领头羊。2025 年 4 月 23 日,OpenAI 正式发布了其全新的图像生成模型 ——GPT-image-1,这一创新技术的推出,不仅为图像生成领域带来了前所未有的变革,也为开发者和创意工作者提供了更强大、更灵活的工具。
疯狂的KK
2025/04/25
3810
GPT-image-1:OpenAI 推出的最新图像生成模型
Midjourney|文心一格prompt教程Text Prompt(下篇):游戏、实物、人物、风景、动漫、邮票、海报等生成,终极模板教学
但你会发现,好像中文社区分享的 prompt 都非常长,但只要各位仔细观察,或者用翻译软件查一查,你会发现很神奇的事情:
汀丶人工智能
2023/05/18
1.4K0
Midjourney|文心一格prompt教程Text Prompt(下篇):游戏、实物、人物、风景、动漫、邮票、海报等生成,终极模板教学
​​「我的老板连夜改行」OpenAI GPT4o放出「一嘴之力」:深度实测效果流出,一句话生成电影级画面,人类或失去想象力霸权
今日凌晨,OpenAI在毫无预兆的情况下,向全球用户推送了GPT-4o原生图像生成功能。这项被内部称为“视觉大爆炸”的更新,标志着语言模型首次突破文本界限,将图像生成能力内化为核心功能。从产品海报到科学图解,从动漫转绘到历史场景重建,用户只需用自然语言描述需求,GPT-4o即可在1分钟内生成专业级图像——甚至支持多轮对话迭代优化。这不仅是技术层面的突破,更是一场从工具到生态的全方位革命。
AI研思录
2025/03/27
2160
​​「我的老板连夜改行」OpenAI GPT4o放出「一嘴之力」:深度实测效果流出,一句话生成电影级画面,人类或失去想象力霸权
Midjourney|文心一格 Prompt:完整参数列表、风格汇总、文生图词典合集
https://github.com/thinkingjimmy/Learning-Prompt
汀丶人工智能
2023/05/20
1.7K0
Midjourney|文心一格 Prompt:完整参数列表、风格汇总、文生图词典合集
10分钟搞定!AI表情包自由,白嫖GPT-4o,让你在群里横着走!
嘿!还在用那些糊掉渣、传了N代的“祖传”表情包?朋友,你out辣!现在AI画图都卷成麻花了,尤其是那个GPT-4o,简直是表情包界的“外挂”,图像的一致性稳得一批不说,还能直接吐透明背景的图,简直是表情包界的“天选之子”!
LeonAlgo
2025/04/30
1430
10分钟搞定!AI表情包自由,白嫖GPT-4o,让你在群里横着走!
[官方]你好 GPT-4o [译]
我们很高兴地宣布,推出了全新的旗舰模型 GPT-4o,能够在音频、视觉和文本之间实时进行推理。
硬核编程
2024/05/20
1950
[官方]你好 GPT-4o [译]
[AI OpenAI] 您好,GPT-4o
GPT-4o(“o”代表“omni”)是朝着更加自然的人机交互迈出的一步——它可以接受任何组合的文本、音频和图像作为输入,并生成任何组合的文本、音频和图像输出。它可以在短至232毫秒内响应音频输入,平均响应时间为320毫秒,这与人类在对话中的响应时间相似。它在英文文本和代码处理方面与GPT-4 Turbo的性能相当,在非英语语言的文本处理上有显著提升,同时API的速度更快且成本降低50%。与现有模型相比,GPT-4o在视觉和音频理解方面特别出色。
从零开始学AI
2024/05/14
1650
[AI OpenAI] 您好,GPT-4o
GPT生成「吉卜力风格」图像不侵权,宫崎骏维权都难成?|AGI之路
OpenAI的GPT-4o因其精准生成吉卜力动画风格的图像能力引发热议,用户通过输入简单指令即可复现标志性的柔和色调与奇幻场景。创作者们将《指环王》等经典IP转化为吉卜力画风的二创作品在社交平台病毒式传播,虽然展示了AI的技术潜力,也掀起关于“风格模仿是否构成侵权”的法律争议。
小腾资讯君
2025/05/07
1440
Midjourney|文心一格prompt教程Text Prompt(上篇):品牌log、App、徽章、插画、头像场景生成,各种风格选择:科技风、运动风
Midjourney 跟 ChatGPT 在 prompt 的使用上有很多不一样的地方,本章会详细介绍下 Midjourney 的 text prompt 区别。
汀丶人工智能
2023/05/18
1K0
Midjourney|文心一格prompt教程Text Prompt(上篇):品牌log、App、徽章、插画、头像场景生成,各种风格选择:科技风、运动风
一手实测深夜发布的世界首个设计Agent - Lovart。
可能很多老粉都知道,我其实是设计师出身,所以对这种AI设计类的产品,还是Agent的产品,本身就比较关注。
数字生命卡兹克
2025/05/14
1590
一手实测深夜发布的世界首个设计Agent - Lovart。
谷歌反击:Project Astra正面硬刚GPT-4o、Veo对抗Sora、新版Gemini变革搜索
5 月 15 日凌晨,一年一度的「科技界春晚」Google I/O 开发者大会正式开幕。长达 110 分钟的主 Keynote 提到了几次人工智能?谷歌自己统计了一下:
机器之心
2024/05/22
1740
谷歌反击:Project Astra正面硬刚GPT-4o、Veo对抗Sora、新版Gemini变革搜索
谷歌2小时疯狂复仇,终极杀器硬刚GPT-4o!Gemini颠覆搜索,视频AI震破Sora
跟OpenAI半小时的「小而美」发布会相比,谷歌显然准备得更加充分,当然,时间也相当之长……
新智元
2024/05/15
1590
谷歌2小时疯狂复仇,终极杀器硬刚GPT-4o!Gemini颠覆搜索,视频AI震破Sora
OpenAI API Key 获取与 GPT-image-1 图像生成 API 开发指南及代码示例
OpenAI 近期宣布正式发布其最新的图像生成 API,模型标识为 gpt-image-1。此举标志着一个重要的里程碑,将先前在 ChatGPT 中展示并广受欢迎、由 GPT-4o 模型驱动的先进图像生成能力,首次以编程方式提供给全球的开发者和企业 。这一发布被视为人工智能领域,特别是多模态 AI 应用发展中的关键一步,它使得将高保真、高灵活性的图像生成功能直接集成到各种工具、平台和应用程序中成为可能 。
网名重要么
2025/04/25
4360
OpenAI API Key 获取与 GPT-image-1 图像生成 API 开发指南及代码示例
关于AI绘画优雅草央千澈整理的一份咒语(与AI对话提示词-应用于AI绘图和AI生成视频)-本文长期更新-本次更新2025年1月15日更新-长期更新建议点赞收藏
1. 扁平化风格Logo (Flat Style Logo)这种设计以其简单的形状和鲜艳的颜色而引人注目,这使得它在任何尺寸都能很好地工作,无论是在手机屏幕还是在广告牌上。此外,它的简单设计也使得其加载速度更快,对于网站和移动应用的用户体验非常重要。Prompt: “Flat vector logo of a #insert item, #insert color, trending on Dribble.”
卓伊凡
2025/01/15
1900
推荐阅读
炸裂,GPT-4o生成图片已达新高度
3780
GPT-4o 绘图功能炸裂,连“吉卜力风格”都能一键生成!
6140
【AGI-Eval评测报告 NO.3】第一手实测GPT-4o文生图能力!最权威报告输出
4640
GPT-4o原生图像生成上线!10秒完成“用嘴改图”
1380
GPT-4o的多模态生图,让整个设计圈都开始emo了。
970
「开源版GPT-4o」来了!这个17B国产模型生图效果比肩4o,还可商用
1740
GPT-image-1:OpenAI 推出的最新图像生成模型
3810
Midjourney|文心一格prompt教程Text Prompt(下篇):游戏、实物、人物、风景、动漫、邮票、海报等生成,终极模板教学
1.4K0
​​「我的老板连夜改行」OpenAI GPT4o放出「一嘴之力」:深度实测效果流出,一句话生成电影级画面,人类或失去想象力霸权
2160
Midjourney|文心一格 Prompt:完整参数列表、风格汇总、文生图词典合集
1.7K0
10分钟搞定!AI表情包自由,白嫖GPT-4o,让你在群里横着走!
1430
[官方]你好 GPT-4o [译]
1950
[AI OpenAI] 您好,GPT-4o
1650
GPT生成「吉卜力风格」图像不侵权,宫崎骏维权都难成?|AGI之路
1440
Midjourney|文心一格prompt教程Text Prompt(上篇):品牌log、App、徽章、插画、头像场景生成,各种风格选择:科技风、运动风
1K0
一手实测深夜发布的世界首个设计Agent - Lovart。
1590
谷歌反击:Project Astra正面硬刚GPT-4o、Veo对抗Sora、新版Gemini变革搜索
1740
谷歌2小时疯狂复仇,终极杀器硬刚GPT-4o!Gemini颠覆搜索,视频AI震破Sora
1590
OpenAI API Key 获取与 GPT-image-1 图像生成 API 开发指南及代码示例
4360
关于AI绘画优雅草央千澈整理的一份咒语(与AI对话提示词-应用于AI绘图和AI生成视频)-本文长期更新-本次更新2025年1月15日更新-长期更新建议点赞收藏
1900
相关推荐
炸裂,GPT-4o生成图片已达新高度
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档