- 博客(22)
- 资源 (2)
- 收藏
- 关注
原创 二进制部署K8S(1.23)
服务器配置要求:K8S高可用服务器规划:K8S单master服务器规划二)、Etcd集群部署Etcd是一个分布式键值存储系统,用于共享配置和服务发现。准备一个Etcd数据库,可以解决Etcd单点故障。这里采用3台机器搭建集群,可以容忍一台机器故障。cfssl是一个开源的证书管理工具,使用json文件生成证书。2、生成Etcd证书 (自签证书颁发机构 CA)3、使用自签CA签发Etcd HTTPS证书4、从Github官网下载Etcd二进制文件5、部署Etcd集群6、创建Etcd配
2022-06-10 15:30:01
2549
4
原创 helm 实现高效复用
helm简介Helm是一个kubernetes的包管理工具,好比CentOs下的yum或者Ubuntu下的apt-get,这两者都是Linux系统下的包管理工具。应用开发者可以管理应用包之间的依赖关系。用户可以进行查找、安装、升级、卸载等操作。可以将Helm看作是yum/apt-get,可以将之间打包好的yaml文件部署到kubernetes上。Helm特点:Helm:一个命令行客户端工具,主要用于kubernetes应用chart的创建、打包、发布、管理等操作。chart:应用描述,描述K8S
2022-05-30 18:30:48
350
原创 NFS数据卷持久化和动态供给
NFS动态供给 (StorageClass)静态:Pod ——> PVC——> PV (如果没有匹配的PV,那么PVC会一直处于pending状态)动态:Pod——> PVC——> StorageClass——> PV (当PVC创建时,会自动创建对应的PV去绑定)动态供给地址需要下载3个文件 [rbac.yaml(授权访问apiserver)、deployment.yaml(部署插件,需要更改文件中NFS服务器地址和共享目录)、class.yaml(创建存储类)]h
2022-05-26 11:06:07
445
原创 数据卷和pvc存储持久化案例实战
文章目录数据卷常见的数据卷emptyDir 数据卷emptyDir 案例hostPath 案例NFS数据卷NFS 安装NFS 案例创建NFS.yaml验证NFS挂载是否成功验证容器和NFS间是否互通数据卷容器中的文件时临时存放在磁盘上的。当容器崩溃和升级时,kubectl会进行容器的重建,会导致容器内的文件会丢失。一个pod中运行多个容器需要共享文件。常见的数据卷节点本地(hostPath,emptyDir)网络 (NFS,Ceph,GlusterFS)共有云 (AWS,
2022-05-23 20:28:24
121
原创 ingress 详解
Ingress对象(对外暴露应用)nodePort的不足一个端口只能一个服务使用,端口需要提前规划只支持4层负载均衡(传输层,只能根据IP和端口进行转发。如LVS、nginx)Ingress和Ingress ControllerK8S中一个抽象的资源,给管理员提供一个暴露应用的入口定义方法。Ingress Controller是根据Ingress生成具体的路由规则,并对Pod负载均衡器。暴露Ingress Controller两种方式Service端NodePort暴露Ingres
2022-05-16 18:47:53
2555
原创 K8S中deployment和service案例
文章目录案例要求:1、案例一1 创建deployment,在还原到之前版本2、案例二:副本数扩容3、案例三多端口实例案例要求:1、创建一个deployment副本数为2,在滚动更新镜像版本,并记录这个更新记录,最后在还原到上一个版本。2、给这个应用扩容副本数到4。3、创建一个pod,pod里面运行3个容器,nginx、tomcat、redis。4、给一个pod创建service,并且可以通过Clusterip/NodePort方式访问。5、创建deployment和service,使用nsloo
2022-05-12 18:38:29
1262
原创 Service控制器
Service控制器Service存在的意义Service存在主要是为了解决Pod的动态变化,提供统一访问入口。防止pod失联,准备找到提供同一个服务的Pod(服务发现)定义一组Pod的访问策略(负载均衡 )Pod与Service的关系Service通过标签关联一组pod。Service为一组pod提供负载均衡能力。service创建[root@k8s-master ~]# vim service.yamlapiVersion: v1kind: Servicemetadata:
2022-05-12 10:52:11
297
原创 工作负载控制器
工作负载控制器(Wordload Controllers)工作负载控制器:用于更高层次对象,部署和管理Pod。常见的工作负载控制器:Deployment:无状态应用部署StatefulSet:有状态应用部署DaemonSet:确保所有Node运行同一个PodJob:一次性任务Cronjob:定时任务控制器作用:管理Pod对象使用标签与Pod关联控制器实现了Pod的运维,如滚动更新、管理副本、维护Pod状态等。一、先创建一个deploymentvim deployment.y
2022-05-10 17:35:28
439
原创 容器资源限制
1、资源限制容器资源限制:resources.limits.cpuresources.limits.memory容器使用的最小资源需求,作为容器调度时资源分配的依据:resources.requests.cpuresources.requests.memoryCPU单位:可以写m也可以写浮点数,例:0.5=500m,1=1000m资源限制案例:apiVersion: v1kind: Podmetadata: labels: run: shenhua app
2022-05-10 14:11:08
960
原创 K8S常用命令总结
K8S常用的一些命令:1、pod调度[root@k8s-master ~]# kubectl get pod -o wide#-o 是查看更多信息[root@k8s-master ~]# kubectl get node --show-labels# 查看各个节点标签[root@k8s-master ~]# kubectl get pod --show-labels #查看标签信息NAME READY STATUS RESTARTS
2022-05-10 09:55:03
1578
原创 K8S中pod的重启策略和健康检查
重启策略+健康检查重启策略(restartPolicy):Always:只要容器终止退出后,就一直尝试重启容器,默认策略(适用于:mysql、nginx、redis等)。OnFailure:只有容器异常退出后(退出状态码非0),才重启容器(适用于:定时任务)。Never:当容器终止退出后,不重启容器(适用于:一次性任务)健康检查类型livenessProbe(存活检查):当检查容器中应用无法访问时,就杀死容器,根据pod中的restartPolicy来操作。readinessProbe(
2022-05-09 14:46:44
393
原创 Pod实现资源互通
Pod概念Pod是一个逻辑抽象概念,kubernetes创建和管理的最小单元,一个pod由一个容器或多个容器组成。Pod特点:一个Pod可以理解成跑了一个应用,来提供服务的。Pod中容器始终部署在一个Node节点上。Pod中容器共享网络、存储资源。Pod的应用场景:运行单个容器:一个pod运行一个容器。运行多个容器:属于边车模式(Sidecar),通过在Pod中定义专门的容器,来执行主容器所需要的辅助工作,这样可以将辅助功能和主容器解耦,实现独立发布和能力重用。日志收集应用监控
2022-05-07 10:21:34
374
原创 K8S中YAML案例
基本资源概念Pod:k8s部署的最小单元,一组容器的集合Deployment:最常见的控制器,用于更高级别部署和管理Podservice:为一组Pod提供负载均衡,对外提供统一访问入口Label:标签,附加到某个资源上,用于关联对象、查询和筛选Namespaces:命名空间,将对象逻辑上隔离,也利于权限控制Namespaces详解命名空间(Namespaces):Kubernetes将资源对象逻辑上隔离,从而形成多个虚拟集群。kubectl get namespaces 1. defa
2022-05-06 13:41:02
590
1
原创 K8S中Dashboard部署常见错误总结
Dashboard部署常见错误总结一、kubeadm init失败1、kubeadm init未执行完成失败,一般是由于初始化失败。执行如下命令:systemctl restart kubelet #重启后在查看是否有错误日志journalctl -u kubelet | egrep -i "cgroup|failed|error" # 例如swap,cgroups驱动,系统版本等问题。系统版本需要yum update2、如果init执行完上面的命令修复问题后,要先执行 kubeadm r
2022-05-05 15:57:38
1486
原创 kubeadm部署kubernetes集群
kubernetes集群部署前言k8s全称kubernetes,k8s是为容器服务而生的一个可移植容器的编排管理工具,越来越多的公司正在拥抱k8s,并且当前k8s已经主导了云业务流程,推动了微服务架构等热门技术的普及和落地。首先,我们从容器技术谈起,在容器技术之前,大家开发用虚拟机比较多,比如vmware和openstack,我们可以使用虚拟机在我们的操作系统中模拟出多台子电脑(Linux),子电脑之间是相互隔离的,但是虚拟机对于开发和运维人员而言,存在启动慢,占用空间大,不易迁移的缺点。接着,容
2022-05-05 15:19:05
713
2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人