草庐IT

云原生小技巧 :OrbStack — 本地 K8s 环境的域名映射优化,开发者的新宠

今天,我要介绍的这个新伙伴: OrbStack[2],它的Slogan是: Saygoodbyetoslow,clunkycontainersandVMs。不过,说实话,我最喜欢的还是它的 Localdomainnames 的能力,因为它是零配置的。ContainerdomainnamesOrbStack 对待容器的态度可谓是亲(强)密(大)无间,它为每个容器赋予了一个独一无二的域名。举个例子,假设我在本地启动了一个名为 getting-started 的容器,并将容器内的 80 端口映射到了本地的 3000 端口dockerrun-d-p3000:80--namegetting-starte

Kubernetes集群网络:k8s对外暴露服务的方式

一、Master集群网络master集群的网络比较简单,和通常的负载均衡集群一样。多个节点的apiserver的ip与端口(6443)使用负载均衡的ip与端口。在master/node节点join时均使用此负载均衡的ip与端口,这样就是master节点的集群网络。master节点之间的网络:如果有多个master节点,它们之间需要通过etcd这个分布式键值存储来保持数据的一致性。etcd通常使用Raft协议来实现高可用和容错性,它需要每个节点之间都能够互相通信,因此需要配置一个可靠的网络连接。master节点和node节点之间的网络:master节点和node节点之间需要通过kube-apis

K8s-服务网格实战-配置 Mesh(灰度发布)

在上一篇 k8s-服务网格实战-入门Istio中分享了如何安装部署 Istio,同时可以利用 Istio 实现 gRPC 的负载均衡。今天我们更进一步,深入了解使用Istio的功能。从Istio的流量模型中可以看出:Istio支持管理集群的出入口请求(gateway),同时也支持管理集群内的mesh流量,也就是集群内服务之间的请求。本次先讲解集群内部的请求,配合实现以下两个功能:灰度发布(对指定的请求分别路由到不同的service中)配置service的请求权重灰度发布在开始之前会部署两个 deployment 和一个 service,同时这两个 deployment 所关联的 Pod 分别对

k8s集群调度之固定节点调度

1.指定调度节点1.1.实例一:pod.spec.nodeName将pod直接调度到指定的Node节点上,会跳过Scheduler的调度策略,该匹配规则是强制匹配。vimpod.yamlapiVersion:apps/v1#这指定了使用的KubernetesAPI版本是apps/v1kind:Deployment#指定要创建的对象类型,这里是deploymentmetadata:#元数据信息,包括对象的名称、标签等信息name:my-nginx#对象的名称,这里是my-nginxspec:#指定deployment对象的配置信息replicas:4#指定需要运行的副本数,这里是4selecto

IDEA工具远程DEBUG调试K8S环境中的容器应用(Java应用)

应用场景:IDEA远程调试kubernetes环境中的容器应用(Java应用)应用场景:Java开发的项目在本地运行正常,然后将容器运行方式的项目发布到远端服务器上线运行后,出现了异常情况,此时频繁去修改代码发布镜像进行问题验证,将耗费较大的时间成本。为了提高问题定位和代码调试效率,使用端口代理的方式,将远端容器应用的端口映射出来,使用远端代码调试方式进行debug代码。1.修改服务部署的deployment.yaml文件修改指定服务的deployment.yaml文件,为容器添加远程调试的JVM配置参数:env:-name:JAVA_TOOL_OPTIONSvalue:-agentlib:j

kubernetes/k8s驱逐机制总结篇

概述k8s的驱逐机制是指在某些场景下,如node节点notReady、node节点压力较大等,将pod从某个node节点驱逐掉,让pod的上层控制器重新创建出新的pod来重新调度到其他node节点。这里也将kube-scheduler的抢占调度纳入到了驱逐的讨论范围内,因为当调度高优先级的pod时发现资源不足,会驱逐掉node节点上原有的低优先级的pod。根据发起驱逐的组件,驱逐可以分为3类:(1)由kubelet发起的驱逐:节点压力驱逐;kubelet周期性检查自身节点资源压力,当节点压力较大时,会驱逐自身node节点上的pod,以回收资源,降低节点资源压力;(2)由kube-control

Kubernetes(k8s)上搭建一主两从的mysql8集群

Kubernetes上搭建一主两从的mysql8集群环境准备搭建nfs服务器安装NFS暴露nfs目录开启nfs服务器安装MySQL集群创建命名空间创建MySQL密码的Secret安装MySQL主节点创建pv和pvc主节点的配置文件部署mysql主节点安装第一个MySQLSlave节点创建pv和pvc第一个从节点配置文件部署mysql从节点安装第二个MySQLSlave节点创建pv和pvc第二个从节点配置文件部署mysql第二个从节点使三台服务器组成一个集群查看主节点的状态连接第一个Slave连接第二个Slave测试主从集群环境准备本文章视频教程地址:https://www.bilibili.c

k8s之service五种负载均衡byte的区别

1,什么是Service?1.1Service的概念​在k8s中,service是一个固定接入层,客户端可以通过访问service的ip和端口访问到service关联的后端pod,这个service工作依赖于在kubernetes集群之上部署的一个附件,就是kubernetes的dns服务(不同kubernetes版本的dns默认使用的也是不一样的,1.11之前的版本使用的是kubeDNs,较新的版本使用的是coredns),service的名称解析是依赖于dns附件的,因此在部署完k8s之后需要再部署dns附件,kubernetes要想给客户端提供网络功能,需要依赖第三方的网络插件(flan

修炼k8s+flink+hdfs+dlink(三:安装dlink)

一:mysql初始化。mysql-uroot-p123456createdatabasedinky;grantallprivilegesondinky.*to'dinky'@'%'identifiedby'dinky'withgrantoption;flushprivileges;二:上传dinky。上传至目录/opt/app/dlinktar-zxvfdlink-release-0.7.4.tar.gzmvdlink-release-0.7.4dinkycddinky#首先登录mysqlmysql-udinky-pdinkymysql>usedinky;mysql>source/opt/ap

【云原生-K8s】Kubernetes安全组件CIS基准kube-beach安装及使用

基础介绍kube-beach介绍kube-beach下载百度网盘下载wget下载kube-beach安装kube-beach使用基础参数配置信息解读示例修复建议修复一个安全漏洞【1.2.18】结果说明kube-beach跳过漏洞漏洞定义漏洞定义yaml说明漏洞生成为INFO基础介绍为了保证集群以及容器应用的安全,Kubernetes提供了多种安全机制,限制容器的行为,减少容器和集群的攻击面,保证整个系统的安全性。互联网安全中心(CIS,CenterforInternetSecurity),是一个非盈利组织,致力为互联网提供免费的安全防御解决方案官网:https://www.cisecurity