K8S中YAML案例

目录

案例:自主式创建service并关联上面的pod

案例:部署redis

案例:部署myapp

案例:部署MySQL数据库

总结

1.K8S集群中访问流向

K8S集群外部:客户端——nodeIP:nodeport——通过target port——podIP:containerport

2.语法格式

3.yaml文件组成部署

4.常用字段的含义


案例:自主式创建service并关联上面的pod

资源名称:my-nginx-kkk

命名空间:my-kkk

容器镜像:nginx:1.21

容器端口:80

标签:njzb: my-kkk

创建  server去关联上面的pod

结果:首先修改页面:tian  wai  lai  wu,对外访问,输入地址就能访问

1. 试创建文件获取模板文件

kubectl create ns my-kkk --dry-run -oyaml
kubectl run my-nginx-kkk --image=nginx:1.21 --port=80 --dry-run -oyaml > pod.yaml

2. 编写yaml文件 

kubectl get svc
kubectl get svc nginx -oyaml

vim pod.yaml 
kubectl apply -f pod.yaml 
kubectl get svc,pod -n my-kkk

将获取的yaml资源内容复制过来,进行修改 

vim pod.yamlapiVersion: v1
kind: Namespace
metadata:name: my-kkk
---
apiVersion: v1
kind: Pod
metadata:labels:njzb: my-kkkname: my-nginx-kkknamespace: my-kkk
spec:containers:- image: nginx:1.21name: my-nginx-kkkports:- containerPort: 80restartPolicy: Always
---
apiVersion: v1
kind: Service
metadata:labels:njzb: my-kkkname: my-nginx-kkknamespace: my-kkk
spec:ports:- nodePort: 31111  ###节点端口号port: 80         ###服务暴露端口protocol: TCP    ###通信协议targetPort: 80   ###要转发到的容器端口selector:njzb: my-kkk     ###该服务所选择的后端podtype: NodePort

3. 测试结果

案例:部署redis

[root@master01 demo]# vim redis.yaml apiVersion: apps/v1
kind: Deployment
metadata:name: redis-dpmlabels:app: redis
spec:               ###资源所需参数replicas: 1selector:matchLabels:app: redis   ###只会与标签app:redis的pod关联template:          ###业务模板,如果有多个副本,所有副本属性会按照模板进行匹配metadata:labels:app: redisspec:           ###资源所需参数containers:- name: redisimage: redis:latestports:- containerPort: 6379
---
apiVersion: v1
kind: Service
metadata:name: redis-dbmlabels:app: redis
spec:selector:app: redisports:- nodePort: 32379port: 6379protocol: TCPtargetPort: 6379type: NodePort

[root@master01 home]# kubectl get svc,pod

案例:部署myapp

apiVersion: apps/v1
kind: Deployment
metadata:name: myapp-kknamespace: defaultlabels:app: myapp
spec:replicas: 1selector:matchLabels:app: myapptemplate:metadata:labels:app: myappspec:containers:- name: myappimage: soscscs/myapp:v1ports:- containerPort: 80

案例:部署MySQL数据库

[root@master01 demo]# cat mysql.yaml 
apiVersion: v1
kind: Namespace
metadata:name: devops
---
apiVersion: apps/v1
kind: Deployment
metadata:name: devops-mysqlnamespace: devops
spec:replicas: 1revisionHistoryLimit: 5      ###保留5个可以回滚的历史纪录strategy:type: RollingUpdate        ###更新策略为:RollingUpdate;在进行更新时,将旧pod副本替换为            新的pod,确保服务的可用性selector:matchLabels:app: devops-mysqltemplate:metadata:labels:app: devops-mysqlspec:volumes:- name: devops-mysqlnfs:server: 192.168.91.104path: /root/data/nfs/mysql/devopscontainers:- name: devops-mysqlimage: mysql:5.7env:- name: MYSQL_ROOT_PASSWORDvalue: abc123imagePullPolicy: Alwaysports:- containerPort: 3306volumeMounts:- name: devops-mysqlmountPath: /var/lib/mysql
---
apiVersion: v1
kind: Service
metadata:name: devops-mysqlnamespace: devops
spec:ports:- port: 3306protocol: TCPtargetPort: 3306nodePort: 30011selector:app: devops-mysqltype: NodePortsessionAffinity: ClientIP     ###确保与客户端的会话一致性
[root@master01 demo]# vim mysql.yaml
[root@master01 demo]# kubectl apply -f mysql.yaml 

