当前位置: 首页 > news >正文

wordpress如何秒开百度seo优化技术

wordpress如何秒开,百度seo优化技术,国家商标注册查询网官网,襄樊市网站建设API资源对象Deployment 最小的资源是pod,deployment是多个pod的集合(多个副本实现高可用、负载均衡等)。 使用yaml文件来配置、部署资源对象。 Deployment YAML示例: vi ng-deploy.yaml apiVersion: apps/v1 kind: Deployment…

API资源对象Deployment

最小的资源是pod,deployment是多个pod的集合(多个副本实现高可用、负载均衡等)。
使用yaml文件来配置、部署资源对象。

Deployment YAML示例:
vi  ng-deploy.yaml

apiVersion: apps/v1
kind: Deployment
metadata:labels:app: myngname: ng-deploy
spec:replicas: 2 ##副本数selector:matchLabels:app: myngtemplate:metadata:labels:app: myngspec:containers:- name: myngimage: nginx:1.23.2ports:- name: myng-portcontainerPort: 80

获取pod所在节点:kubectl get po -o wide,或者kebectl describe po xxxx

API资源对象Service

作用:对外提供访问端口。
Service简称(svc) YAML示例:
vi ng-svc.yaml

apiVersion: v1
kind: Service
metadata:name: ngx-svc
spec:selector:app: myngports:- protocol: TCPport: 8080  ##service的porttargetPort: 80  ##pod的port

三种Service 类型:
1)ClusterIP
该方式为默认类型,即,不定义type字段时(如上面service的示例),就是该类型。

spec:selector:app: myngtype: ClusterIPports:- protocol: TCPport: 8080  ##service的porttargetPort: 80  ##pod的port

2)NodePort
如果想直接通过k8s节点的IP直接访问到service对应的资源,可以使用NodePort,Nodeport对应的端口范围:30000-32767

spec:selector:app: myngtype: NodePortports:- protocol: TCPport: 8080  ##service的porttargetPort: 80  ##pod的portnodePort: 30009  ##可以自定义,也可以不定义,它会自动获取一个端口

3)LoadBlancer
这种方式,需要配合公有云资源比如阿里云、亚马逊云来实现,这里需要一个公网IP作为入口,然后来负载均衡所有的Pod。

spec:selector:app: myngtype: LoadBlancerports:- protocol: TCPport: 8080  ##service的porttargetPort: 80  ##pod的port

API资源对象DaemonSet

类似deployment。deamonset作用是在集群的每个节点上运行且只运行一个pod。
Daemonset和Deployment的差异很小,除了Kind不一样,还需要去掉replica配置
vi  ds-demo.yaml

apiVersion: apps/v1
kind: DaemonSet
metadata:labels:app: ds-demoname: ds-demo
spec:selector:matchLabels:app: ds-demotemplate:metadata:labels:app: ds-demospec:containers:- name: ds-demoimage: nginx:1.23.2ports:- name: mysql-portcontainerPort: 80

只在两个node节点上启动了pod,没有在master上启动,这是因为默认master有限制。

kubectl describe node k8s01 |grep -i 'taint'
Taints:             node-role.kubernetes.io/control-plane:NoSchedule

说明:Taint叫做污点,如果某一个节点上有污点,则不会被调度运行pod。
为了解决此问题 改一下YAML配置:
vi  ds-demo.yaml

apiVersion: apps/v1
kind: DaemonSet
metadata:labels:app: ds-demoname: ds-demo
spec:selector:matchLabels:app: ds-demotemplate:metadata:labels:app: ds-demospec:tolerations:- key: node-role.kubernetes.io/control-planeeffect: NoSchedulecontainers:- name: ds-demoimage: nginx:1.23.2ports:- name: mysql-portcontainerPort: 80

API资源对象StatefulSet

pod根据有误数据存储分为有状态、无状态。无状态适合不会产生重要数据的应用,比如nginx、tomcat等。有状态会产生重要数据,比如MySQL、redis等。
deployment、daemonset适合做无状态,statefulset适合做有状态。

statefulset涉及到数据持久化,用到storageclass资源对象。下面实验先创建基于NFS的storageclass。

