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

云南网站建百度seo排名点击软件

云南网站建,百度seo排名点击软件,wordpress 安卓适配,做h动漫的动漫视频在线观看网站控制器与案例详解 资源文件模板控制器DeploymentDeploy 图例资源对象案例 DaemonSetDS图例资源对象案例 Job/CronJobJob图例资源对象案例CJ图例资源对象案例 StatefulSetSTS图例资源对象案例 HorizontalPodAutoscalingHPA图例资源对象案例 资源文件模板 # Pod 模板 [rootmaste…

控制器与案例详解

    • 资源文件模板
    • 控制器
      • Deployment
        • Deploy 图例
        • 资源对象案例
      • DaemonSet
        • DS图例
        • 资源对象案例
      • Job/CronJob
        • Job图例
        • 资源对象案例
        • CJ图例
        • 资源对象案例
      • StatefulSet
        • STS图例
        • 资源对象案例
      • HorizontalPodAutoscaling
        • HPA图例
        • 资源对象案例

资源文件模板

# Pod 模板
[root@master ~]# kubectl run mypod --image=myos:httpd --dry-run=client -o yaml
apiVersion: v1
kind: Pod
metadata:creationTimestamp: nulllabels:run: mypodname: mypod
spec:containers:- image: myos:httpdname: mypodresources: {}dnsPolicy: ClusterFirstrestartPolicy: Always
status: {}# Deployment 模板
[root@master ~]# kubectl create deployment myweb --image=myos:httpd --dry-run=client -o yaml
apiVersion: apps/v1
kind: Deployment
metadata:creationTimestamp: nulllabels:app: mywebname: myweb
spec:replicas: 1selector:matchLabels:app: mywebstrategy: {}template:metadata:creationTimestamp: nulllabels:app: mywebspec:containers:- image: myos:httpdname: myosresources: {}
status: {}# 以下资源对象都可以用模板生成
[root@master ~]# kubectl create <tab><tab>
clusterrole             deployment           poddisruptionbudget        rolebinding
clusterrolebinding      ingress              priorityclass              secret
configmap               job                  quota                      service
cronjob                 namespace            role                       serviceaccount# 查看帮助信息
[root@master ~]# kubectl explain pod.spec.restartPolicy
KIND:     Pod
VERSION:  v1FIELD:    restartPolicy <string>DESCRIPTION:Restart policy for all containers within the pod. One of Always, OnFailure, Never. Default to Always. More info:https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#restart-policy

控制器

Deployment

Deploy 图例
Deployment
ReplicaSet
Pod
Pod
Pod
资源对象案例
[root@master ~]# vim mydeploy.yaml
---
kind: Deployment
apiVersion: apps/v1
metadata:name: myweb
spec:replicas: 2selector:matchLabels:app: myhttptemplate:metadata:labels:app: myhttpspec:restartPolicy: Alwayscontainers:- name: apacheimage: myos:httpdports:- name:protocol: TCPcontainerPort: 80[root@master ~]# kubectl apply -f mydeploy.yaml 
deployment.apps/myweb created
[root@master ~]# kubectl get deployments.apps 
NAME    READY   UP-TO-DATE   AVAILABLE   AGE
myweb   2/2     2            2           68s
[root@master ~]# kubectl get replicasets.apps 
NAME               DESIRED   CURRENT   READY   AGE
myweb-64b544dcbc   2         2         2       73s
[root@master ~]# kubectl get pods
NAME                     READY   STATUS    RESTARTS   AGE
myweb-64b544dcbc-5mhqn   1/1     Running   0          76s
myweb-64b544dcbc-nt6tz   1/1     Running   0          76s# 创建服务访问集群
[root@master ~]# vim websvc.yaml
---
kind: Service
apiVersion: v1
metadata:name: websvc
spec:type: ClusterIPclusterIP: 10.245.1.80selector:app: myhttpports:- protocol: TCPport: 80targetPort: 80[root@master ~]# kubectl apply -f websvc.yaml 
service/websvc created
[root@master ~]# curl -m 3 http://10.245.1.80
Welcome to The Apache.# 自维护自治理
[root@master ~]# kubectl get pods
NAME                     READY   STATUS    RESTARTS   AGE
myweb-64b544dcbc-5mhqn   1/1     Running   0          4m16s
myweb-64b544dcbc-nt6tz   1/1     Running   0          4m16s# Pod 被删除后,Deploy 会自动创建新的 Pod 来维护集群的完整性
[root@master ~]# kubectl delete pod myweb-64b544dcbc-5mhqn 
pod "myweb-64b544dcbc-5mhqn" deleted
[root@master ~]# kubectl get pods
NAME                     READY   STATUS    RESTARTS   AGE
myweb-64b544dcbc-g8l9p   1/1     Running   0          3s
myweb-64b544dcbc-nt6tz   1/1     Running   0          4m25s# 动态更新集群副本数量
[root@master ~]# kubectl scale deployment myweb --replicas=1
deployment.apps/myweb scaled
[root@master ~]# kubectl get pods
NAME                     READY   STATUS    RESTARTS   AGE
myweb-64b544dcbc-nt6tz   1/1     Running   0          5m46s
[root@master ~]# kubectl scale deployment myweb --replicas=3
deployment.apps/myweb scaled
[root@master ~]# kubectl get pods
NAME                     READY   STATUS    RESTARTS   AGE
myweb-64b544dcbc-5sf5z   1/1     Running   0          3s
myweb-64b544dcbc-6r6dw   1/1     Running   0          3s
myweb-64b544dcbc-nt6tz   1/1     Running   0          5m56s

