当前位置: 代码网 > it编程>编程语言>Java > 半小时学会在Win10上部署K8S,玩转云原生【全干货,建议收藏】

半小时学会在Win10上部署K8S,玩转云原生【全干货,建议收藏】

2024年08月06日 Java 我要评论
终极手撕架构师的学习笔记:分布式+微服务+开源框架+性能优化《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门即可获取!扫码获取!!(备注Java获取)**终极手撕架构师的学习笔记:分布式+微服务+开源框架+性能优化[外链图片转存中…(img-ZeNYAISJ-1712406953841)]《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门即可获取!

replication controller

replication controller,简称rc,她用来干啥呢?就是通过她来实现pod副本数量的自动控制!rc确保任意时间都有指定数量的pod“副本”在运行。

如果为某个pod创建了rc并且指定3个副本,它会创建3个pod,并且持续监控它们。如果某个pod不响应,那么replication controller会替换它,保持总数为3。如果之前不响应的pod恢复了,现在就有4个pod了,那么replication controller会将其中一个终止保持总数为3。如果在运行中将副本总数改为5,replication controller会立刻启动2个新pod,保证总数为5。还可以按照这样的方式缩小pod,这个特性在执行滚动升级时很有用。

注意:删除rc,不会影响该rc已经创建好的pod。在逻辑上pod副本和rc是解耦和的!创建rc时,需要指定pod模板(用来创建pod副本的模板)和label(rc需要监控的pod标签)。

由replication controller衍生出deployment,与rc相似90%,目的是更好地解决pod编排。暂时不讨论。

horizontal pod autoscaler,简称hpa,pod横向自动扩容智能控件。与rc,deployment一样,也属于k8s的一种资源对象。她的实现原理是通过追踪分析rc控制的所有目标pod的负载变化情况,来确定是否针对性地调整目标pod的副本数。

service

微服务架构中的一个“微服务”,她是正真的新娘,而之前的pod,rc等资源对象其实都是嫁衣。

每个pod都会被分配一个单独的ip地址,而且每个pod都提供了一个独立的endpoint(pod lp + containerport)以被客户端访问,现在多个pod副本组成了一个集群来提供服务,客户端要想访问集群,一般的做法是部署一个负载均衡器(软件或硬件),为这组pod开启一个对外的服务端口如8000端口,并且将这些pod的endpoint列表加入8000端口的转发列表中,客户端就可以通过负载均衡器的对外ip地址 + 服务端口来访问此服务,而客户端的请求最后会被转发到哪个pod,则由负载均衡器的算法所决定。

k8s的server定义了一个服务的访问入口地址,前端(pod)通过入口地址访问其背后的一组由pod副本组成的集群实例,service与其后端pod副本集群之间通过label selector 实现“无缝对接”。

03 minikube


minikube相当于一个运行在本地的kubernetes单节点,我们可以在里面创建pods来创建对应的服务。

04 安装


说的安装,还得奉劝大家提前沐浴更衣,调整好心态。倒不是因为步骤有多难,多复杂,而是因为某些网站因为技术不成熟,你始终访问不到,而焦躁。关于minikube,一些网上人说使用阿里的包,可能福报厂确实拉了分支,改了拉取镜像的地址,但是他们并没有提供编译好的版本,所以使用官方的版本就好。https://github.com/kubernetes/minikube 。

另外,一定要注意使用release版本(我用1.9.2版),别下测试版,为什么这么提醒?反正我没有因为版本问题,卡了2天,demo都没跑出来。

kubectl 也从官方下载 https://kubernetes.io/docs/tasks/tools/install-kubectl/ 即可。

将两个文件放到一个文件夹下,然后在环境变量里path一下

安装docker 不是主要矛盾,大家自行搜一下,只要确认好环境,再次强调最好升级一下win10,这样操作起来更方便一些,docker toolbox用起来真的不行。

在正式安装之前,还需要设置一个虚拟交换机

接下来,就是安装k8s环境了,记得使用管理员prowshell

minikube start --image-mirror-country=cn --registry-mirror=https://registry.docker-cn.com  --image-repository=registry.cn-hangzhou.aliyuncs.com/google_containers --hyperv-virtual-switch=“minikubaswitch”

参数说明:

天朝专用参数

–image-mirror-country=cn

国内docker registry

–registry-mirror=https://registry.docker-cn.com

国内镜像源

–image-repository=registry.cn-hangzhou.aliyuncs.com/google_containers

外部交换机

–hyperv-virtual-switch=“minikubaswitch”

接下来就是漫长的等待,安装成功后,会多出一个minikube的虚拟机

重点来了啊,如果之前下载失败了,到自己的用户下面把这个.minikube文件夹删除了,重新来一边,如果还是不行,继续删了重来,不要问为什么,问就是上网需要科学。

接下来就需要部署 deployment

ps e:\devlop\envs\k8s\test1> kubectl create -f 1.yml

deployment.apps/datalookerserver created

使用下面的 yml

apiversion: apps/v1

kind: deployment

metadata:

name: datalookerserver

spec:

selector:

matchlabels:

app: datalookerserver

replicas: 2

template:

metadata:

labels:

app: datalookerserver

spec:

containers:

- name: datalookerserver

image:  nginx

# nginx

#datalooker-server:1.0-snapshot

imagepullpolicy: always

ports:

- containerport: 80

这里注意image属性,还是使用公网的image,这样比较容易通过,使用本地registry可能因为链路访问问题,导致失败,具体情况,可以异步到参考链接【2】,里面对这个问题有一个比较清楚的阐释。

接下来,可以使用 kubectl get pods -o wide 查看pod状态

使用, kubectl describe pod datalookerserver-56dbc49bc8-6sdms可以查看具体pod的具体信息

接下来使用相同的指令,创建service

ps e:\devlop\envs\k8s\test1> kubectl create -f 2.yml

service/datalookerserver created

yml如下:

apiversion: v1

kind: service
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、oppo等大厂,18年进入阿里一直到现在。

深知大多数java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注java获取)

img

最后

终极手撕架构师的学习笔记:分布式+微服务+开源框架+性能优化

image

《一线大厂java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》
扫码获取!!(备注java获取)**

img

最后

终极手撕架构师的学习笔记:分布式+微服务+开源框架+性能优化

[外链图片转存中…(img-zenyaisj-1712406953841)]

《一线大厂java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com