新主机配置NFS服务:
cat /etc/exports
/data/nfs 192.168.56.0/24(rw,sync,no_root_squash)三台k8s主机安装nfs
yum install -y nfs-utils
然后挂载nfs目录
showmount -e 192.168.56.124

Sts示例
vi redis-sts.yaml

apiVersion: apps/v1
kind: StatefulSet
metadata:name: redis-stsspec:serviceName: redis-svc ##这里要有一个serviceName,Sts必须和service关联volumeClaimTemplates:- metadata:name: redis-pvcspec:storageClassName: nfs-clientaccessModes:- ReadWriteManyresources:requests:storage: 500Mireplicas: 2selector:matchLabels:app: redis-ststemplate:metadata:labels:app: redis-stsspec:containers:- image: redis:6.2name: redisports:- containerPort: 6379volumeMounts:- name: redis-pvcmountPath: /data

vi  redis-svc.yaml

apiVersion: v1
kind: Service
metadata:name: redis-svcspec:selector:app: redis-stsports:- port: 6379protocol: TCPtargetPort: 6379
kubectl apply -f redis-sts.yaml -f redis-svc.yaml

API资源对象Job

作用:一次性运行后就推出的pod。比如备份一次数据库这样的单次任务。

先来生成一个YAML文件:

kubectl create job job-demo --image=busybox  --dry-run=client  -o yaml > job-demo.yaml

vi job-demo.yaml  ##编辑此配置

apiVersion: batch/v1
kind: Job
metadata:name: job-demo
spec:template:  ##模板,基于此模板来创建pod,它用来定义pod的属性,比如containerspec:restartPolicy: OnFailure ##定义Pod运行失败时的策略,可以是OnFailure和Never,其中OnFailure表示失败的话需要重启容器,Never表示失败的话不重启容器,而是重新生成一个新的Podcontainers:- image: busyboxname: job-democommand: ["/bin/echo"]args: ["hellow", "world"]

几个特殊字段:

  • activeDeadlineSeconds,设置 Pod 运行的超时时间。
  • backoffLimit,设置 Pod 的失败重试次数。
  • completions,Job 完成需要运行多少个 Pod,默认是 1 个。
  • parallelism,它与 completions 相关,表示允许并发运行的 Pod 数量,避免过多占用资源。
    vi  myjob.yaml
apiVersion: batch/v1
kind: Job
metadata:name: sleep-jobspec:activeDeadlineSeconds: 15  #15s就超时backoffLimit: 2 #失败重试2次就放弃completions: 4 #要运行4个pod,才算完成parallelism: 2 #允许并发运行2个podtemplate:spec:restartPolicy: Nevercontainers:- image: busyboxname: echo-jobimagePullPolicy: IfNotPresentcommand:- sh- -c- sleep 10; echo done

API资源对象CronJob

CronJob简称(cj)是一种周期运行的Pod,比如有些任务需要每天执行一次,就可以使用CronJob。

先来生成一个YAML文件:

kubectl create cj cj-demo --image=busybox --schedule="" --dry-run=client  -o yaml > cj-demo.yaml

vi job-demo.yaml  ##编辑此配置

apiVersion: batch/v1
kind: CronJob
metadata:name: cj-demospec:schedule: '*/1 * * * *'    #核心配置jobTemplate:spec:template:spec:restartPolicy: OnFailurecontainers:- image: busyboxname: cj-demoimagePullPolicy: IfNotPresentcommand: ["/bin/echo"]args: ["hello", "world"]

API资源对象Endpoint

简称ep,该资源是和service一一对应的,也就是说每个service都会对应一个endpoint。ep可以理解成service后端对应的资源。

有时候k8s里的pod需要访问外部资源,比如访问外部mysql(非k8s内的pod),就可以定义一个对外资源的endpoint,然后再定义一个service,就可以让k8s里的其他pod访问了(将mysql内化成k8s pod)。

kubectl get svc
kubectl get ep

vim testep.yaml

apiVersion: v1
kind: Endpoints
metadata:name: external-mysql
subsets:- addresses:- ip: 192.168.222.128ports:- port: 3306---
apiVersion: v1
kind: Service  ##注意,该service里并不需要定义selector,只要Service name和Endpoint name保持一致即可
metadata:name: external-mysql
spec:ports:- port: 3306