历史版本、滚动更新

# 添加注释信息
[root@master ~]# kubectl annotate deployments.apps myweb kubernetes.io/change-cause="httpd.v1"
deployment.apps/myweb annotated# 修改镜像,滚动更新集群
[root@master ~]# curl -m 3 http://10.245.1.80
Welcome to The Apache.
[root@master ~]# sed -r 's,(image: ).*,\1myos:nginx,' mydeploy.yaml |kubectl apply -f -
deployment.apps/myweb configured
# 更新注释信息
[root@master ~]# kubectl annotate deployments.apps myweb kubernetes.io/change-cause="nginx.v1"
deployment.apps/myweb annotated
[root@master ~]# kubectl get replicasets.apps 
NAME               DESIRED   CURRENT   READY   AGE
myweb-5bfdc888d7   2         2         2       3m46s
myweb-64b544dcbc   0         0         0       12m
[root@master ~]# curl -m 3 http://10.245.1.80
Nginx is running !# 历史版本与回滚
[root@master ~]# kubectl rollout history deployment myweb 
deployment.apps/myweb 
REVISION  CHANGE-CAUSE
1         httpd.v1
2         nginx.v1[root@master ~]# kubectl rollout undo deployment myweb --to-revision=1
deployment.apps/myweb rolled back
[root@master ~]# kubectl rollout history deployment myweb 
deployment.apps/myweb 
REVISION  CHANGE-CAUSE
2         nginx.v1
3         httpd.v1
[root@master ~]# curl -m 3 http://10.245.1.80
Welcome to The Apache.# 删除控制器方法1
[root@master ~]# kubectl delete deployments.apps myweb 
deployment.apps "myweb" deleted
# 删除控制器方法2
[root@master ~]# kubectl delete -f mydeploy.yaml
deployment.apps "myweb" deleted

DaemonSet

DS图例
node
Pod
node
Pod
node
Pod
DaemonSet
资源对象案例
[root@master ~]# vim myds.yaml
---
kind: DaemonSet
apiVersion: apps/v1
metadata:name: myds
spec:selector:matchLabels:app: myhttptemplate:metadata:labels:app: myhttpspec:restartPolicy: Alwayscontainers:- name: apacheimage: myos:httpdports:- name:protocol: TCPcontainerPort: 80[root@master ~]# kubectl apply -f myds.yaml 
daemonset.apps/myds created
[root@master ~]# kubectl get pods -o wide
NAME         READY   STATUS    RESTARTS   AGE   IP            NODE
myds-4wt72   1/1     Running   0          31s   10.244.3.14   node-0003
myds-lwq8l   1/1     Running   0          31s   10.244.2.17   node-0002
myds-msrcx   1/1     Running   0          31s   10.244.1.11   node-0001# 删除DS控制器
[root@master ~]# kubectl delete -f myds.yaml 
daemonset.apps "myds" deleted

Job/CronJob

