k8s入坑之路(4)kubenetes安装】的更多相关文章

三种安装方法: 1.kubeadm 2.kubespray 3.二进制安装 kubespray安装kubernetes集群 优点: 1.kuberspray对比kubeadm更加简洁内部集成了kubeadm与ansible 缺点: 1.全程自动化排错成本高 2.主节点也要装了工作节点,如不需要使用可在主节点打污点标签 # 一.使用Kubespray部署Kubernetes生产集群 ## 1. 服务器说明 #### 1.1. 节点要求 ###### 节点数 >=3台 ###### CPU >=2…
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就是为进入集群的请求提供路由规…
cicd的结合组件 需要代码仓库如gitlab.github.包构建工具Maven等,持续集成工具如jenkins,github/cicd.结合自己脚本实现重复式任务自动化. 传统服务发布流程: 提交代码到仓库使用maven工具构建包,发布到指定服务器上(正式测试等),调用脚本或ansible执行发布. 传统存在问题: 传统服务常见的是通过负载均衡器更新单个服务测试好在挂载.需要部署多个环境,重复性操作.通过k8s可以把多个环境放置不同的namespace中,通过yaml文件去指定不同names…
共享存储 docker默认是无状态,当有状态服务时需要用到共享存储 为什么需要共享存储: 1.最常见有状态服务,本地存储有些程序会把文件保存在服务器目录中,如果容器重新启停则会丢失. 2.如果使用volume将目录挂载到容器中,涉及到备份及高可用问题.如果宿主机出现问题则会造成不可用状态. kubernetes中提供了共享存储 1.pv(PresistentVolume持久卷) 2.pvc (PresistentVolumeClaim持久卷声明) PV pv中定义了: pv的容量 pv的访问模式…
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.安装好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…
1.list-watch是什么 List-watch 是 K8S 统一的异步消息处理机制,保证了消息的实时性,可靠性,顺序性,性能等等,为声明式风格的API 奠定了良好的基础,它是优雅的通信方式,是 K8S 架构的精髓. 2. List-Watch 机制具体是什么样的 Etcd存储集群的数据信息,apiserver作为统一入口,任何对数据的操作都必须经过 apiserver.客户端(kubelet/scheduler/controller-manager)通过 list-watch 监听 api…
kubelet 主要功能 Pod 管理 在 kubernetes 的设计中,最基本的管理单位是 pod,而不是 container.pod 是 kubernetes 在容器上的一层封装,由一组运行在同一主机的一个或者多个容器组成.如果把容器比喻成传统机器上的一个进程(它可以执行任务,对外提供某种功能),那么 pod 可以类比为传统的主机:它包含了多个容器,为它们提供共享的一些资源. 之所以费功夫提供这一层封装,主要是因为容器推荐的用法是里面只运行一个进程,而一般情况下某个应用都由多个组件构成的.…
Flannel: 最成熟.最简单的选择 Calico: 性能好.灵活性最强,目前的企业级主流 Canal: 将Flannel提供的网络层与Calico的网络策略功能集成在一起. Weave: 独有的功能,是对整个网络的简单加密,会增加网络开销 Kube-router: kube-router采用lvs实现svc网络,采用bgp实现pod网络. CNI-Genie:CNI-Genie 是一个可以让k8s使用多个cni网络插件的组件,暂时不支持隔离策略 k8s的容器虚拟化网络方案大体分为两种: 基于…
containerd概念: containerd主要是namebases与k8s docker不同 存放路径不一致 没有默认仓库 容器运行时: 2020年未kubernetes宣布不再支持docker docker由libcontainer及containerd组成将libcontainer捐赠给OCI开源基金会将libcontainer改名runc,OCI定义了镜像规范,运行时规范.(镜像标准镜像组织结构包含各种文件目录等,运行时如何启动一个容器需要接受那些指定,配置生命周期等,如何划分cgr…