k8s
文章平均质量分 76
milo.qu
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
k8s-项目部署案例
修改了ConfigMap,但是Pod依旧依然使用的是之前的ConfigMap,简单粗暴的解决方法,java-demo做个滚动升级。现在已经将数据库的配置修改到ConfigMap了,将ConfigMap中mysql的数据库连接地址改下。在编写的Deploymentyaml中使用ConfigMap,跟Containers同一层级。mysql启动好后,将SQL拷贝到mysql的容器中。将原来数据库的数据导入k8s中的mysql数据库。检查配置文件是否为修改后的ConfigMap内容。在k8s平台部署项目流程。原创 2024-02-08 18:11:05 · 1764 阅读 · 0 评论 -
kubernetes-Ingress最佳方式对外暴露应用
看到k8s-node2节点监听着80端口,这个跟service不一样,service是所有的后端pod都会监听80/443端口,这个是只有部署ingree-nginx的那台机器会监听80/443端口。hostNetwork: true - 当前的网络使用主机节点网络对外提供服务,如果在不做任何的配置下,刚才创建的。--key=blog.ctnrs.com-key.pem - 自签证书Key。--cert=blgo.ctnrs.com.pem - 自签证书。Ingress-Nginx高可用方案。原创 2024-02-08 09:46:40 · 1266 阅读 · 0 评论 -
k8s-深入理解Service(为Pod提供负载均衡和发现)
可以看到你请求的ServiceName,本质请求的是CoreDNS,CoreDNS保存有从K8s获得的A记录,然后返回真实服务IP。在实际生产中,k8s的集群不会直接暴露在公网中,一般会在k8s集群前加一个负载均衡器,这个负载均衡器暴漏在公网。k8s默认使用iptables模式,如果要使用IPVS模式,需要单独启用IPVS模式,见下一小节。Iptables有性能衰减,k8s已将IPVS加入,IPVS性能非常稳定,建议使用IPVS。正常解析到了,在程序代理里,可以使用ServiceName替换以前写的IP。原创 2024-02-05 06:57:26 · 1822 阅读 · 0 评论 -
k8s-常用工作负载控制器(更高级管理Pod)
strategy.rollingUpdate.maxSurge: 25% - 我们之前不是正常副本数设置了3个,升级的时候,你可以发现启动了1个新的,这时变为4个pod了(既3+3*0.25=3.75,不够1个算1个=4),这个参数就是用来配置,滚动更新时,Pod的最大副本数量。strategy.rollingUpdate.maxUnavailable: 25% - 滚动更新过程中,最大不可用Pod副本数量,比如总共10个副本,一下5个副本不可用,直接导致提供并发服务不够用了。原创 2024-02-04 17:59:17 · 1412 阅读 · 0 评论 -
kubernetes-深入理解Pod对象:调度
3、Controller-Manager 通过 APIServer 提供的 watch 实时监听 Pod 事件,发现有新的 Pod 要创建,Pod 控制器开始接管并创建 Pod(此时Pod状态属于pending中,即pod创建中或pod创建完成,但未被调度),创建完成后将结果上报给 APIServer。如果同一节点上,有10个容器,在部署的时候,不做资源限制,当其中的一个或几个容器突然CPU或内存飙升,可能会占满服务器的资源,导致其他的容器不能再正常提供服务,所以有必要对Pod(容器)做出资源限制。原创 2024-02-03 22:36:59 · 1026 阅读 · 0 评论 -
kubernetes-深入理解Pod对象:基本管理
先在容器web的/data目录下创建了一个index.html然后退出,再进入容器test的/data目录下,发现/data目录下的文件是一致的,证明他们是共享存储。同一Pod下,两个容器查看到相同的网络以及监听端口,容器"web"之所以没有对应的命令,是因为它是个nginx容器,如果有的话,如刚才所有应该保持一致。进入容器“test”通过wget命令去访问容器“web”的nginx页面,如果访问到了Nginx页面,说名两个容器直接网络是互通的。将pod.yaml改名pod-net-test.yaml。原创 2024-02-01 00:06:49 · 476 阅读 · 0 评论 -
kubernetes-资源编排(YAML)
把-o yaml 的yaml换成 json, 就可以导出JSON格式的文件,一般json主要用于传输对接yaml信息用的,正常主要用yaml执行kube操作。create可以创建各种资源以及支持各种创建格式(json、yaml以及命令行),而apply主要是通过yaml创建资源以及更新。注意:这种先通过create再导出yaml的方式,还要看kubectl是否支持你当前需要创建的资源,不支持也是不行的。name:web #资源的名字,在同一个namespace中必须唯一。原创 2024-01-30 11:30:07 · 1095 阅读 · 0 评论 -
kubernetes-kubectl命令行管理工具
localhost:8080 - 这是一个kube-apiserver的非安全端口,还有一个对外端口是6443,kubectl默认先连接8080(二进制默认开始8080,kubeadmin默认关闭8080),如果配置有kubeconfig(.kube/config)就直接走这个配置连接安全端口(所谓安全端口,就是有权限验证的端口)。这个命令能查看的资源,可以通过kubectl api-resources命令列出来的资源,都可以通过get查看。一、kubectl与kubeconfig的关系。原创 2024-01-29 21:31:57 · 831 阅读 · 0 评论 -
kubernetes-快速部署一套k8s集群
下载完后还需要修改里面定义Pod网络(CALICO_IPV4POOL_CIDR),与前面kubeadm init的 --pod-network-cidr指定的一样。--image-repository 由于默认拉取镜像地址k8s.gcr.io国内无法访问,这里指定阿里云镜像仓库地址。--pod-network-cidr Pod网络,与下面部署的CNI网络组件yaml中保持一致。--service-cidr 集群内部虚拟网络,Pod统一访问入口。初始化完成后,最后会输出一个join命令,先记住,下面用。原创 2024-01-29 14:57:05 · 1312 阅读 · 0 评论 -
Kubernetes 100个常用命令!
1. 检索审核日志(如果启用):检查 Kubernetes 审核日志配置以了解审核日志的位置。这些命令应该可以帮助你诊断 Kubernetes 集群以及在其中运行的应用程序。这些命令应该涵盖 Kubernetes 中的各种诊断场景。访问Prometheus和Grafana服务来查询自定义指标。转载 2023-11-09 11:55:56 · 320 阅读 · 0 评论
分享