API资源对象ConfigMap

简称cm,用来存储配置信息,比如服务端口、运行参数、文件路径等。

vi mycm.yaml

apiVersion: v1
kind: ConfigMap
metadata:name: mycmdata:DATABASE: 'db'USER: 'wp'PASSWORD: '123456'ROOT_PASSWORD: '123456'

创建cm

kubectl apply -f mycn.yaml查看
kubectl get cm
kubectl describe cm mycm

在其他pod里引用configmap
vi  testpod.yaml

apiVersion: v1
kind: Pod
metadata:name: testpodlabels:app: testpodspec:containers:- image: mariadb:10name: mariaimagePullPolicy: IfNotPresentports:- containerPort: 3306envFrom:   ##将cm里的字段全部导入该pod- prefix: 'MARIADB_'  ##将导入的字段名前面自动加上前缀,例如MARIADB_DATABASE, MARIADB_USERconfigMapRef:  ##定义哪个cmname: mycm

测试

kubectl exec -it testpod -- bashecho $MARIADB_USER

API资源对象Secret

secret和cm的结构和用法类似,secret对象细分出很多类,比如:

  • 访问私有镜像仓库的认证信息
  • 身份识别的凭证信息
  • HTTPS通信的证书和私钥
  • 一般的机密信息(格式由用户自行解释)

YAML示例:
vi  mysecret.yaml

apiVersion: v1
kind: Secret
metadata:name: mysecretdata:user: YW1pbmc=   ## echo -n "rocky_k8s"|base64passwd: bGludXgxMjM=  ## echo -n "linux123"|base64

查看

kubectl apply -f mysecret.yaml
kubectl get secret
kubectl describe secret mysecret

在其他pod中调用secret
vi testpod2.yaml

apiVersion: v1
kind: Pod
metadata:name: testpod2spec:containers:- image: busyboxname: busyimagePullPolicy: IfNotPresentcommand: ["/bin/sleep", "300"]env:- name: USERNAMEvalueFrom:secretKeyRef:name: mysecretkey: user- name: PASSWORDvalueFrom:secretKeyRef:name: mysecretkey: passwd
http://www.ds6.com.cn/news/110293.html

相关文章:

  • 常州辉煌网络网站建设百度官网认证多少钱一年
  • 公司做网站好吗网站seo文章该怎么写
  • 做网站需要自己研发吗天津seo选天津旗舰科技a
  • 网站开发最好用什么软件卖网站链接
  • 大连专业手机自适应网站建设维护站长工具爱站网
  • 深圳pc端网站开发谷歌chrome浏览器
  • eclipse怎么做网站宁波网站推广
  • 淘宝开店铺网站怎么做什么是关键词排名优化
  • 上门做网站公司哪家好世界羽联巡回赛总决赛
  • 怎么修改网站域名网络营销策划内容
  • 百度为什么不收录网站的某个版块做好的网站怎么优化
  • 唐山网站建设最好的做个网站需要多少钱
  • 泰安哪里可以做网站电脑速成班短期电脑培训班
  • 杭州大的做网站的公司搜索引擎优化排名关键字广告
  • 大型 网站的建设 阶段今日国际新闻最新消息十条
  • 做app动态界面的网站有哪些怎样在百度上做广告推广
  • 国内外政府网站建设借鉴友链交易平台
  • 如何使网站做的更好网址怎么申请注册
  • 可以做设计兼职的网站有哪些工作网络营销专业毕业论文
  • 有没有专门做中考卷子的网站b2b电子商务网
  • 日本一级做a在线播放免费视频网站韩国电视剧
  • 网站app生成器线上营销
  • 长沙市互联网加网站沙洋县seo优化排名价格
  • 制作网站低价seo什么职位
  • 什么网站可以找人做设计汽车营销策划方案ppt
  • 网站制作软件是什么济源新站seo关键词排名推广
  • 天津品牌网站建设哪个好seo网络推广教程
  • 自适应网站一般用什么框架做百度账号安全中心官网
  • 网站建设建设公司是干嘛的网络营销ppt讲解
  • 客户管理系统管理快速排名优化seo