Job图例
Job
Pod
资源对象案例
[root@master ~]# vim myjob.yaml 
---
kind: Job
apiVersion: batch/v1
metadata:name: myjob
spec:template:spec:restartPolicy: OnFailurecontainers:- name: myjobimage: myos:latestcommand: ["/bin/sleep", "30"][root@master ~]# kubectl apply -f myjob.yaml 
job.batch/myjob created
[root@master ~]# kubectl get jobs.batch 
NAME    COMPLETIONS   DURATION   AGE
myjob   0/1           3s         3s
[root@master ~]# kubectl get pods -l job-name=myjob
NAME             READY   STATUS    RESTARTS   AGE
myjob--1-kz8mk   1/1     Running   0          6s
[root@master ~]# sleep 30
[root@master ~]# kubectl get pods -l job-name=myjob
NAME             READY   STATUS      RESTARTS   AGE
myjob--1-kz8mk   0/1     Completed   0          58s
[root@master ~]# kubectl get jobs.batch 
NAME    COMPLETIONS   DURATION   AGE
myjob   1/1           31s        64s# 删除Job控制器
[root@master ~]# kubectl delete -f myjob.yaml 
job.batch "myjob" deleted
CJ图例
Job
Pod
Job
Pod
Job
Pod
CronJob
资源对象案例
[root@master ~]# vim mycj.yaml
---
kind: CronJob
apiVersion: batch/v1
metadata:name: mycronjob
spec:schedule: "*/1 * * * 1-5"jobTemplate:spec:template:spec:restartPolicy: OnFailurecontainers:- name: myjobimage: myos:latestcommand: ["/bin/sleep", "30"][root@master ~]# kubectl apply -f mycj.yaml 
cronjob.batch/mycronjob created
[root@master ~]# kubectl get cronjobs.batch 
NAME        SCHEDULE        SUSPEND   ACTIVE   LAST SCHEDULE   AGE
mycronjob   */1 * * * 1-5   False     0        <none>          4s
[root@master ~]# kubectl get jobs.batch 
No resources found in default namespace.
[root@master ~]# kubectl get pods
No resources found in default namespace.
[root@master ~]# sleep 60
[root@master ~]# kubectl get jobs.batch 
NAME                 COMPLETIONS   DURATION   AGE
mycronjob-27605367   0/1           0s         0s
[root@master ~]# kubectl get pods
NAME                          READY   STATUS    RESTARTS   AGE
mycronjob-27605367--1-ps6r8   1/1     Running   0          3s
[root@master ~]# kubectl get jobs.batch 
NAME                 COMPLETIONS   DURATION   AGE
mycronjob-27605367   0/1           12s        12s
[root@master ~]# sleep 200# 保留三次结果,多余的会被删除
[root@master ~]# kubectl get jobs.batch 
NAME                 COMPLETIONS   DURATION   AGE
mycronjob-27605367   1/1           31s        3m30s
mycronjob-27605368   1/1           31s        2m30s
mycronjob-27605369   1/1           31s        90s
mycronjob-27605370   0/1           30s        30s
[root@master ~]# kubectl get jobs.batch 
NAME                 COMPLETIONS   DURATION   AGE
mycronjob-27605368   1/1           31s        2m33s
mycronjob-27605369   1/1           31s        93s
mycronjob-27605370   1/1           31s        33s# 删除CJ控制器
[root@master ~]# kubectl delete -f mycj.yaml 
cronjob.batch "mycronjob" deleted

StatefulSet

