k8s安装应用
1 制作镜像 2 控制器管理pod 3 暴露应用 4 对外发布应用 5 日志监控maven 编译java应用创建完镜像后docker imagedocker logindocker push lizhenliang/java-demodocker search lizhenliang部署应用 kubectl create deployment java-demo --image=lizhenliang/java-demo --dry-run -o yaml > deploy.yaml删...
2024-01-10关于k8s网络
在vitual box中 使用k8s 1.19.2 和flannel 创建了一个学习环境,但网络这儿有些疑问:前提:系统 Centos 8.2网络 Host-Only问题:1.firewalld服务是否需要关闭,如果开启的话,K8s能否自己管理各node间访问规则。已有问题,Service的CLUSTER-IP在开着firewalld时,在其他主机上无法正常访问。2.flannel 显示已断开是否正常...
2024-01-10k8s核心概念
一、有了docker为什么还要使用k8s - 多容器跨主机提供服务 - 多容器分布节点部署 - 容器怎么升级 - 怎么高效管理这些容器二、docker可以实现什么 - 环境标准化 使用同一个镜像环境,保证测试开发生产等环境的一致性 - 快速部署和销毁 节省部署环境的时间和...
2024-01-10k8s概念和安装
核心概念cluster计算,存储,网络资源的集合Master主要负责调度kube-apiserverkube-schedulerkube-conroller-manageretcdpod网络Node运行容器应用kubeletkube-proxypod网络Pod最小调度单位相同的ip和port,可以用localhost通信,共享volumeControllerk8s通过controller来管理pod,定义了pod的部署特性,如副本个数,在...
2024-01-10k8s部署pod
运行Deployment通过kubectl run --image= --replicas=通过kubectl apply -f xxx.yml (正式用)伸缩增加或减少pod的个数故障转移通过健康检查发现node不可用,在其他node上创建pod,维持副本总数不变,故障恢复后,不会重新调度回去label控制pod位置k8s有几个自己维护的lable,如nodeSelectorkubectl label node xxnode k=v ...
2024-01-10k8s的etcd
本文内容纲要:k8s的etcdetcd是一个高可用的分布式键值(key-value)数据库。etcd内部采用raft协议作为一致性算法,etcd基于Go语言实现。etcd是一个服务发现系统,具备以下的特点:简单:安装配置简单,而且提供了HTTP API进行交互,使用也很简单安全:支持SSL证书验证快速:根据官方提供的benchmark数据,...
2024-01-10K8s初识
k8s系统架构从系统架构来看,k8s分为2个节点Master 控制节点 指挥官Node 工作节点 干活的1.Master节点组成API Server :提供k8s API接口主要处理Rest操作以及更新Etcd中的对象是所有资源增删改查的唯一入口。Scheduler:资源调度器根据etcd里的节点资源状态决定将Pod绑定到哪个Node上Controller Manager负责保障p...
2024-01-10k8s之pod调度
Pod调度在默认情况下,一个pod在哪个node节点上运行,是由scheduler组件采用相应的算法计算出来的,这个过程是不受人工控制的。但是在实际过程中,这并不满足需求,因为很多情况下,我们想控制某些pod到达某些节点上,那么应该怎么做呢?这就要求了解k8s对pod的调度规则,k8s提供了四大类调度方...
2024-01-10K8s深入了解
Ingress控制器介绍1.没有ingress之前,pod对外提供服务只能通过NodeIP:NodePort的形式,但是这种形式有缺点,一个节点上的PORT不能重复利用。比如某个服务占用了80,那么其他服务就不能在用这个端口了。2.NodePort是4层代理,不能解析7层的http,不能通过域名区分流量3.为了解决这个问题,我们需要用到资...
2024-01-10k8s之DaemonSet
DS介绍DS类型的控制器可以保证集群中的每一台(或指定)节点上都运行一个副本,一般适用于日志收集,节点监控等场景。也就是说,如果一个pod提供的功能是节点级别的(每个节点都需要且只需要一个),那么这类pod就适合使用DS类型的控制器创建 DaemonSet控制器的特点每当向集群中添加一个节...
2024-01-10k8s之ReplicaSet
ReplicaSet介绍ReplicaSet的主要作用是保证一定数量的pod能够正常运行,它会持续监听这些pod的运行状态,一旦pod发生故障,就会重启或重建。同时它还支持对pod数量的扩缩容和版本镜像的升级。 ReplicaSet的资源清单文件apiVersion: apps/v1 #版本号kind: ReplicaSet #类型metadata: #元数据 name: #rs名称 namesp...
2024-01-10k8s内网和办公网络的打通实践
目录1、背景2、环境说明3、总体思路4、网络打通的具体实现4.1 检查现有网络连通情况4.1.1 办公网络和k8s node4.1.2 k8s node和pod及svc4.2 添加地址4.3 配置静态路由4.4 配置策略4.5 验证配置4.5.1 web界面检查4.5.2 pc网络检查5、dns解析打通的具体实现5.1 配置dns条件转发5.2 验证配置6、小结1...
2024-01-10k8s之HorizontalPodAutoscaler
HPA(pod水平自动伸缩)介绍在前面的学习中,我们可以通过手工执行kubectl scale命令实现pod扩容,但是这显然不符合k8s的定位目标:自动化、智能化。k8s期望可以通过监测pod的使用情况,实现pod数量的自动调整,于是就产生了HPA这种控制器HPA可以获取每个pod利用率,然后和HPA中定义的指标进行对比,...
2024-01-10为什么 k8s 暴露的外网 IP 实际都是内网 IP
按照这个教程:minikube 启动一个 nginx 服务 ,跑了一遍 Nginx 在 k8s 下的用法,但是发现一个问题,就是暴露的外网 IP 实际都是内网 IP。先这样:kubectl create deployment hello-nginx --image=nginx:latest再这样:kubectl expose deployment hello-nginx --type=NodePo...
2024-02-10二进制部署K8s集群第25节之k8s技术点整理
容器几个知识点容器作用• 可以把应用程序代码及运行依赖环境打包成镜像,作为交付介质,在各环境部署• 可以将镜像(image)启动成为容器(container),并且提供多容器的生命周期进行管理(启、停、删)• container容器之间相互隔离,且每个容器可以设置资源限额• 提供轻量级虚拟化功能,容器就...
2024-01-10Es问题汇总
1.索引类型为Date问题"activitytime": { "type": "date", "format": "epoch_second"}报错:message [ElasticsearchException[Elasticsearch exception [type=mapper_parsing_exception, reason=failed to parse field [activitytime] of type [date] in document with id "468954495...
2024-01-10混搭修仙技能增福汇总
混搭修仙技能增福有哪些?游戏里面各种技能带来的增福数值是有区别的,这个数值可以用来当做技能选择的一个参考。下面带来混搭修仙技能增福大全,各位玩家们快来看看吧。混搭修仙技能增福一览1.【第一部分】法术—东来紫府经(力量)增福:1.25法术—第五套广播体操(力量)增福:1.2特殊技能—无想...
2024-01-10Falsk当前路径的诡异问题
问题描述我随便写个项目测试F:/gggggg/index.py代码再简单不过了,就是输出当前工作路径from flask import Flaskapp = Flask(__name__)import os@app.route('/')def xxxx():print(os.path.abspath('.'))return 'Hello World!'if name == '__main__':app.run(port=8000, debug=True)启动后访问http://127.0.0.1/:8000...
2024-01-10iso8859-1,GBK,UTF-8之间转码问题
大概是这样想的,在原有的基础上新加一个中间前置转发。但是数据转码后数据不对。在对一串数据做一系列操作后,大概如下 (1)--------------- String pwdString = new String(byteUtf8,"ISO8859-1"); (2)--------------- byte[] gg = pwdString.getBytes("GBK"); (3)--------------- String g...
2024-01-10flask 验证登录问题
class User(db.Model):__tablename__ = "user"id = db.Column(db.Integer, primary_key=True, autoincrement=True)name = db.Column(db.String(100), unique=True)pwd = db.Column(db.String(510))addtime = db....
2024-02-26k8s部署docker容器的实现
环境:(docker ,k8s集群),继续上次docker 启动的java程序的镜像为例(https://www.jb51.net/article/189462.htm)将制作的镜像推送到docker的私有仓库docker tag demo-img:latest localhost:5000/demo-img:1.0docker push localhost:5000/demo-img:1.0k8s部署该镜像k8s创建命名空间及secret创建命名空间cl-test,这里名字根据自己的命名规范自...
2024-01-10docker时区问题和迁移数据问题
最新解决办法:-v /usr/share/zoneinfo/Asia/Shanghai:/etc/timezone -v /etc/localtime:/etc/localtime:rodocker run --name tomcat-service-0 -d -p 8080:8080 -v /usr/share/zoneinfo/Asia/Shanghai:/etc/timezone -v /etc/localtime:/etc/localtime:ro -v /home/zjy/logs/tomcat-...
2024-01-10k8s和Docker关系简单说明
最近项目用到kubernetes(以下简称k8s,k和s之间有8个字母)。虽然之前也有简单使用过,但最近发现k8s概念较多,命令也有些不够用了,故想借此机会写点东西,更全面认识并使用k8s。本篇文章目的:让你更全面了解k8s概念,以及学到在工作中常用的操作。整体更偏向于原理和应用。在正式开始k8s之前,...
2024-01-10K8S 弃用 Docker 了?Docker 不能用了?别逗了!
概览2013 年Docker 是在 2013 年的 PyCon 上首次正式对外公布的。它带来了一种先进的软件交付方式,即,通过容器镜像进行软件的交付。工程师们只需要简单的 docker build 命令即可制作出自己的镜像,并通过 docker push 将其发布至 DockerHub 上。通过简单的 docker run 命令即可快速的使用指定镜像启动自己的服...
2024-01-10k8s 访问Pod 时好时坏
k8s 集群环境: 1 master, 2 Node在外网通过NodeIp:Port 可以正常访问, 内网NodeIp:Port 访问会一次成功一次失败的循环在pod容器中通过ClusterIP:Port 访问也是一次成功一次失败, 效果如下:通过podIP:Port 访问正常replicas: 2, 都可以通过podIP:Port 访问正常有人知道啥问题吗,回答原因找到了:这是由于通过 kubeadm安装的配...
2024-01-10docker容器和镜像区别
这篇文章希望能够帮助读者深入理解Docker的命令,还有容器(container)和镜像(image)之间的区别,并深入探讨容器和运行中的容器之间的区别。 当我对Docker技术还是一知半解的时候,我发现理解Docker的命令非常困难。于是,我花了几周的时间来学习Docker的工作原理,更确 切地说,是关于Docker统...
2024-01-10