定时任务迁移kubernetes 服务迁移步骤 1.安装好java 2.安装好maven 项目打包 mvn package 测试传参运行 java -cp cronjob-demo-1.0-SNAPSHOT.jar com.mooc.demo.cronjob.Main 编辑Dockfile FROM 172.17.166.172/kubenetes/openjdk:8-jre-alpine COPY target/cronjob-demo-1.0-SNAPSHOT.jar /cronjob-de…
cicd的结合组件 需要代码仓库如gitlab.github.包构建工具Maven等,持续集成工具如jenkins,github/cicd.结合自己脚本实现重复式任务自动化. 传统服务发布流程: 提交代码到仓库使用maven工具构建包,发布到指定服务器上(正式测试等),调用脚本或ansible执行发布. 传统存在问题: 传统服务常见的是通过负载均衡器更新单个服务测试好在挂载.需要部署多个环境,重复性操作.通过k8s可以把多个环境放置不同的namespace中,通过yaml文件去指定不同names…
ingress官方文档地址:http://docs.kubernetes.org.cn/  https://feisky.gitbooks.io/kubernetes/content/plugins/ingress.html 什么是 Ingress? 通常情况下,service和pod的IP仅可在集群内部访问.集群外部的请求需要通过负载均衡转发到service在Node上暴露的NodePort上,然后再由kube-proxy将其转发给相关的Pod. 而Ingress就是为进入集群的请求提供路由规…
概述 作为服务发现机制的基本功能,在集群内需要能够通过服务名对服务进行访问,那么就需要一个集群范围内的DNS服务来完成从服务名到ClusterIP的解析. DNS服务在kubernetes中经历了三个阶段. 第一阶段,在kubernetes 1.2版本时,dns服务使用的是由SkyDNS提供的,由4个容器组成:kube2sky.skydns.etcd和healthz.etcd存储dns记录:kube2sky监控service变化,生成dns记录:skydns读取服务,提供查询服务:healthz…
Namespace --- 集群的共享与隔离 语言中namespace概念 namespace核心作用隔离 以上是隔离的代码.namespace隔离的是: 1.资源对象的隔离:Service.Deployment.Pod 2.资源配额的隔离:Cpu.Memory 创建命名空间 kubectl create namespace dev apiVersion: v1 kind: Namespace metadata: name: devkubectl create -f namespace.yaml…
kubernetes访问场景 1.集群内部访问 2.集群内部访问外部 3.集群外部访问内部 1.集群内部访问 1.pod之间直接ip通讯(利用calico通过路由表经过三层将ip流量转发)由于容器之间ip并不固定不推荐使用ip直连 2.pod通过service-ip访问后端pod(service为虚拟ip,kube-proxy将请求分发给ipvs,负载到某个后端pod,calico通过路由转发将请求转发过去) 3.(dns+ClusterIp)pod通过service-name访问后端pod(p…
Flannel: 最成熟.最简单的选择 Calico: 性能好.灵活性最强,目前的企业级主流 Canal: 将Flannel提供的网络层与Calico的网络策略功能集成在一起. Weave: 独有的功能,是对整个网络的简单加密,会增加网络开销 Kube-router: kube-router采用lvs实现svc网络,采用bgp实现pod网络. CNI-Genie:CNI-Genie 是一个可以让k8s使用多个cni网络插件的组件,暂时不支持隔离策略 k8s的容器虚拟化网络方案大体分为两种: 基于…
1.list-watch是什么 List-watch 是 K8S 统一的异步消息处理机制,保证了消息的实时性,可靠性,顺序性,性能等等,为声明式风格的API 奠定了良好的基础,它是优雅的通信方式,是 K8S 架构的精髓. 2. List-Watch 机制具体是什么样的 Etcd存储集群的数据信息,apiserver作为统一入口,任何对数据的操作都必须经过 apiserver.客户端(kubelet/scheduler/controller-manager)通过 list-watch 监听 api…
三种安装方法: 1.kubeadm 2.kubespray 3.二进制安装 kubespray安装kubernetes集群 优点: 1.kuberspray对比kubeadm更加简洁内部集成了kubeadm与ansible 缺点: 1.全程自动化排错成本高 2.主节点也要装了工作节点,如不需要使用可在主节点打污点标签 # 一.使用Kubespray部署Kubernetes生产集群 ## 1. 服务器说明 #### 1.1. 节点要求 ###### 节点数 >=3台 ###### CPU >=2…
共享存储 docker默认是无状态,当有状态服务时需要用到共享存储 为什么需要共享存储: 1.最常见有状态服务,本地存储有些程序会把文件保存在服务器目录中,如果容器重新启停则会丢失. 2.如果使用volume将目录挂载到容器中,涉及到备份及高可用问题.如果宿主机出现问题则会造成不可用状态. kubernetes中提供了共享存储 1.pv(PresistentVolume持久卷) 2.pvc (PresistentVolumeClaim持久卷声明) PV pv中定义了: pv的容量 pv的访问模式…