一、kubectl基本命令1.1陈述式资源管理方法1.kubernetes集群管理集群资源的唯一入口是通过相应的方法调用apiserver的接口2.kubectl是官方的CLI命令行工具,用于与apiserver进行通信,将用户在命令行输入的命令,组织并转化为apiserver能识别的信息,进而实现管理k8s各种资源的一种有效途径3.kubectl的命令大全kubectl--helpk8s中文文档:http://docs.kubernetes.org.cn/683.html4.对资源的增、删、查操作比较方便,但对改的操作就不容易了//查看k8s版本信息kubectlversion //查看资源
一、K8S基础知识K8S是什么K8S(Kubernetes)是⼀个容器集群管理系统,可以做容器集群的⾃动化部署,⾃动化扩缩容,维护等功能为什么要用K8S传统应⽤部署是通过将程序打包在服务器上运⾏,通过运行脚本将程序跑起来,如果⼀个服务器⽆法响应⼤量请求,需要通过运维⼈员添加服务器来做负载均衡来分担压⼒,在此过程中,是有⼈⼒介⼊的过程的,K8S⽤于解决该问题K8S的架构K8S是属于主从设备模型(Master-Slave模型),Master节点主要负责容器的调度、管理和运维,Slave节点负责⽤户程序的执⾏,主节点⼀般称之为MasterNode或者HeadNode,从节点⼀般称之为WorkerNo
一、K8S基础知识K8S是什么K8S(Kubernetes)是⼀个容器集群管理系统,可以做容器集群的⾃动化部署,⾃动化扩缩容,维护等功能为什么要用K8S传统应⽤部署是通过将程序打包在服务器上运⾏,通过运行脚本将程序跑起来,如果⼀个服务器⽆法响应⼤量请求,需要通过运维⼈员添加服务器来做负载均衡来分担压⼒,在此过程中,是有⼈⼒介⼊的过程的,K8S⽤于解决该问题K8S的架构K8S是属于主从设备模型(Master-Slave模型),Master节点主要负责容器的调度、管理和运维,Slave节点负责⽤户程序的执⾏,主节点⼀般称之为MasterNode或者HeadNode,从节点⼀般称之为WorkerNo
使用subPath有时,在单个Pod中共享卷以供多方使用是很有用的。volumeMounts.subPath属性可用于指定所引用的卷内的子路径,而不是其根路径。下面是一个使用同一共享卷的、内含LAMP栈(LinuxApacheMysqlPHP)的Pod的示例。HTML内容被映射到卷的html文件夹,数据库将被存储在卷的mysql文件夹中:apiVersion:v1kind:Podmetadata:name:my-lamp-sitespec:containers:-name:mysqlimage:mysqlenv:-name:MYSQL_ROOT_PASSWORDvalue:"rootpassw
使用subPath有时,在单个Pod中共享卷以供多方使用是很有用的。volumeMounts.subPath属性可用于指定所引用的卷内的子路径,而不是其根路径。下面是一个使用同一共享卷的、内含LAMP栈(LinuxApacheMysqlPHP)的Pod的示例。HTML内容被映射到卷的html文件夹,数据库将被存储在卷的mysql文件夹中:apiVersion:v1kind:Podmetadata:name:my-lamp-sitespec:containers:-name:mysqlimage:mysqlenv:-name:MYSQL_ROOT_PASSWORDvalue:"rootpassw
Jenkins2361.2+MavenIntegration+SVN/GIT+Docker+阿里云镜像+Kubernetes(K8S)本文用于学习,了解原理,和实际应用,有所差别,特别是PostSteps步骤中,方式很多,根据实际情况而定。实际应用中,一般Pipeline流水线的方式比较多。环境如下Jenkins安装在Windows2012R2上Docker在另一个LinuxCentOS7.6上K8S另外三台做的集群镜像仓库用的是阿里云的流程Jenkins将代码从SVN服务器上,下载到JENKINS_HOME里的workspace中通过Maven进行编译打包Build/PublisDocker
Jenkins2361.2+MavenIntegration+SVN/GIT+Docker+阿里云镜像+Kubernetes(K8S)本文用于学习,了解原理,和实际应用,有所差别,特别是PostSteps步骤中,方式很多,根据实际情况而定。实际应用中,一般Pipeline流水线的方式比较多。环境如下Jenkins安装在Windows2012R2上Docker在另一个LinuxCentOS7.6上K8S另外三台做的集群镜像仓库用的是阿里云的流程Jenkins将代码从SVN服务器上,下载到JENKINS_HOME里的workspace中通过Maven进行编译打包Build/PublisDocker
目录一、前期准备1)前提条件2)机器信息3)确保每个节点上MAC地址和product_uuid的唯一性4)允许iptables检查桥接流量(可选)5)检查所需端口二、安装runtime三、安装kubeadm、kubelet和kubectl1)配置hosts2)关闭防火墙3)关闭swap4)将SELinux设置为disabled模式(相当于将其禁用)5)配置yum源,这里配置阿里云的源6)开始安装kubeadm,kubelet和kubectl7)使用kubeadm创建集群(master节点)8)安装Pod网络插件(CNI:ContainerNetworkInterface)(master)9)N
目录一、前期准备1)前提条件2)机器信息3)确保每个节点上MAC地址和product_uuid的唯一性4)允许iptables检查桥接流量(可选)5)检查所需端口二、安装runtime三、安装kubeadm、kubelet和kubectl1)配置hosts2)关闭防火墙3)关闭swap4)将SELinux设置为disabled模式(相当于将其禁用)5)配置yum源,这里配置阿里云的源6)开始安装kubeadm,kubelet和kubectl7)使用kubeadm创建集群(master节点)8)安装Pod网络插件(CNI:ContainerNetworkInterface)(master)9)N
目录一、概述二、常见的几种CNI插件介绍1)Flannel(本章讲解)2)Calico3)Romana4)WeaveNets三、Flannel组件的解释四、Flannel网络通信原理实验1)同节点Pod之间的通信2)不同节点Pod之间的通信3)Pod与Service之间的通信一、概述Kubernetes采用的是基于扁平地址空间的、非NAT的网络模型,每个Pod有自己唯一的IP地址。网络是由CNI(containernetworkinterface)插件建立的,而非K8S本身。二、常见的几种CNI插件介绍为了使容器之间的通信更加方便,Google和CoreOS主导制定了一个容器网络标准CNI(C