【读书笔记】12 牛刀小试:我的第一个容器化应用
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,《深入剖析Kubernetes - 12 牛刀小试:我的第一个容器化应用》主要包括2个步骤:制作镜像 和 编写yaml配置文件(或json)以 nginx 的deployment 为例apiVersi
千家信息网最后更新 2025年12月02日【读书笔记】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安全错误
数据库的锁怎样保障安全
深圳燃气软件开发行业
软件开发在那里兼职
数据库的性能优化有哪些方
数据库view什么意思
虹口区网络软件开发服务价格对比
新型网络安全应用
软件开发的关键技术有那些
错误服务器404
ios股票软件开发
可信网络安全
银行网络安全提升年心得
spss一导入部分数据库
航信会计科目表在数据库
软件开发技术行业广泛吗
国家安全教育日网络安全内容
软件开发服务外包开票是什么类目
大数据 使用的数据库吗
互联网和计算机网络安全
sip服务器软件
2021年网络安全工程师考试
润灵环球数据库
echats自动连接数据库
网络安全攻击案例经典案例
网游单机服务器下载
服务器加固软件排名
美国企业重视网络安全
加强网络技术发展
姜开达 网络安全
工业互联网交控科技
北京寻源网络技术有限公司