草庐IT

k8s之Service

全部标签

【K8S】Rancher的安装&使用Rancher搭建K8S集群&Rancher的使用

1Rancher概述rancher官方文档Rancher是一个Kubernetes管理工具,让你能在任何地方和任何提供商上部署和运行集群。Rancher可以创建来自Kubernetes托管服务提供商的集群,创建节点并安装Kubernetes,或者导入在任何地方运行的现有Kubernetes集群。Rancher基于Kubernetes添加了新的功能,包括统一所有集群的身份验证和RBAC,让系统管理员从一个位置控制全部集群的访问。此外,Rancher可以为集群和资源提供更精细的监控和告警,将日志发送到外部提供商,并通过应用商店(ApplicationCatalog)直接集成Helm。如果你拥有外部

SpringCloud - Nacos 结合 K8s 优雅关闭服务(平滑升级)

问题描述在生产环境中使用springcloud框架,由于服务更新过程中,容器服务会被直接停止,部分请求仍被分发到终止的容器,导致服务出现500错误,这部分错误请求数据占用比较少,因为Pod滚动更新都是一对一。因为部分用户会产生服务器错误的情况,考虑使用优雅的终止方式,将错误请求降到最低,直至滚动更新不影响用户。这里结合nacos使用来分析。在K8s的滚动升级中,比如5个Pod服务在升级过程中,会先启动一半左右(比如:3个新的启动),然后下线一部分服务……直到所有的旧服务被新服务完全替代,简单粗暴的理解滚动升级。如果我们不涉及Nacos还好,因为K8s会保证在升级过程中,因为负载的情况很有可能在

SpringCloud - Nacos 结合 K8s 优雅关闭服务(平滑升级)

问题描述在生产环境中使用springcloud框架,由于服务更新过程中,容器服务会被直接停止,部分请求仍被分发到终止的容器,导致服务出现500错误,这部分错误请求数据占用比较少,因为Pod滚动更新都是一对一。因为部分用户会产生服务器错误的情况,考虑使用优雅的终止方式,将错误请求降到最低,直至滚动更新不影响用户。这里结合nacos使用来分析。在K8s的滚动升级中,比如5个Pod服务在升级过程中,会先启动一半左右(比如:3个新的启动),然后下线一部分服务……直到所有的旧服务被新服务完全替代,简单粗暴的理解滚动升级。如果我们不涉及Nacos还好,因为K8s会保证在升级过程中,因为负载的情况很有可能在

微服务 & 云原生:搭建 K8S 集群

为节约时间和成本,仅供学习使用,直接在两台虚拟机上模拟K8S集群搭建踩坑之旅系统环境:CentOS-7-x86_64-Minimal-2009镜像,为方便起见,直接在root账户下操作,现实情况最好不要这样做。基础准备关闭防火墙systemctldisablefirewalldsystemctlstopfirewalld关闭selinux#临时禁用selinuxsetenforce0#永久关闭selinuxsed-i's/SELINUX=permissive/SELINUX=disabled/'/etc/sysconfig/selinuxsed-i"s/SELINUX=enforcing/SE

k8s查看所有在运行pod内的镜像版本

本地跑的算法镜像有时候与线上跑的环境不一致,这时候又需要同步,每一个都去查找又很麻烦这时候查看两边的镜像,选取其中不同的地方edit一下,就方便多了名称空间更改为自己的名称空间kubectl-nxxxgetpods|grepRunning|awk'{print$1}'|xargs-r-I'{}'kubectl-nxxxgetpods{}-o=jsonpath='{.status.containerStatuses[0].image}{"\n"}'|sort查询镜像并去重,有名称空间的 记得把名称空间加上kubectl-nnamespacegetpods-ojsonpath='{.items[*

安装mysql时出现initializing database、starting service错误

纯属记录一下自己重装mysql的一点小细节一、initializingdatabase出错(图中是已修改后的)首先本人根据网上的好几种方法试了很多次,还是会出现清理不干净的情况,主要点还是要用MySQLInstaller-Communityremove一次,以及保存的文档全英文(ps.看到有说电脑名称也要英文的,本人未尝试过中文名字,给不了参照),如图点开后跟步骤走基本都能清理干净,有几率卡在50%左右的位置,等待即可删完后,检查一下其他位置的MySQL文件是否被删除,参考(8条消息)MySQL卸载以及重新安装(详细,带图)_π大猩的博客-CSDN博客重启基本可以解决initializingd

ssh: Could not resolve hostname guard.: Name or service not known

记录一下安装hbase,正确配置hbase的配置文件后,在hbase/bin目录下命令**./start-hbase.sh**启动hbase服务出现报错ssh:Couldnotresolvehostnameslave1:Nameorservicenotknownlostconnet百度后看了很多解决办法,无非就是防火墙、主机名+ip在某个文件有错误仔细排查后,发现是从教室copy回来的虚拟机+hadoop,一直默认以为master的主机名是master命令vim/etc/hosts查看所有虚拟机的localhost.localname之后发现master主机名却是master.hadoop.c

【云原生】Kubernetes(k8s)Istio Gateway 介绍与实战操作

文章目录一、概述二、Istio架构三、通过istioctl部署Istio1)安装istioctl工具2)通过istioctl安装istio3)检查四、IstioGateway五、IstioVirtualService虚拟服务六、示例演示(bookinfo)1)安装bookinfo应用1、创建命令空间2、添加label3、开始部署bookinfo2)添加路由规则3)访问服务1、通过NodePort访问2、通过externalip访问4)卸载bookinfo服务5)卸载istio七、IstioGateway示例演示1)Helm安装Nginx,Apache2)http测试1、配置Gateway2、配

k8s通过命令批量删除pod

k8s批量删除失败的pod查看所有的podkubectlgetpod--all-namespaces选择STATUS列,查看某namespace的非Running的记录,比如:kubectlgetpods-nkube-system|grepEvicted|awk'{print$1}'|xargskubectldelete-nkube-systempods解析:获取所有的pods及其状态kubectlgetpods筛选出命名空间kube-system的记录,默认视default-nkube-systemgrep选出带有Evicted字段pod|grepEvicted通过awk,获取第一列信息,也

K8S-kubectl scale(静态)扩缩容pod,K8S-kubectl autoscale(动态)扩缩容pod,K8S的HorizontalPodAutoscaler(HPA)机制自动扩容缩容

K8S-kubectlscale(静态)扩缩容pod,K8S-kubectlautoscale(动态)扩缩容pod,K8S的HorizontalPodAutoscaler(HPA)机制自动扩容缩容1、静态调整pod方式1.1通过kubectlscale命令扩缩pod1.2使用yml文件扩缩容pod2、HPA自动扩容2.1通过kubectlautoscale命令自动扩缩容pod(不推荐)2.2通过yml文件自动扩缩容pod(推荐配置)搭建K8S文档:yum安装K8Sansible搭建K8S集群:ansible搭建K8S准备至少3个机器搭建好K8S集群节点名称IPk8s-master192.168