[root@master01 home]# kubectl get svc,pod -n devops

总结

1.K8S集群中访问流向

port:为service在clusterIP上暴露的端口

targetport:对应容器映射在pod上的端口

nodeport:可以通过在K8S集群外部使用nodeIP+nodePort来去访问service

containerport:容器内部使用的端口

K8S集群内部:客户端——clusterIP:port——通过target port——podIP:containerport

K8S集群外部:客户端——nodeIP:nodeport——通过target port——podIP:containerport

2.语法格式

通过缩进表示层级关系

不能使用tab进行缩进,只能使用空格,一般开头缩进2个空格

字符后缩进一个空格,比如冒号,逗号等

使用—表示新的yaml文件的开始

使用#表示注释

3.yaml文件组成部署

(1)控制器定义

deployment:定义metadaea、spec、selector

通过yaml完成副本的定义,自主式的

(2)被控制对象

由哪一个控制器(自主式、deployment、statusfulset等)

4.常用字段的含义

如何快速编写yaml

(1)第一种使用kubectl create 命令生成yaml文件

(2)第二种使用kubectl get 命令导出yaml文件

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/330043.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据可视化第十天(爬虫爬取某瓣星际穿越电影评论,并且用词云图找出关键词)

开头提醒 本次爬取的是用户评论,只供学习使用,不会进行数据的传播。希望大家合法利用爬虫。 获得数据 #总程序 import requests from fake_useragent import UserAgent import timefuUserAgent()headers{User-Agent:fu.random }page_listrange(0,10) …

概率论统计——大数定律

大数定律 弱大数定律(辛钦大数定律) 利用切比雪夫不等式,证明弱大数定律 应用 伯努利大数定理,(辛钦大数定理的推论) 证明伯努利大数定理 注意:这里将二项分布转化成0,1分布来表示,…

【C++】牛客——美团 奇数位丢弃

✨题目链接: MT8 奇数位丢弃 ✨题目描述 对于一个由 0..n 的所有数按升序组成的序列,我们要进行一些筛选,每次我们丢弃去当前所有数字中第奇数位个的数。重复这一过程直到最后剩下一个数。请求出最后剩下的数字。 数据范围: 1≤…

Softing工业推出新品edgeGate:一款用于工业边缘和云应用的硬件网关

