【读书笔记】12 牛刀小试:我的第一个容器化应用
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,《深入剖析Kubernetes - 12 牛刀小试:我的第一个容器化应用》主要包括2个步骤:制作镜像 和 编写yaml配置文件(或json)以 nginx 的deployment 为例apiVersi
千家信息网最后更新 2026年11月01日【读书笔记】12 牛刀小试:我的第一个容器化应用
《深入剖析Kubernetes - 12 牛刀小试:我的第一个容器化应用》
主要包括2个步骤:制作镜像 和 编写yaml配置文件(或json)
以 nginx 的deployment 为例
apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment spec: selector: matchLabels: app: nginx replicas: 2 template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx:1.7.9 ports: - containerPort: 80
其中kind 字段声明类型,例如deployment、daemonset 等,metadata 是具体描述,例如name、namespace、labels、annotations等
spec.template 描述了pod 的细节,即容器配置的模板
创建deployment
$ kubectl create -f nginx-deployment.yaml
查看deployment运行情况
$ kubectl get pods -l app=nginx NAME READY STATUS RESTARTS AGE nginx-deployment-67594d6bf6-9gdvr 1/1 Running 0 10m nginx-deployment-67594d6bf6-v6j7w 1/1 Running 0 10m
查看API 对象细节
kubectl describe pod nginx-deployment-67594d6bf6-9gdvrName: nginx-deployment-67594d6bf6-9gdvrNamespace: defaultPriority: 0PriorityClassName:Node: node-1/10.168.0.3Start Time: Thu, 16 Aug 2018 08:48:42 +0000Labels: app=nginx pod-template-hash=2315082692Annotations: Status: RunningIP: 10.32.0.23Controlled By: ReplicaSet/nginx-deployment-67594d6bf6...Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal Scheduled 1m default-scheduler Successfully assigned default/nginx-deployment-67594d6bf6-9gdvr to node-1 Normal Pulling 25s kubelet, node-1 pulling image "nginx:1.7.9" Normal Pulled 17s kubelet, node-1 Successfully pulled image "nginx:1.7.9" Normal Created 17s kubelet, node-1 Created container Normal Started 17s kubelet, node-1 Started container
其中Events 字段可用于后期问题定位,常见的有
(1)找不到合适的node节点调度pod,包括
node节点label匹配不上;
node节点资源不够分配;
node节点设置了污点;
node节点网络异常;
(2) 镜像拉取失败
升级容器镜像版本
... spec: containers: - name: nginx image: nginx:1.8 # 这里被从 1.7.9 修改为 1.8 ports: - containerPort: 80
执行
$ kubectl replace -f nginx-deployment.yaml
更常见的方式是,通过apply 执行相关操作,无论是创建还是修改都可以通过该命令完成
$ kubectl apply -f nginx-deployment.yaml # 修改 nginx-deployment.yaml 的内容 $ kubectl apply -f nginx-deployment.yaml
下面是一个volume挂载的例子
通常分为emptyDir 和 hostPath 两种,两者的区别在于前者不需要指定宿主机目录(源目录),k8s 会在宿主机上创建一个临时目录并挂载进去;而后者,则需要显式声明挂载的源目录,例如将宿主机的/usr/local/nginx/html 目录挂载到容器同样的位置
emptyDir的例子
volumes: - name: nginx-vol emptyDir: {}hostPath的例子... volumes: - name: nginx-vol hostPath: path: /var/data进入容器
$ kubectl exec -it nginx-deployment-5c678cfb6d-lg9lw -- /bin/bash # ls /usr/share/nginx/html
删除容器
$ kubectl delete -f nginx-deployment.yaml
容器
节点
例子
宿主
目录
镜像
字段
宿主机
常见
源目录
细节
配置
牛刀小试
应用
合适
不够
位置
内容
可以通过
命令
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
咖啡豆
湖南永感互联网科技有限公司
为想互联网科技怎么样
互联网科技社
浩特互联网科技
安徽鑫晟辉互联网科技
互联网金融科技平台
互联网科技公司有哪些
天扬科技互联网广告
西藏七维空间互联网科技有限公司
北京大学互联网科技怎么样
南平创想时代互联网科技有限公司
阿里互联网科技企业
徐州市互联网科技有限公司
35岁以上互联网科技行业
北京天晋互联网科技有限公司
亚光科技低轨卫星互联网
上海旺乐尼互联网科技有限公司
瑞安市蟠桃会互联网科技有限公司
互联网科技创新方面的资料
今日互联网科技
电子科技大学互联网
无线互联网科技
睿民互联网科技
奔汉互联网科技
阿里巴巴算科技企业还是互联网
互联网科技寓意
花神(南京)互联网科技有限公司
扫呗互联网科技有限公司
互联网科技大佬云集