k8s miniKube 入门】的更多相关文章

k8s miniKube 入门 miniKube 是单机版kubernetes, 可以配置运行在同一台主机上的服务和pod,并使用docker作为虚拟化工具 下载:直接下载可执行文件,复制到path 路径,免安装. 启动:minikube 支持多种虚拟化工具,如:virtualbox, 不过在linux里可以支持docker minikube start --vm-driver=none 等待一会最终输出 * Done! kubectl is now configured to use "min…
k8s快速入门 1.快速创建k8s集群 参考网站:https://kubernetes.io/docs/tutorials/kubernetes-basics 点击教程菜单 1. Create a Cluster -> Interactive Tutorial - Creating a Cluster note:通过 Kubernetes 的命令行工具 kubectl 远程管理集群 minikube start 创建集群 kubectl cluster-info 查看集群信息 Kubernete…
Prometheus Operator不同于Prometheus,Prometheus Operator是 CoreOS 开源的一套用于管理在 Kubernetes 集群上的 Prometheus 控制器,它是为了简化在 Kubernetes 上部署.管理和运行 Prometheus 和 Alertmanager 集群. 官方提供的架构图: kubernetes也在官方的github上关于使用prometheus监控的建议: 地址:https://github.com/kubernetes/ku…
1)软件环境 软件 版本 系统 Centos7.5 Kubernetes 1.14.1 Docker 18.09 Calico 3.6 Etcd 3.3.12 2)部署过程简单概要 三台master节点仅作为master角色运行,不参与pod调度,所以并没有部署docker.kubelet.kube-proxy等服务.若是想让master也作为node角色参与pod调度,需要在master节点上部署docker.kubelet.kube-proxy三个服务.事实证明,最好在master节点部署这…
系列文章说明 本系列文章,可以基本算是 老男孩2019年王硕的K8S周末班课程 笔记,根据视频来看本笔记最好,否则有些地方会看不明白 需要视频可以联系我 k8s概念入门 目录 系列文章说明 k8s概念入门 1 四组基本概念 1.1 POD和POD控制器 1.2 Name/Namespace 1.3 Lable/Label选择器 1.4 Service/Ingress 2 核心组件与核心附件 2.1 核心组件功能 2.2 K8S的三条网络 3 K8S流程图 [K8S中文社区](http://doc…
0. 前言 这段时间要入门一下CI/CD了,以前简单的了解过Jenkins,现在要把以下的这个图的架构搭建起来.国外可能一两个命令就安装完成的事情,我折腾了2天多,真的差点放弃了. 1. 安装VirtualBox 参考这篇官方文档 https://www.virtualbox.org/wiki/Linux_Downloads 在 /etc/apt/sources.list 增加以下内容 deb [arch=amd64] https://download.virtualbox.org/virtua…
k8s是一个编排容器的工具,其实也是管理应用的全生命周期的一个工具,从创建应用,应用的部署,应用提供服务,扩容缩容应用,应用更新,都非常的方便,而且可以做到故障自愈,例如一个服务器挂了,可以自动将这个服务器上的服务调度到另外一个主机上进行运行,无需进行人工干涉.那么,问题来了,要运维何用? k8s可以更快的更新新版本,打包应用,更新的时候可以做到不用中断服务,服务器故障不用停机,从开发环境到测试环境到生产环境的迁移极其方便,一个配置文件搞定,一次生成image,到处运行... k8s的全生命周期…
课程链接:http://video.jessetalk.cn/course/explore 良心课程,大家一起来学习哈! 目录 01-介绍K8s是什么 02-为什么要学习k8s 03-如何学习k8s 04-K8S集群基本概念 05-安装本地k8s单节点集群 06-K8S三大核心组件介绍 07-Service的三种类型及Dashboad部署 08-kubectl工具命令介绍 09-yaml部署文件格式介绍 10-部署netcore api到K8S 11-k8s高可用集群介绍 12-进阶介绍 01-…
在k8s中所有的内容都抽象为资源,资源实例化之后,叫做对象.一般使用yaml格式的文件来创建符合我们预期期望的pod,这样的yaml文件我们一般称为资源清单 资源清单的格式: apiVersion: group/apiversion # 如果没有给定group名称,那么默认为croe,可以使用kubectl api-versions 获取当前k8s版本上所有的apiVersion版本信息(每个版本可能不同) kind: #资源类别 metadata: #资源元数据 name namespace…
课程链接:http://video.jessetalk.cn/course/explore 良心课程,大家一起来学习哈! 目录 01-介绍K8s是什么 02-为什么要学习k8s 03-如何学习k8s 04-K8S集群基本概念 05-安装本地k8s单节点集群 06-K8S三大核心组件介绍 07-Service的三种类型及Dashboad部署 08-kubectl工具命令介绍 09-yaml部署文件格式介绍 10-部署netcore api到K8S 11-k8s高可用集群介绍 12-进阶介绍 01-…
写在前面的话 经过上一节,我们顺利将 K8S 集群搭建了起来,在其中我也简单的谈了一下关于 K8S 的网络.那么这一节我们主要谈谈如何来简单的使用 K8S 的命令.当然这些命令有很多,我们只是通过一个小例子来操作讲解.是不全面的. 但是其实更多的目的是为了介绍一种方法.在后期的应用中,我们也会和 docker 一样,慢慢的摒弃掉这种纯手敲命令的形式,而且换成更为直观的资源清单(yaml 文件)的形式. 而且本章节我们会好好谈谈在 K8S 中非常重要的几个概念中的一部分,主要包括:Pod 和 Se…
前面两个教程我们已经使用kubekit将K8S搭建起来了.但是,没有将实际使用中需要在K8S上部署我们的容器创建起来的教程,都是耍流氓.所以,经过几番折腾,我回来给自己洗白了.之前一直卡在创建第一个容器上,是因为前面部署的步骤其实是有问题的,只是没有直接显示出来,具体已经在之前的相应博客中进行了更新. 现在我们来说一下如何使用K8S创建我们的第一个容器.都是在终端上劈里啪啦敲命令的,所以就直接上代码了.[root@bogon ~]# kubectl run my-nginx --image=ng…
上一篇博客我们已经将K8S部署起来了,现在我们就来介绍一下如何简单使用K8S (1)添加节点 注意事项:不能和k8s master节点的主机名一样.否则会导致k8s无法正常识别出该节点 添加节点是比较简单的,使用ssh登录信息即可.具体如下: 浏览器访问服务器IP:9000.然后点击添加节点,输入node的ssh连接信息即可(该node无需做其他特殊操作) 添加节点后,节点状态那里会显示待部署 所以,接下来我们要勾选该节点,然后点击一键部署.效果如下 节点状态显示已部署,说明添加节点成功了. 占…
K8S介绍相关 kubernetes(K8S)集群及Dashboard安装配置 kubernetes(K8S)创建自签TLS证书 K8S Kubernetes 架构 K8S组件 K8S API对象 Kubernetes Namespaces Kubernetes Pod概述 Kubernetes Deployment Kubernetes Ingress Kubernetes Service Kubernetes kubectl 命令概述 问题相关 K8S中POD节点状态ContainerCre…
Ingress是kubernetes集群对外提供服务的一种方式.ingress部署相对比较简单,官方把相关资源配置文件,都已经集合到一个yml文件中(mandatory.yaml),镜像地址也修改为quay.io. 1.部署 官方地址:https://github.com/kubernetes/ingress-nginx 1.1 下载部署文件: ## mandatory.yaml为ingress所有资源yml文件的集合### 若是单独部署,需要分别下载configmap.yaml.namespa…
集群部署好后,如果我们想知道集群中每个节点及节点上的pod资源使用情况,命令行下可以直接使用kubectl top node/pod来查看资源使用情况,默认此命令不能正常使用,需要我们部署对应api资源才可以使用此命令.从 Kubernetes 1.8 开始,资源使用指标(如容器 CPU 和内存使用率)通过 Metrics API 在 Kubernetes 中获取, metrics-server 替代了heapster.Metrics Server 实现了Resource Metrics API…
Dashboard是k8s的web界面,用户可以用 Kubernetes Dashboard 部署容器化的应用.监控应用.并对集群本身进行管理,在 Kubernetes Dashboard 中可以查看集群中应用的运行状态. 1.下载yaml配置文件 wget https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml 2.创建dash…
摘要: 集群其他组件全部完成后我们应当部署集群 DNS 使 service 等能够正常解析,1.11版本coredns已经取代kube-dns成为集群默认dns. 1)下载yaml配置清单 [root@k8s-master01 ~]# mkdir /opt/k8s/coredns [root@k8s-master01 ~]# cd /opt/k8s/coredns/ [root@k8s-master01 coredns]# wget https://raw.githubusercontent.c…
摘要: 前面几个篇幅,已经介绍master与node节点集群组件部署,由于K8S本身不支持网络,当 node 全部启动后,由于网络组件(CNI)未安装会显示为 NotReady 状态,需要借助第三方网络才能进行创建Pod,下面将部署 Calico 网络为K8S提供网络支持,完成跨节点网络通讯. 官方文档 https://docs.projectcalico.org/v3.6/introduction 1)下载Calico yaml [root@k8s-master01 ~]# mkdir /op…
摘要: kube-proxy的作用主要是负责service的实现,具体来说,就是实现了内部从pod到service和外部的从node port向service的访问 新版本目前 kube-proxy 组件全部采用 ipvs 方式负载,所以为了 kube-proxy 能正常工作需要预先处理一下 ipvs 配置以及相关依赖(每台 node 都要处理) ## 开启ipvs [root@k8s-master01 ~]# ansible k8s-node -m shell -a "yum install…
摘要: Kubelet组件运行在Node节点上,维持运行中的Pods以及提供kuberntes运行时环境,主要完成以下使命: 1.监视分配给该Node节点的pods 2.挂载pod所需要的volumes 3.下载pod的secret 4.通过docker/rkt来运行pod中的容器 5.周期的执行pod中为容器定义的liveness探针 6.上报pod的状态给系统的其他组件 7.上报Node的状态 1.以下操作属于node节点上组件的部署,在master节点上只是进行文件配置,然后发布至各nod…
摘要: 前面几篇文章,就是整个的master节点各组件的部署,上面我们提到过,k8s组件中,kube-controller-manager.kube-scheduler及etcd这三个服务高可用,都是通过leader选举模式产生,本章节我们着重介绍下kube-apiserver高可用配置 1.以下操作属于node节点上组件的部署,在master节点上只是进行文件配置,然后发布至各node节点. 2.若是需要master也作为node节点加入集群,也需要在master节点部署docker.kube…
摘要: 1.Kube-scheduler作为组件运行在master节点,主要任务是把从kube-apiserver中获取的未被调度的pod通过一系列调度算法找到最适合的node,最终通过向kube-apiserver中写入Binding对象(其中指定了pod名字和调度后的node名字)来完成调度 2.kube-scheduler与kube-controller-manager一样,如果高可用,都是采用leader选举模式.启动后将通过竞争选举机制产生一个 leader 节点,其它节点为阻塞状态.…
摘要: 1.Kubernetes控制器管理器是一个守护进程它通过apiserver监视集群的共享状态,并进行更改以尝试将当前状态移向所需状态. 2.kube-controller-manager是有状态的服务,会修改集群的状态信息.如果多个master节点上的相关服务同时生效,则会有同步与一致性问题,所以多master节点中的kube-controller-manager服务只能是主备的关系,kukubernetes采用租赁锁(lease-lock)实现leader的选举,具体到kube-con…
摘要: 1.kube-apiserver为是整个k8s集群中的数据总线和数据中心,提供了对集群的增删改查及watch等HTTP Rest接口 2.kube-apiserver是无状态的,虽然客户端如kubelet可通过启动参数"--api-servers"指定多个api-server,但只有第一个生效,并不能达到高可用的效果,关于kube-apiserver高可用方案,我们在后面介绍,本章,之介绍如何安装. 创建k8s集群各组件运行用户 安全性考虑,我们创建单独的用户运行k8s中各组件…
摘要:随着版本的不断迭代,k8s为了集群安全,集群中趋向采用TLS+RBAC的安全配置方式,所以我们在部署过程中,所有组件都需要证书,并启用RBAC认证. 我们这里采用二进制安装,下载解压后,把对应组件二进制文件copy到指定节点 master节点组件:kube-apiserver.etcd.kube-controller-manager.kube-scheduler.kubectl node节点组件:kubelet.kube-proxy.docker.coredns.calico 部署mast…
摘要:etcd 是k8s集群最重要的组件,用来存储k8s的所有服务信息, etcd 挂了,集群就挂了,我们这里把etcd部署在master三台节点上做高可用,etcd集群采用raft算法选举Leader, 由于Raft算法在做决策时需要多数节点的投票,所以etcd一般部署集群推荐奇数个节点,推荐的数量为3.5或者7个节点构成一个集群. 官方地址 https://github.com/coreos/etcd/releases 1)下载etcd二进制文件 etcd命令为下载的二进制文件,解压后复制到…
k8s从1.8版本开始,集群中各个组件需要使用TLS证书对通信进行加密,每个k8s集群都需要有独立的CA证书体系,这里我们采用比较常用的CloudFlare 的 PKI 工具集 cfssl 来生成 Certificate Authority (CA) 证书和秘钥文件,CA 是自签名的证书,用来签名后续创建的其它 TLS 证书. 使用证书的组件如下: etcd:使用 ca.pem.etcd-key.pem.etcd.pem:(etcd对外提供服务.节点间通信(etcd peer)使用同一套证书)…
一.系统规划  主机名 IP   组件  k8s-master01 10.10.0.18 etcd.kube-apiserver.kube-controller-manager.kube-scheduler  k8s-master02 10.10.0.19 etcd.kube-apiserver.kube-controller-manager.kube-scheduler  k8s-master03 10.10.0.20  etcd.kube-apiserver.kube-controller-…
官方教程,共 6 个小节.每一小节的第一部分是知识讲解,第二部分是在线测试环境的入口. kubectl 的命令手册 原文地址 1 创建集群 1.1 使用 Minikube 创建集群 Kubernetes 集群 Kubernetes 协调一个高可用的计算机集群,这个集群连接到一起作为一个单元工作.通过 Kubernetes 中的抽象,可以将容器化应用程序部署到集群,而不必将它们绑定到单个机器上.为了使用这种新的部署模式,应用程序需要以一种将它们与单个主机分离的方式进行打包:容器化.在过去的部署模型…