Kubernetes(k8s)
Biexiansheng
爱技术,爱编程
展开
-
Kubernetes(k8s)之jenkins实现k8s应用的版本升级和回归,k8s集群部署项目
1、想要实现jenkins一键自动发布代码的话,还需要手动在k8s部署一下集群项目。首先,创建一个deloypment,如下所示:1 [root@k8s-master ~]# kubectl run feiji --image=192.168.110.133:5000/feiji:v1 --replicas=2 --re2 --record --replicas= --requests= --request-timeout= --restart原创 2020-08-19 13:04:55 · 562 阅读 · 0 评论 -
Kubernetes(k8s)之jeckins自动化构建docker镜像并部署到k8s集群
1、集群规划,如下所示:主机名 ip地址 角色 端口号 k8s-master 192.168.110.133 k8s-master api-server:8080 k8s-node2 192.168.110.134 k8s-node1,jenkins tomcat:8080(跑jenkins) k8s-node3 192.168.110.135 k8s-node1,gitlab gitlab:80,8080 2.原创 2020-08-19 13:04:06 · 2200 阅读 · 0 评论 -
Kubernetes(k8s)之分布式文件系统glusterfs
1、为什么使用分布式文件系统glusterfs?答:使用持久化存储nfs,但是使用nfs这个共享存储特别简单,但是后期在扩容和管理方面都特别的不方便,在生产中一般都是使用分布式文件系统,这里使用的是分布式文件系统glusterfs。2、什么是分布式文件系统glusterfs?答:分布式文件系统glusterfs是一个开源分布式文件系统,具有强大的横向扩展能力,可以支持数PB存储容器和数千客户端,通过网络互联成一个并行的网络文件系统。具有可扩展性、高性能、高可用性等特点。3、安装分布式..原创 2020-08-19 13:03:33 · 1122 阅读 · 0 评论 -
Kubernetes(k8s)持久化存储PV和PVC
1、K8s为什么要使用存储?答:k8s中的副本控制器保证了pod的始终存储,却保证不了Pod中的数据。只有启动一个新pod的,之前pod中的数据会随着容器的删掉而丢失。k8s中的rc启动指定数量的Pod,当某个Pod死掉了,会在新的节点启动新的Pod,k8s中想要实现数据持久化,需要使用一个叫做共享存储的,让Pod里面的数据挂载到这个共享存储上面,就算在新的节点启动新的Pod,依然可以保证数据不丢失。2、k8s中的PV和PVC的概念。答:PersistentVolume(简称为PV,持久化.原创 2020-08-19 13:02:24 · 948 阅读 · 0 评论 -
Kubernetes(k8s)的弹性伸缩
1、什么是K8s的弹性伸缩?答:Hpa(全称叫做Horizontal Pod Autoscaler),Horizontal Pod Autoscaler的操作对象是Replication Controller、ReplicaSet或者Deployment对应的Pod(k8s中可以控制Pod的是rc、rs、deployment),根据观察到的CPU使用量与用户的阈值进行比对,做出是否需要增加或者减少实例数量的决策。controller目前使用heapSter来检测CPU使用量,检测周期默认是30秒。.原创 2020-08-19 13:01:20 · 2281 阅读 · 0 评论 -
Kubernetes(k8s)中namespace的作用、反向代理访问k8s中的应用、k8s监控服务heapster
1、k8s中namespace的作用?答:Namespace命名空间,是kubernetes系统中的另一个非常重要的概念,Namespace在很多情况下用于实现多租户的资源隔离,不同的业务可以使用不同的namespace进行隔离。2、k8s中创建namespace。1 [root@k8s-master ~]# kubectl create namespace biehl2 namespace "biehl" created3 [root@k8s-master ~]# 3、k..原创 2020-06-28 17:11:56 · 8767 阅读 · 0 评论 -
Kubernetes(k8s)中dashboard的部署。
1、k8s的dashboard的安装部署,首先需要将压缩包下载下来,然后进行解压缩操作。 1 [root@k8s-master ~]# cd k8s/ 2 [root@k8s-master k8s]# ls 3 book-master.war deploy health pod rc skydns skydns.zip svc tomcat_demo tomcat_demo.zip 4 [root@k8s-master k8s]# wget https://www.qstack原创 2020-06-28 17:11:25 · 714 阅读 · 0 评论 -
Kubernetes(k8s)中Pod资源的健康检查
1、Pod的健康检查,也叫做探针,探针的种类有两种。答:1)、livenessProbe,健康状态检查,周期性检查服务是否存活,检查结果失败,将重启容器。2)、readinessProbe,可用性检查,周期性检查服务是否可用,不可用将从service的endpoints中移除。2、探针的检测方法。答:1)、exec,执行一段命令。2)、httpGet,检测某个http请求的返回状态码。3)、tcpSocket,测试某个端口是否能够连接。3、创建exec的探针检测方法。..原创 2020-06-21 13:20:04 · 654 阅读 · 0 评论 -
Kubernetes(k8s)安装dns附件组件以及使用
1、K8s附加组件DNS服务。答:Kubernetes中有一个很重要的特性,服务子发现。一旦一个service被创建,该service的service ip和service port等信息都可以被注入到pod中供它们使用。kubernetes主要支持两种service发现机制,第一种是环境变量,第二种是DNS。没有dns服务的时候,kubernetes会采用环境变量的形式,一个有很多service,环境变量会变得很复杂,为了解决这个问题,我们使用DNS服务。2、Pod的环境变量如何查看呢?.原创 2020-06-21 13:18:52 · 977 阅读 · 0 评论 -
Kubernetes(k8s)的deployment资源
1、为什么K8s要引入deployment资源。答:deployment也是保证pod高可用的一种方式,明明已经有RC(Replication Controller),为什么还要引入deployment呢?是因为deployment解决了RC(Replication Controller)的一个痛点。是因为RC在进行版本升级的时候,会造成一个问题,就是它的svc(Service)短时间内访问不了了,deployment就是解决这个问题的。2、创建一个deployment的配置文件。 1 #.原创 2020-06-21 13:16:54 · 1244 阅读 · 0 评论 -
Kubernetes(k8s)的Service资源
1、Service资源,为什么K8s要引入Service资源。答:运行在docker中的业务,想要被外界访问,我们需要为它做端口映射才能被访问,那么运行在k8s中的容器,为什么不能直接为它做端口映射呢? RC(Replication Controller)虽然保证了Pod的高可用,但是我们仅仅只能在k8s的内部访问它,但是在客户端是无法进行访问的,因为Pod的ip地址是私有ip地址,外界是无法进行访问的,而Docker中的容器是通过端口映射可以让容器中的业务被外界所访问,在k8s中,不能直接通过端原创 2020-06-21 13:15:29 · 565 阅读 · 0 评论 -
Kubernetes(k8s)的RC(Replication Controller)副本控制器
1、RC(Replication Controller)副本控制器,Replication Controller的作用。 应用托管在kubernetes之后,kubernetes需要保证应用能够持续运行,这是RC的工作内容,它会确保任何时间kubernetes中都有指定数量的Pod在运行。在此基础上,RC还提供了一些更高级的特性,比如滚动升级,升级回滚等等。 通俗的理解就是,当将应用通过K8s运行起来之后,我们的k8s是需要保证容器一直处于持续运行,保证它的高可用,那么我们的RC就可以确保容器的原创 2020-06-21 13:14:52 · 1569 阅读 · 0 评论 -
Kubernetes(k8s)常用资源的使用、Pod的常用操作
1、K8s是如何运行容器的。答:k8s是通过定义一个Pod的资源,然后在Pod里面运行容器的。K8s最小的资源单位Pod。2、如何创建一个Pod资源呢?答:在K8s中,所有的资源单位都可以使用一个yaml配置文件来创建,创建Pod也可以使用yaml配置文件。3、开始,创建一个Pod,先创建一个k8s目录,然后在k8s里面创建一个pod目录,然后创建vim nginx_pod.yaml。1 [root@k8s-master ~]# mkdir k8s2 [root@k8s-..原创 2020-06-21 13:14:22 · 978 阅读 · 0 评论 -
Kubernetes(k8s)概念学习、集群安装
1、Kubernetes(k8s)架构图,如下所示: 1)、etcd的官方将它定位成一个可信赖的分布式键值存储服务,它能够为整个分布式集群存储一些关键数据,协助分布式集群的正常运转。键值对数据库,存储k8s集群的所有重要信息,重要信息是进行持久化的信息。 2)、etcd作为持久化方案,etcd STORAGE存储有两个版本,v2版本是基于Memory内存的,数据存储到内存中,v3版本是基于Database,引入本地卷的持久化操作,关机不会操作数据的损坏。推荐在k8s集群中使用Etcd v3,v2版原创 2020-06-21 13:03:37 · 587 阅读 · 0 评论 -
Kubernetes(k8s)入门学习
1、Kubernetes(k8s)是舵手的含义,Kubernetes(k8s)是什么? 答:Kubernetes(k8s)是一个开源的系统,让应用、部署、扩缩容自动化,管理容器化的应用。2、Kubernetes(k8s)的主要特征? 答:1)、一切以服务为中心,围绕着服务转,使用者不用关心服务运行的环境和运行的细节,构建在Kubernetes(k8s)的系统不仅可以独立运行在物理机、虚拟机、私有云、公有云等等。 2)、自动化,在Kubernetes(k8s)的服务可以自动扩缩容.原创 2020-06-21 13:00:32 · 1165 阅读 · 0 评论