【读书笔记】12 牛刀小试:我的第一个容器化应用
发表于:2025-02-12 作者:千家信息网编辑
千家信息网最后更新 2025年02月12日,《深入剖析Kubernetes - 12 牛刀小试:我的第一个容器化应用》主要包括2个步骤:制作镜像 和 编写yaml配置文件(或json)以 nginx 的deployment 为例apiVersi
千家信息网最后更新 2025年02月12日【读书笔记】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安全错误
数据库的锁怎样保障安全
i编码开发的数据库
液晶显示软件开发工具
ldap服务器配置
数据库选键怎么找
一站式软件开发经验丰富
互联网科技大佬的老婆学生物
数狗服务器被攻击
如何对数据库删除
电脑wifi网络安全密钥不对
网络服务器中双网卡配置怎么弄
弹琴软件开发
网络安全龙头股票有哪些
是一家创新型互联网科技服务企业
数据库文件导入服务器
丰巢网络技术
高青mes管理软件开发公司
广西博士科研课题项目软件开发
我的世界服务器管理员乱来
access网络数据库应用视频
文科生学计算机网络技术
智盟网络技术有限公司官网
地瓜网络技术支持
信息通信网络技术与应用
信息网络安全专业能考什么证
检测服务器已被禁用
swhile数据库
媒体服务器连接情况异常
天龙八部手游服务器在哪里找
网络安全突发事件分为哪几类
有人N540串口服务器