
k8s容器
文章平均质量分 51
k8s容器
疯子@123
疯子
展开
-
k8s网络通信原理
https://blog.youkuaiyun.com/qq_41688840/article/details/108708415要了解和分析Pod中的container容器网络,那么首先肯定是要了解docker容器网络的几种模式以及常见用法。之后我们再带着这个问题一步一步地去进行实操验证一下我们的推断是否正确。1.docker容器网络模式1.1 默认bridge桥接网络默认分配docker0网桥网段上的ip给容器, 每个容器的network namespace都是相互隔离的。docker自身生成一个veth转载 2022-03-31 20:42:23 · 742 阅读 · 0 评论 -
部署jenkins
jenkins官网https://www.jenkins.io/download/原创 2021-05-02 22:50:49 · 98 阅读 · 0 评论 -
Docker的网络模型
NAT(默认) 90%使用这种方式Nonedocker 不需要对外提供网络服务,不用对外提供网络接口Host联合网络*原创 2021-05-02 21:51:17 · 97 阅读 · 0 评论 -
kubectl 常用命令总结
https://www.cnblogs.com/klvchen/p/9585746.html查看所有 pod 列表, -n 后跟 namespace, 查看指定的命名空间kubectl get podkubectl get pod -n kubekubectl get pod -o wide查看 RC 和 service 列表, -o wide 查看详细信息kubectl get rc,svckubectl get pod,svc -o widekubectl get pod -o y转载 2021-01-20 15:21:53 · 2780 阅读 · 0 评论 -
tcpdump来进行网络抓包操作
原创 2020-12-18 14:43:13 · 185 阅读 · 0 评论 -
Kubernetes安装配置指南-系统要求
原创 2020-12-11 10:19:19 · 2281 阅读 · 0 评论 -
Kubernetes 调度器 - 固定节点
指定调度节点Ⅰ、Pod.spec.nodeName 将 Pod 直接调度到指定的 Node 节点上,会跳过 Scheduler 的调度策略,该匹配规则是强制匹配apiVersion: extensions/v1beta1kind: Deploymentmetadata: name: mywebspec: replicas: 7 template: metadata: labels: app: myweb spec: nodeNam原创 2020-09-25 16:14:56 · 1294 阅读 · 0 评论 -
Kubernetes 调度器 - 污点
Taint 和 Toleration节点亲和性,是 pod 的一种属性(偏好或硬性要求),它使 pod 被吸引到一类特定的节点。Taint 则相反,它使 节点 能够 排斥 一类特定的 podTaint 和 toleration 相互配合,可以用来避免 pod 被分配到不合适的节点上。每个节点上都可以应用一个或多个 taint ,这表示对于那些不能容忍这些 taint 的 pod,是不会被该节点接受的。如果将 toleration 应用于 pod 上,则表示这些 pod 可以(但不要求)被调度到具有匹配原创 2020-09-25 16:13:08 · 1022 阅读 · 0 评论 -
Kubernetes 调度器 - 调度亲和性
节点亲和性pod.spec.nodeAffinitypreferredDuringSchedulingIgnoredDuringExecution:软策略requiredDuringSchedulingIgnoredDuringExecution:硬策略requiredDuringSchedulingIgnoredDuringExecutionapiVersion: v1kind: Podmetadata: name: affinity labels: app: node-原创 2020-09-25 16:12:08 · 132 阅读 · 0 评论 -
Kubernetes_调度器
Scheduler是kubernetes的调度器,主要任务是把定义的pod分配到集群的节点上。原创 2020-09-25 16:08:46 · 120 阅读 · 0 评论 -
Kubernetes - Persistent Volume
概念PersistentVolume(PV)是由管理员设置的存储,它是群集的一部分。就像节点是集群中的资源一样,PV 也是集群中的资源。 PV 是 Volume 之类的卷插件,但具有独立于使用 PV 的 Pod 的生命周期。此 API 对象包含存储实现的细节,即 NFS、iSCSI 或特定于云供应商的存储系统PersistentVolumeClaim(PVC)是用户存储的请求。它与 Pod 相似。Pod 消耗节点资源,PVC 消耗 PV 资源。Pod 可以请求特定级别的资源(CPU 和内存)。声明可原创 2020-09-25 10:46:23 · 1467 阅读 · 1 评论 -
Kubernetes - volume
容器磁盘上的文件的生命周期是短暂的,这就使得在容器中运行重要应用时会出现一些问题。首先,当容器崩溃时,kubelet 会重启它,但是容器中的文件将丢失——容器以干净的状态(镜像最初的状态)重新启动。其次,在 Pod 中同时运行多个容器时,这些容器之间通常需要共享文件。Kubernetes 中的 Volume 抽象就很好的解决了这些问题背景Kubernetes 中的卷有明确的寿命 —— 与封装它的 Pod 相同。所f以,卷的生命比 Pod 中的所有容器都长,当这个容器重启时数据仍然得以保存。当然,当 Po原创 2020-09-25 10:43:18 · 1259 阅读 · 0 评论 -
Kubernetes - Secret
Secret 存在意义Secret 解决了密码、token、密钥等敏感数据的配置问题,而不需要把这些敏感数据暴露到镜像或者 Pod Spec 中。Secret 可以以 Volume 或者环境变量的方式使用Secret 有三种类型:Service Account :用来访问 Kubernetes API,由 Kubernetes 自动创建,并且会自动挂载到 Pod 的 /run/secrets/kubernetes.io/serviceaccount 目录中Opaque :base64编码格式的Se原创 2020-09-25 10:39:31 · 534 阅读 · 0 评论 -
Kubernetes - configMap
configMap 描述信息ConfigMap 功能在 Kubernetes1.2 版本中引入,许多应用程序会从配置文件、命令行参数或环境变量中读取配置信息。ConfigMap API 给我们提供了向容器中注入配置信息的机制,ConfigMap 可以被用来保存单个属性,也可以用来保存整个配置文件或者 JSON 二进制大对象ConfigMap 的创建Ⅰ、使用目录创建$ ls docs/user-guide/configmap/kubectl/game.propertiesui.properties原创 2020-09-25 10:33:31 · 3517 阅读 · 0 评论 -
Kubernetes-存储
configMap 作用专门存储配置文件的目的Secret 存储加密的信息,比如密钥,用户名和密码的信息volume提供共享存储卷的能力Persistent Volume PVpv 持久卷原创 2020-09-25 10:31:26 · 102 阅读 · 0 评论 -
Kubernetes Ingress
typora-root-url: Png资料信息**Ingress-Nginx github 地址:**https://github.com/kubernetes/ingress-nginx**Ingress-Nginx 官方网站:**https://kubernetes.github.io/ingress-nginx/部署 Ingress-Nginxkubectl apply -f mandatory.yamlkubectl apply -f service-nodeport.yam.原创 2020-09-22 17:33:19 · 5163 阅读 · 0 评论 -
Kubernetes_Service
Service能够提供负载均衡的能力,但是在使用上有以下限制:只提供4层负载均衡能力,而没有7层功能,但有时我们可能需要更多的匹配规则来转发请求,这点上4层负载均衡是不支持的。4层也就是说只能通过ip+端口的方式来访问,7层就是说通过域名来访问vip和Service代理不使用round-robin DNS的原因是因为会有缓存,不会清除缓存ClusterIPNodePort端口LoadBalancer LAAS是负载均衡及服务是收费服务(是根据流量来收费的,比较贵).原创 2020-09-22 17:04:13 · 120 阅读 · 0 评论 -
Kubernetes Service
typora-root-url: PngService 的概念Kubernetes Service 定义了这样一种抽象:一个 Pod 的逻辑分组,一种可以访问它们的策略 —— 通常称为微服务。 这一组 Pod 能够被 Service 访问到,通常是通过 Label SelectorService能够提供负载均衡的能力,但是在使用上有以下限制:只提供 4 层负载均衡能力,而没有 7 层功能,但有时我们可能需要更多的匹配规则来转发请求,这点上 4 层负载均衡是不支持的Service 的类型S.原创 2020-09-22 17:00:38 · 169 阅读 · 0 评论 -
Kubernetes JobCronJob 控制器
JobJob 负责批处理任务,即仅执行一次的任务,它保证批处理任务的一个或多个 Pod 成功结束特殊说明spec.template格式同PodRestartPolicy仅支持Never或OnFailure单个Pod时,默认Pod成功运行后Job即结束.spec.completions标志Job结束需要成功运行的Pod个数,默认为1.spec.parallelism标志并行运行的Pod的个数,默认为1spec.activeDeadlineSeconds标志失败Pod的重试最大时间,超过这个时原创 2020-09-21 11:04:32 · 4583 阅读 · 0 评论 -
Kubernetes DaemonSet 控制器
什么是 DaemonSetDaemonSet 确保全部(或者一些)Node 上运行一个 Pod 的副本。当有 Node 加入集群时,也会为他们新增一个 Pod 。当有 Node 从集群移除时,这些 Pod 也会被回收。删除 DaemonSet 将会删除它创建的所有 Pod使用 DaemonSet 的一些典型用法:运行集群存储 daemon,例如在每个 Node 上运行 glusterd、ceph在每个 Node 上运行日志收集 daemon,例如fluentd、logstash在每个 Node原创 2020-09-21 11:03:10 · 1178 阅读 · 0 评论 -
Kubernetes Deployment 控制器
typora-root-url: PngRS 与 RC 与 Deployment 关联RC (ReplicationController )主要的作用就是用来确保容器应用的副本数始终保持在用户定义的副本数 。即如果有容器异常退出,会自动创建新的Pod来替代;而如果异常多出来的容器也会自动回收Kubernetes 官方建议使用 RS(ReplicaSet ) 替代 RC (ReplicationController ) 进行部署,RS 跟 RC 没有本质的不同,只是名字不一样,并且 RS 支持集合式的.原创 2020-09-21 11:01:32 · 214 阅读 · 0 评论 -
Kubernetes Pod 控制器
什么是控制器Kubernetes 中内建了很多 controller(控制器),这些相当于一个状态机,用来控制 Pod 的具体状态和行为控制器类型ReplicationController 和 ReplicaSetDeploymentDaemonSetStateFulSetJob/CronJobHorizontal Pod AutoscalingReplicationController 和 ReplicaSetReplicationController(RC)用来确保容器应用的副本原创 2020-09-21 11:00:17 · 213 阅读 · 0 评论 -
Kubernetes-资源控制器
pod的分类 自主式 pod:pod 推出了,此类型的pod不会被创建 控制器管理的pod:在控制器的生命周期里,始终要维持pod的副本数目ReplicationController 已经成为历史了,现在用ReplicaSet,通过标签来控制....原创 2020-09-16 15:22:34 · 155 阅读 · 0 评论 -
为什么要用Kubernets
使用Kubernetes的理由很多,最重要的理由是,IT行业从来都是由新技术驱动的。当前,Docker这门容器化技术已经被很多公司采用,从单机走向集群已成为必然,云计算的蓬勃发展正在加速这一进程。Kubernetes作为当前被业界广泛认可和看好的基于Docker的大规模容器化分布式系统解决方案,得到了以谷歌为首的IT巨头们的大力宣传和持续推进。...原创 2020-09-15 10:39:37 · 343 阅读 · 0 评论 -
Kubernetes 状态示例
Pod 中只有一个容器并且正在运行,容器成功退出记录事件完成如果 restartPolicy 为:Always:重启容器;Pod phase 仍为 RunningOnFailure:Pod phase 变成 SucceededNever:Pod phase 变成 SucceededPod 中只有一个容器并且正在运行。容器退出失败记录失败事件如果 restartPolicy 为:Always:重启容器;Pod phase 仍为 RunningOnFailure:重启容器原创 2020-09-14 16:06:44 · 375 阅读 · 0 评论 -
Kubernetes pod 探测
Init 容器init 模板apiVersion: v1kind: Podmetadata: name: myapp-pod labels: app: myappspec: containers: - name: myapp-container image: busybox command: ['sh', '-c', 'echo The app is running! && sleep 3600'] initContainers: -原创 2020-09-14 16:01:30 · 235 阅读 · 0 评论 -
Kubernetes 资源清单
资源清单格式apiVersion: group/apiversion # 如果没有给定 group 名称,那么默认为 core,可以使用 kubectl api-versions # 获取当前 k8s 版本上所有的 apiVersion 版本信息( 每个版本可能不同 )kind: #资源类别metadata: #资源元数据 name namespace lables annotations # 主要目的是方便用户阅读查找spec: # 期望的状态(disi原创 2020-09-14 15:43:40 · 160 阅读 · 0 评论 -
k8s_容器生命周期
容器生命周期Deployment控制器,下面管理了很多的podLiveness 生存检测,会伴随着整个主容器的生命周期,当Liveness检测到主容器有故障时,就会执行重启命令readiness探测检测,只有当readiness检测成功以后,这里的pod才会显示为running这里是在默认的命名空间下...原创 2020-09-11 00:10:37 · 542 阅读 · 0 评论 -
k8s_资源清单
k8s中所有的内容都抽象为资源,资源实例化之后,叫做对象。资源清单的含义等同于一个剧本,里面写好了每一步的操作在k8s中,一般使用yaml格式的文件来创建符合我们预期期望的pod,这样的yaml文件我们一般称为 资源清单。定义yaml常用字段...原创 2020-09-10 20:15:13 · 1030 阅读 · 0 评论 -
k8s_Yaml 语法
简单说明是一个可读性高,用来表达数据序列的格式。YAML 的意思其实是:仍是一种标记语言,但为了强调这种语言以数据做为中心,而不是以标记语言为重点基本语法缩进时不允许使用Tab键,只允许使用空格缩进的空格数目不重要,只要相同层级的元素左侧对齐即可# 标识注释,从这个字符一直到行尾,都会被解释器忽略YAML 支持的数据结构对象:键值对的集合,又称为映射(mapping)/ 哈希(hashes) / 字典(dictionary)数组:一组按次序排列的值,又称为序列(sequenc原创 2020-09-10 15:10:48 · 998 阅读 · 0 评论 -
Harbor
vi /etc/docker/daemon.json在这个目录下面自己手动添加数字证书文件(注意别少了逗号).k8s中删除pod后会自动拉取起来的,由deployment决定的。k8s扩容将svc的类型改成NodePort外部浏览器就可以访问到了。...原创 2020-09-07 17:58:29 · 107 阅读 · 0 评论 -
Kubeadm 部署安装
kube-proxy开启ipvs的前置条件modprobe br_netfiltercat > /etc/sysconfig/modules/ipvs.modules <<EOF#!/bin/bashmodprobe -- ip_vsmodprobe -- ip_vs_rrmodprobe -- ip_vs_wrrmodprobe -- ip_vs_shmodprobe -- nf_conntrack_ipv4EOFchmod 755 /etc/sysconfig/m原创 2020-08-17 13:54:44 · 334 阅读 · 1 评论 -
koolshare部署
先在VM中选择windows类型(创建虚拟机时硬盘类型选择ide的这个要记得更改),选择老毛桃镜像,进入PE维护桌面后将镜像调整,然后将镜像文件写入磁盘。原创 2020-08-17 11:29:16 · 1784 阅读 · 2 评论 -
构建k8s集群
前期准备原创 2020-08-14 18:30:04 · 231 阅读 · 0 评论 -
部署k8s集群-系统初始化1
设置系统主机名以及 Host 文件的相互解析hostnamectl set-hostname k8s-master01安装依赖包yum install -y conntrack ntpdate ntp ipvsadm ipset jq iptables curl sysstat libseccomp wget vim net-tools git设置防火墙为 Iptables 并设置空规则systemctl stop firewalld && systemctl d原创 2020-08-14 16:15:48 · 194 阅读 · 0 评论 -
Kubernetes 调度器 - 调度说明
简介Scheduler 是 kubernetes 的调度器,主要的任务是把定义的 pod 分配到集群的节点上。听起来非常简单,但有很多要考虑的问题:公平:如何保证每个节点都能被分配资源资源高效利用:集群所有资源最大化被使用效率:调度的性能要好,能够尽快地对大批量的 pod 完成调度工作灵活:允许用户根据自己的需求控制调度的逻辑Sheduler 是作为单独的程序运行的,启动之后会一直坚挺 API Server,获取 PodSpec.NodeName 为空的 pod,对每个 pod 都会创建一个原创 2020-09-25 16:09:54 · 1887 阅读 · 0 评论 -
常用的k8s命令
查看命名空间kubectl get ns查看所有podskubectl get pods -A查看某个命名空间下的podkubectl get pods -n timatrix-algorithm 删除命名空间kubectl delete ns timatrix-algorithm 查询k8s集群的节点列表命令kubectl get nodes删除pod重启(pod名称,后面根命名空间)kubectl delete pod middle-youtu-traffic-attri原创 2020-07-29 21:41:22 · 1440 阅读 · 1 评论