Kubernetes学习(011~028)

本文详细介绍了Kubernetes中DaemonSet的应用,包括存储、日志和监控场景,并展示了如何管理和查看系统组件如kube-proxy。接着讲解了如何用Job运行一次性任务,处理Job失败情况以及并行执行。还探讨了Service的功能,如何通过Service访问Pod,以及Service IP管理和DNS访问。最后,讨论了外网访问Service的策略,包括NodePort和LoadBalancer类型,以及Rolling Update和Health Check的重要性。
摘要由CSDN通过智能技术生成

011、012、DaemonSet典型应用

DaemonSet在每个Node上最多只能运行一个副本。
应用场景:
在集群的每个节点上运行存储Daemon
在每个节点上运行日志收集Daemon
在每个节点上运行监控Daemon


其实k8s自己就在用DaemonSet运行系统组件。
DaemonSet kube-flannel-ds和kube-proxy分别负责在每个节点上运行flannel和kube-proxy组件。
kubectl get daemonset --namespace=kube-system
kubectl get pod --namespace=kube-system -o wide


kube-proxy的YAML无法拿到,可用命令查看其配置
kubect edit daemonset kube-proxy --namespace=kube-system


每个当前运行的资源都可以通过 kubectl edit 查看其配置和运行状态:
kubectl edit deployment nginx-deployment

kubectl apply -f node_exporter.yml
kubectl get pod -o wide
部署成功,k8s-node1和k8s-node2上分别运行了一个node exporter Pod。

014、用k8s运行一次性任务

工作类容器是一次性任务。
Deployment、ReplicaSet和DaemonSet都用于管理服务类容器。
对于工作类容器,用Job。


kubectl apply -f myjob.yml
kubectl get job
kubectl get pod
kubectl get pod --show-all # --show-all才能查看Completed状态的pod
kubectl logs myjob-nfkxk # 查看Pod的标准输出

015、Job失败了怎么办?

在myjob.yml中故意加入一个错误。
kubectl apply -f myjob.yml
kubectl get job # SUCCESSFUL为0
kubectl get pod --show-all # 有很多个Pod,状态为ContainerCannotRun
kubectl describe pod myjob-rbs1x # 查看某个Pod的启动日志࿰

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值