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

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来创建对应的服务。

Minikube is a tool that makes it easy to run Kubernetes locally. Minikube runs a single-node Kubernetes cluster inside a VM on your laptop for users looking to try out Kubernetes or develop with it day-to-day

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面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门即可获取!

  • 17
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值