博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
K8s-yaml的使用及命令
阅读量:7308 次
发布时间:2019-06-30

本文共 3551 字,大约阅读时间需要 11 分钟。

 

YAML配置文件管理对象对象管理:# 创建deployment资源kubectl create -f nginx-deployment.yaml# 查看deploymentkubectl get deploy# 查看ReplicaSetkubectl get rs# 查看pods所有标签kubectl get pods --show-labels# 根据标签查看podskubectl get pods -l app=nginx# 滚动更新镜像kubectl set image deployment/nginx-deployment nginx=nginx:1.11或者kubectl edit deployment/nginx-deployment或者kubectl apply -f nginx-deployment.yaml# 实时观察发布状态:kubectl rollout status deployment/nginx-deployment# 查看deployment历史修订版本kubectl rollout history deployment/nginx-deploymentkubectl rollout history deployment/nginx-deployment --revision=3# 回滚到以前版本kubectl rollout undo deployment/nginx-deploymentkubectl rollout undo deployment/nginx-deployment --to-revision=3# 扩容deployment的Pod副本数量kubectl scale deployment nginx-deployment --replicas=10# 设置启动扩容/缩容kubectl autoscale deployment nginx-deployment --min=10 --max=15 --cpu-percent=80

 

 

 

 对象管理实例:vim nginx.deployment.yaml

apiVersion: apps/v1beta2kind: Deploymentmetadata:  name: nginx-deploymentspec:  replicas: 3  selector:    matchLabels:      app: nginx  template:    metadata:      labels:        app: nginx    spec:      containers:      - name: nginx        image: nginx:1.10        ports:        - containerPort: 80
View Code

 

 

服务发现实例:vim nging.service.yaml

apiVersion: v1kind: Servicemetadata:  labels:    run: nginx  name: nginx  namespace: defaultspec:  ports:  - port: 88    targetPort: 80  selector:    app: nginx
View Code

清理:

# kubectl delete -f nginx-deployment.yaml

# kubectl delete -f nginx-service.yaml

 POD作用:

     Pod状态  创建/查询/更新/删除  重启策略  健康检查  数据持久化和共享  hostPort  问题定位

 

Pod管理-创建/查询/更新/删除基本管理:# 创建pod资源kubectl create -f pod.yaml# 查看podskubectl get pods pod-test# 查看pod描述kubectl describe pod pod-test# 替换资源kubectl replace -f pod.yaml -force# 删除资源kubectl delete pod pod-test

 

 

支持三种策略:

Always:当容器终止退出后,总是重启容器,默认策略。

OnFailure:当容器异常退出(退出状态码非0)时,才重启容器。

Never:当容器终止退出,从不重启容器。

Pod实例:vim pod.yaml

apiVersion: v1kind: Podmetadata:  name: pod-test  labels:     os: centosspec:  containers:  - name: hello    image: centos:7    env:    - name: Test      value: "123456"    command: ["bash","-c","while true;do date;sleep 1;done"]  restartPolicy: OnFailure
View Code

 

Pod管理-健康检查:

提供Probe机制,有以下两种类型:livenessProbe如果检查失败,将杀死容器,然后根据Pod的重启策略来决定是否重启。readinessProbe如果检查失败,Kubernetes会把Pod从服务代理的分发后端剔除。Probe支持以下三种检查方法:httpGet发送HTTP请求,返回200-400范围状态码为成功。exec执行Shell命令返回状态码是0为成功。tcpSocket发起TCP Socket建立成功。

实例:vim pod2.yaml

apiVersion: v1kind: Podmetadata:  name: nginx-pod  labels:    app: nginxspec:  containers:  - name: nginx    image: nginx:1.10    ports:    - containerPort: 80    livenessProbe:      httpGet:        path: /index.html        port: 80
View Code

 

Pod管理-数据持久化和共享:

vim pod3.yaml

apiVersion: v1kind: Podmetadata:  name: pod-test1  labels:     test: centosspec:  containers:  # 第一个容器  - name: hello-write    image: centos:7    command: ["bash","-c","for i in {1..1000};do echo $i >> /data/hello;sleep 1;done"]  # 第二个容器  - name: hello-read    image: centos:7    command: ["bash","-c","for i in {1..1000};do cat $i >> /data/hello;sleep 1;done"]    volumeMounts:      - name: data        mountPath: /data  # 数据卷  volumes:  - name: data    hostPath:      path: /data
View Code

 

Pod端口映射:

vim pod4.yaml

apiVersion: v1kind: Podmetadata:  name: nginx-pod  labels:    app: nginxspec:  containers:  - name: nginx    image: nginx:1.10    ports:    - name: http      containerPort: 80      hostIP: 0.0.0.0      hostPort: 80      protocol: TCP   - name: https     containerPort: 443     hostIP: 0.0.0.0     hostPort: 443     protocol: TCP

 

转载于:https://www.cnblogs.com/fuyuteng/p/9460534.html

你可能感兴趣的文章
掌握这些小技巧,让你的电脑一点都不卡,速度超级快
查看>>
周鸿在360新员工入职培训上的讲话
查看>>
说说美国的数据中心
查看>>
1、安装、配置、连接Openfiler
查看>>
mysql水平拆分与垂直拆分的详细介绍
查看>>
Spring Cloud Alibaba迁移指南2:一行代码从Hystrix迁移到Sentinel
查看>>
飘逸的 CSS3 导航菜单
查看>>
基于dubbo框架下的RPC通讯协议性能测试
查看>>
度量快速开发平台ExportToExcel使用介绍
查看>>
QTP学习笔记----2013.05.02
查看>>
老男孩最近几年常用的免费的开源软件
查看>>
Zab Paxos raft
查看>>
第一个Win32程序
查看>>
mysql清空缓存flush
查看>>
MongoModel
查看>>
C#:使用快捷菜单(ContextMenuStrip)删除DataGridView控件指定行
查看>>
shc程序的原理--以实例分析
查看>>
phantomjs实现免费在线网页截图工具-toolfk程序员在线工具网
查看>>
spring jdbcTemplate多数据源简单实用
查看>>
JMS
查看>>