2024年4月17日(哈尔),Softing工业自动化在2024年汉诺威工业博览会上首次展示了新品edgeGate。该产品是一个无需维护的硬件物联网网关解决方案,可将生产数据从PLC和数控机床控制器传输至工业边缘及物联网云平台。 (edge…

Docker简单使用

1.简单认识 软件的打包技术,就是将打乱的多个文件打包为一个整体,比如想使用nginx,需要先有一台linux的虚拟机,然后在虚拟机上安装nginx.比如虚拟机大小1G,nginx100M。当有了docker后我们可以下载nginx 的镜像文件&am…

四信云-设备维保管理系统上线,实现设备全生命周期管理

在当今的制造业中,设备是企业生产的核心要素,是企业竞争力的基石。 随着企业发展规模不断扩大,设备数量急速增长,传统的手工管理方式已经无法满足企业需求,设备管理系统的出现则填补了市场需求空白,其目标…

做OZON怎么选择物流,OZON物流Xingyuan

随着跨境电商的蓬勃发展,OZON作为俄罗斯领先的电商平台,吸引了大量中国卖家入驻。然而,物流作为跨境电商的关键环节,其选择对于卖家来说至关重要。本文将围绕“做OZON怎么选择物流”这一问题,深度解析OZON物流Xingyuan…

Mysql教程(0):学习框架

1、Mysql简介 MySQL 是一个开放源代码的、免费的关系型数据库管理系统。在 Web 开发领域,MySQL 是最流行、使用最广泛的关系数据库。MySql 分为社区版和商业版,社区版完全免费,并且几乎能满足全部的使用场景。由于 MySQL 是开源的&#xff0…

WordPress插件Disable WP REST API,可根据是否登录来禁用REST API

前面跟大家分享了代码版禁用WordPress REST API的方法(详见『WordPress4.7以上版本如何禁用JSON REST API?』),不过有些站长不太敢折腾自己的网站代码,那么建议试试这款Disable WP REST API,它可以&#xf…

【C++】c++入门(下 )

c入门 1.内联函数1.1 概念1.2 特性 2.auto关键字(C11)2.1 简介2.2 auto的使用2.3 auto不能推导的场景2.4 typedef取别名也能产生和auto的效果,为什么不使用? 3.基于范围的for循环(C11)3.1 9.1 范围for的语法3.2 范围for的使用条件 4.指针空值nullptr(C11…

sheng的学习笔记-docker部署Greenplum

目录 docker安装gp数据库 mac版本 搭建gp数据库 连接数据库 windows版本 搭建gp数据库 连接数据库 docker安装gp数据库 mac版本 搭建gp数据库 打开终端,输入代码,查看版本 ocker search greenplum docker pull projectairws/greenplum docker…

Django中使用Celery(通用方案、官方方案)

Django中使用Celery(通用方案、官方方案) 目录 Django中使用Celery(通用方案、官方方案)通用方案场景前置准备完整代码 Celery官方方案【1】注册celery配置【2】创建celery文件【3】init注册【4】添加任务【5】启动worker异步任务…

2024最新彩虹聚合DNS管理系统源码v1.3 全开源

简介: 2024最新彩虹聚合DNS管理系统源码v1.3 全开源 聚合DNS管理系统可以实现在一个网站内管理多个平台的域名解析,目前已支持的域名平台有:阿里云、腾讯云、华为云、西部数码、DNSLA、CloudFlare。 本系统支持多用户,每个用户可…

领域知识 | 智能驾驶安全领域部分常见概论

Hi,早。 最近想买个新能源车,这个车吧相比于之前的内燃车,新能源车与外界的交互多了很多。比如娱乐的第三方应用,OTA升级等应用。 交互带来的便利越多,暴露的风险自然也就越大,相比于手机等消费者终端设备…

docker redis 持久化

1、拉取redis镜像 docker pull redis:latest 2、 mkdir /data/redis 3、填充redis.conf文件及根据需求修改相应的配置 •通过官网地址找到对应版本的配置文件 •将配置信息复制到redis.conf中 •常见的修改配置 https://redis.io/docs/latest/operate/oss_and_stack/managem…

【408精华知识】Cache类题目解题套路大揭秘

有关Cache的题目,需要理解Cache的工作原理,也即给出一个地址,要知道如何在Cache中寻找或者如何将其从主存中复制入Cache,同时理解Cache中具体是如何存储的,包含三种存储方式,分别是直接映射、全相联映射、组…

Android图像系统与Choreographer

Android图像系统与Choreographer 一.图像显示系统概述1.双缓存机制和VSync机制2.三缓存机制 二.Choreographer1.Choreographer的初始化2.Choreographer的使用2.1 添加任务2.1 任务执行 一.图像显示系统概述 一个基础的图像显示系统由CPU、GPU、屏幕三部分组成。CPU负责计算帧数…

基于transformers框架实践Bert系列4-文本相似度

本系列用于Bert模型实践实际场景,分别包括分类器、命名实体识别、选择题、文本摘要等等。(关于Bert的结构和详细这里就不做讲解,但了解Bert的基本结构是做实践的基础,因此看本系列之前,最好了解一下transformers和Bert…

两数交换,数组查找奇数个数的数(位运算)

文章目录 一、异或运算:1.1 Demo1.2 面试题 一、异或运算: 1.1 Demo 0和N进行异或运算都等于N 任何一个数和自己异或运算都等于0 且异或运算满足交换率 a^b b^a eg: a 甲 , b 已 那么则有 a a^b ​ b a^b ​ a a^b 故有&am…

ACM实训第十七天

Is It A Tree? 问题 考试时应该做不出来,果断放弃 树是一种众所周知的数据结构,它要么是空的(null, void, nothing),要么是一个或的集合满足以下属性的节点之间有向边连接的节点较多。 •只有一个节点,称为根节点,它…