kubernetes 常用用法

Service

有了服务就可以对外集群外提供服务

示例

apiVersion: v1
kind: Service
metadata: 
  name: kubia
spec:
  type: NodePort
  ports:
    - port: 8080
      nodePort: 40000
  selector:
    app: kubia
kubectl describe svc        查看所有的服务的详情
kubectl describe svc myweb  仅查看 myweb 服务的详情
kubectl get svc             查看所有服务
kub get svc kubia -o yaml   查看服务 yaml 文件

 

Label 标签

各种资源都可以被label,   方便分类资源

添加 

kubectl label node 192.168.255.129 os=ubuntu

kubectl get no -L os
NAME              STATUS    ROLES     AGE       VERSION    OS
192.168.255.129   Ready     <none>    1d        v1.10.12   ubuntu
192.168.255.130   Ready     <none>    1d        v1.5.2   

删除 

kubectl label node 192.168.255.130 os-

修改

kubectl label no 192.168.255.129 os=unknown --overwrite

 

DaemonSet

简称 ds

会在每一个node上运行一个pod,通常干一些日志收集 和 资源监控的活。 具体运行啥pod,在 ds 的yaml里指定。

就算node被设定为不可调度的,也会运行一个pod。

可以使用 nodeSelector指定仅在特定的node上运行pod,具体如下

myds.yaml

apiVersion: apps/v1beta2
kind: DaemonSet
metadata:
  name: ssd-monitor
spec:
  selector:
    matchLabels:
      app: ssd-monitor
  template:
    metadata:
      labels:
        app: ssd-monitor
    spec:
      nodeSelector:
        disk: ssd
      containers:
      - name: main
        image: luksa/ssd-monitor

如上,ds 的pod 仅会在   标记有 disk=ssd 上的node  部署。

kubectl label node 192.168.255.129 disk=ssd 可以给node 添加这个label

kubectl create -f myds.yaml
daemonset.apps "ssd-monitor" created
kub get ds
NAME          DESIRED   CURRENT   READY     UP-TO-DATE   AVAILABLE   NODE SELECTOR   AGE
ssd-monitor   1         1         1         1            1           disk=ssd        5m
kub delete ds ssd-monitor // 删除比较耗时,耐心等待
daemonset.extensions "ssd-monitor" deleted

 

Job

负责批量处理短暂的一次性任务 (short lived one-off tasks),即仅执行一次的任务。

Job执行完成后就不会再执行了,如果运行中job自己失败了,可以被配置成是否重启。

job执行过程中node挂了,会被调度到其它的node重新执行。

如果你需要转移或导出一些数据,而这个操作比较耗时,你可以借助 job 来完成。

示例

 

apiVersion: batch/v1
kind: Job
metadata:
  name: batch-job
spec:
  template:
    metadata:
      labels:
        app: batch-job
    spec:
      restartPolicy: OnFailure
      containers:
      - name: main
        image: luksa/batch-job

启动后过一会儿查看运行结果

~/kubernetes/kubernetes-in-action/Chapter04 $ kub get job
NAME        DESIRED   SUCCESSFUL   AGE
batch-job   1         1            2m
~/kubernetes/kubernetes-in-action/Chapter04 $ kub get po
NAME              READY     STATUS      RESTARTS   AGE
batch-job-6xrr7   0/1       Completed   0          2m
mysql-9wwzt       1/1       Running     0          23h
myweb-99lfw       1/1       Running     0          23h

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值