STS图例
StatusfulSet
Pod
Pod
Pod
headless
资源对象案例
# 配置headless服务
[root@master ~]# vim mysvc.yaml 
---
kind: Service
apiVersion: v1
metadata:name: mysvc
spec:type: ClusterIPclusterIP: Noneselector:app: myhttpports:- protocol: TCPport: 80targetPort: 80[root@master ~]# kubectl apply -f mysvc.yaml 
service/mysvc created
[root@master ~]# kubectl get service
NAME         TYPE        CLUSTER-IP    EXTERNAL-IP   PORT(S)   AGE
mysvc        ClusterIP   None          <none>        80/TCP    61s# 创建statefulset控制器
[root@master ~]# vim mysts.yaml
---
kind: StatefulSet
apiVersion: apps/v1
metadata:name: mysts
spec:serviceName: "mysvc"selector:matchExpressions:- key: appoperator: Invalues:- myhttpreplicas: 3template:metadata:labels:app: myhttpspec:restartPolicy: Alwayscontainers:- name: apacheimage: myos:httpdimagePullPolicy: Alwaysports:- protocol: TCPcontainerPort: 80[root@master ~]# kubectl apply -f mysts.yaml 
statefulset.apps/mysts created
[root@master ~]# kubectl get pods
NAME      READY   STATUS    RESTARTS   AGE
mysts-0   1/1     Running   0          4s
mysts-1   1/1     Running   0          3s
mysts-2   1/1     Running   0          2s[root@master ~]# host mysts-0.mysvc.default.svc.cluster.local 10.245.0.10
Using domain server:
Name: 10.245.0.10
Address: 10.245.0.10#53
Aliases: mysts-0.mysvc.default.svc.cluster.local has address 10.244.3.81
[root@master ~]# host mysvc.default.svc.cluster.local 10.245.0.10
Using domain server:
Name: 10.245.0.10
Address: 10.245.0.10#53
Aliases: mysvc.default.svc.cluster.local has address 10.244.2.10
mysvc.default.svc.cluster.local has address 10.244.1.12
mysvc.default.svc.cluster.local has address 10.244.3.11[root@master ~]# curl -m 3 http://10.244.2.10/info.php
<pre>
Array
([REMOTE_ADDR] => 10.244.0.0[REQUEST_METHOD] => GET[HTTP_USER_AGENT] => curl/7.29.0[REQUEST_URI] => /info.php
)
php_host:       mysts-2
1229# 删除sts控制器
[root@master ~]# kubectl delete -f mysts.yaml -f mysvc.yaml 
statefulset.apps "mysts" deleted
service "mysvc" deleted

HorizontalPodAutoscaling

HPA图例
Pod cluster
Pod
Pod
Pod
ReplicaSet
HorizontalPodAutoscaler
Deployment
资源对象案例
# 为 Deploy 模板添加资源配额
[root@master ~]# vim mydeploy.yaml 
---
kind: Deployment
apiVersion: apps/v1
metadata:name: myweb
spec:replicas: 1selector:matchLabels:app: myhttptemplate:metadata:labels:app: myhttpspec:restartPolicy: Alwayscontainers:- name: apacheimage: myos:httpdports:- name:protocol: TCPcontainerPort: 80resources:requests:cpu: "200m"---
kind: Service
apiVersion: v1
metadata:name: websvc
spec:type: ClusterIPclusterIP: 10.245.1.80selector:app: myhttpports:- protocol: TCPport: 80targetPort: 80# 使用 Deploy 和 Cluster IP 创建集群
[root@master ~]# kubectl apply -f mydeploy.yaml
deployment.apps/myweb created
service/websvc created
[root@master ~]# kubectl get pods
NAME                     READY   STATUS    RESTARTS   AGE
myweb-5946bb4c68-c8tm2   1/1     Running   0          2m43s
[root@master ~]# curl -s http://10.245.1.80
Welcome to The Apache.# 创建 HPA 控制器
[root@master ~]# vim myhpa.yaml 
---
kind: HorizontalPodAutoscaler
apiVersion: autoscaling/v1
metadata:name: myweb
spec:minReplicas: 1maxReplicas: 3scaleTargetRef:kind: DeploymentapiVersion: apps/v1name: mywebtargetCPUUtilizationPercentage: 50[root@master ~]# kubectl apply -f myhpa.yaml 
horizontalpodautoscaler.autoscaling/myweb created# 刚刚创建 unknown 是正常现象,最多等待 300s 就可以正常获取数据
[root@master ~]# kubectl get horizontalpodautoscalers.autoscaling 
NAME    REFERENCE          TARGETS         MINPODS   MAXPODS   REPLICAS   AGE
myweb   Deployment/myweb   <unknown>/50%   1         3         0          4s[root@master ~]# kubectl get horizontalpodautoscalers.autoscaling 
NAME    REFERENCE          TARGETS         MINPODS   MAXPODS   REPLICAS   AGE
myweb   Deployment/myweb   0%/50%          1         3         1          71s

