随笔分类 - Docker-k8s
摘要:我们在下载镜像时常常遇到下载很慢或者根本下载不了的情况,这时候有三种情况: 网络配置不正确,导致本来可以下载但是下载不了 需要加载国内代理加速 需要用花钱的代理(懂吧?)来下载 现在来分类分析: 一、网络配置不正确 首先确认你的IP、网关、域名解析配置正确,能通外网(用ping www.baidu.
阅读全文
摘要:pod之间的通信默认是不隔离的,他们之是能相互通信的,但如果你想通过IP地址或者端口来管理网络通信,那么就可以使用k8s的networkpolicy功能。该功能的实现原理是默认都不通过,显示添加白名单。如果指定namespace,那么该network policy生效的范围是本namespace内。
阅读全文
摘要:简述 k8s常用的两大网络插件Flannel和Calico都支持隧道技术,其中Calico支持IPinIP和BGP两种模式,IPIP模式中用到了隧道技术。但是Flannel和Calico使用的隧道技术是有区别的,Flannel使用的是vxlan技术,这种封包技术是MACinUDP的方式,因此Vxla
阅读全文
摘要:Calico是一个用于容器、虚拟机和基于本机主机的工作负载的开源网络和网络安全解决方案。Calico支持广泛的平台,包括Kubernetes, OpenShift, Docker EE, OpenStack和裸机服务。Calico支持多种网络架构,其中IPIP和BGP两种网络架构较为常用。这里简单说
阅读全文
摘要:这里介绍hostPath 利用hostPath的挂载卷 假如容器希望使用主机目录下的/opt/etcd/ssl/下的认证文件,可以像如下这样定义: apiVersion: v1 kind: Pod metadata: name: test-pd spec: containers: - image:
阅读全文
摘要:coreDNS 除了在Kubernetes集群上调度 DNS Pod 和 Service, 还配置 kubelet 以告知各个容器使用 DNS Service 的 IP 来解析 DNS 名称。集群搭建好之后,需要确认各个节点上的Pod都能ping通coreDNS,否则无法正常进行域名解析。另外“无头
阅读全文
摘要:k8s中许多关于port即端口的定义,端口在网络协议中是7层的概念也就是区分业务的编号。k8s的定义中也有很多关于端口的配置,下面就常见的几种加以说明。 环境说明 node主机IP: 172.10.220.201 containers定义中的containerPort containerPort是容
阅读全文
摘要:现有集群是docker默认的bridge网络模型,不支持跨节点通信。因此部署网络插件calico. 另外需要把kubelet的网络模型改成cni(--network-plugin=cni).calico官网(https://docs.projectcalico.org/getting-started
阅读全文
摘要:informer用途 获取 kubernetes 中某个资源,同步k8s中的数据到本地缓存,并watch各种资源变化,触发相应的eventHandler. 在访问 k8s apiserver 的客户端作为一个 client 缓存对象使用 在一些自定义 controller 中使用,比如 operat
阅读全文
摘要:构造pod驱逐: kubectl edit deployment修改sizeLimit改成100Mi,等待容器重建 进容器执行 dd if=/dev/zero of=/opt/logs/tmp.txt bs=10M count=100 过一会儿驱逐发生
阅读全文
摘要:容器网络概览 容器之间如何联通是个重要的问题。Docker官方文档 https://docs.docker.com/network/ 介绍了多种网络模式,本文加以阐述: bridge host container none overlay macvlan netplugin 一般网络选择none时,
阅读全文
摘要:kube-apiserver架构 每个master节点上都有一个kube-apiserver,kube-apiserver是无状态的,客户端如kubelet可通过启动参数"--api-servers"指定多个api-server,但只有第一个生效,即指定的多个api-server并没有达到高可用的目
阅读全文
摘要:Kubernetes Pods 是有生命周期的. 当你使用Deployment来运行你的应用是,它会动态创建Pod,使Pod的数量总是维持着Replicas的数目。每个Pod会获得一个IP,但是在Deployment中,在某一时刻运行的Pod集合可能与稍后运行该应用程序的Pod集合不同。这样就会导致
阅读全文
摘要:Dockerfile 简介 构建Docker镜像有两种方法: 一种是利用Dockerfile编译构建,命令格式为docker build --pull -t $(REGISTRY)/$(IMAGE_NAME):$(IMAGE_TAG) . [docker-build官指]https://docs.d
阅读全文
摘要:需求 物理计算节点有限,难以测试网络组件的性能满不满足5000节点集群需求,在开发测试阶段知道网络插件的性能至关重要。因此使用kubemark来模拟计算节点,都知道使用kubemark需要一个真实的k8s集群和一个kubemark集群。真实的k8s集群已搭建完毕,下面需要搭建kubemark虚拟集群
阅读全文
摘要:这天打开电脑,发现master节点的状态异常,是notReady状态。其他计算机点还好时Ready状态。 检查etcd集群状态 首先通过命令etcdctl member list确认etcd集群是OK的。 检查master节点各个进程状态 这时检查master节点上的各个kube相关进程都在. 但通
阅读全文
摘要:一个容器多个进程:在Docker的镜像编译脚本Dockerfile中带起多个进程,如下可以在contivNet.sh中启动多个进程 FROM 192.168.1.2:5001/world/centos7/ovs-2.6.4:1 COPY ./bin /contiv/bin/ COPY ./scrip
阅读全文
摘要:ConfigMaps允许您将配置构件与映像内容解耦,以保持容器化应用程序的可移植性。本文展示如何创建configmap,修改configmap以及如何把configmap应用于pod. 创建configmap 1.configmap的yaml文件 myconfigmap.yaml,该文件包含两个co
阅读全文