扩容测试

# 终端 1 访问提高负载
[root@master ~]# while true;docurl -s "http://10.245.1.80/info.php?id=50000"sleep 1
done
# 终端 2 监控 HPA 变化
[root@master ~]# kubectl get hpa -w
NAME    REFERENCE          TARGETS   MINPODS   MAXPODS   REPLICAS   AGE
myweb   Deployment/myweb   0%/50%    1         3         1          8m21s
myweb   Deployment/myweb   49%/50%   1         3         1          9m
myweb   Deployment/myweb   56%/50%   1         3         1          9m15s
myweb   Deployment/myweb   56%/50%   1         3         2          9m30s
myweb   Deployment/myweb   37%/50%   1         3         2          9m45s
myweb   Deployment/myweb   32%/50%   1         3         2          10m
myweb   Deployment/myweb   41%/50%   1         3         2          11m
myweb   Deployment/myweb   48%/50%   1         3         2          11m
myweb   Deployment/myweb   51%/50%   1         3         2          11m
myweb   Deployment/myweb   59%/50%   1         3         2          11m
myweb   Deployment/myweb   58%/50%   1         3         3          12m
myweb   Deployment/myweb   42%/50%   1         3         3          12m
myweb   Deployment/myweb   34%/50%   1         3         3          12m# 如果 300s 内平均负载小于标准值,就会自动缩减集群规模
[root@master ~]# kubectl get hpa -w
NAME    REFERENCE          TARGETS   MINPODS   MAXPODS   REPLICAS   AGE
myweb   Deployment/myweb   38%/50%   1         3         3          19m
myweb   Deployment/myweb   21%/50%   1         3         3          20m
myweb   Deployment/myweb   17%/50%   1         3         3          21m
myweb   Deployment/myweb    7%/50%   1         3         3          22m
myweb   Deployment/myweb    0%/50%   1         3         3          23m
myweb   Deployment/myweb    0%/50%   1         3         2          25m
myweb   Deployment/myweb    0%/50%   1         3         1          28m
[root@master ~]# kubectl get horizontalpodautoscalers.autoscaling 
NAME    REFERENCE          TARGETS   MINPODS   MAXPODS   REPLICAS   AGE
myweb   Deployment/myweb   0%/50%    1         3         1          5m41s
[root@master ~]# kubectl get pods
NAME                       READY     STATUS    RESTARTS  AGE
myweb-5946bb4c68-f9tw9     1/1       Running   0         6m40s
http://www.dtcms.com/wzjs/60854.html

相关文章:

  • 安徽省建设工程造价信息网站太原seo优化
  • 小米商城wordpress旺道seo优化
  • php网站 关键技术海外营销公司
  • 怎么做电影网站app什么是seo搜索引擎优化
  • 网站设计美工排版编辑宁波关键词优化排名工具
  • 怎么用 java做网站自动点击器app
  • 做企业展示网站需要多少钱自己如何免费做网站
  • 去哪个网站做兼职网络推广靠谱吗
  • 惠州有哪些做网站的公司网站建设规划要点详解
  • 室内设计图网站有哪些口碑营销的产品
  • 企业建设网站应该一般多少钱网站收录服务
  • 房地产最新政策seo网络推广专员
  • 广州外贸营销型网站建设公司网络热词缩写
  • 大学生电子商务专业网站设计百度导航
  • 射阳住房和城乡建设局网站网站排名查询软件
  • 网站主页不收录百度推广官方网站登录入口
  • 苏州网络营销网站建设平台315影视行业
  • wordpress 数据表插件站长工具seo排名
  • 软件开发平台软件河南整站百度快照优化
  • 网页设计色彩搭配seo服务收费
  • 盘锦做网站哪家好站内推广方式有哪些
  • 全国网站建设公司实力排名网络营销章节测试答案
  • 全媒体运营师证报名入口厦门seo推广优化
  • 求网站资源懂的2021百度平台客服电话
  • 网络公司怎么做网站网站制作免费
  • 企业管理系统大全免费seo排名优化怎么样
  • 建设部网站申请表无法打印如何快速推广app
  • ftp如何转换wordpresswindows优化大师卸载不掉
  • 网站建设国际深圳国内新闻热点事件
  • 做农产品交易网站青岛模板建站