我是靠谱客的博主 飞快毛巾,最近开发中收集的这篇文章主要介绍Rancher学习日记9,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1.Docker登录阿里云镜像仓库
解析:

$ sudo docker login --username=913292836@qq.com registry.cn-shanghai.aliyuncs.com
$ sudo docker tag [ImageId] registry.cn-shanghai.aliyuncs.com/k8srancher/hello-world:[镜像版本号]
$ sudo docker push registry.cn-shanghai.aliyuncs.com/k8srancher/hello-world:[镜像版本号]

2.Rancher服务发现
解析:Rancher为每个服务创建了两个Service类型,一个为ClusterIP方式,一个为NodePort。

3.Ingress Controller
解析:Ingress Controller支持根据Host、Path的负载均衡。

4.RKE
解析:RKE[Rancher Kubernetes Engine],用于构建Kubernetes集群的CLI。

5.Docker四种网络模式
解析:
[1]host模式:使用–net=host指定
[2]container模式:使用–net=container:NAME_or_ID指定
[3]none模式:使用–net=none指定
[4]bridge模式:使用–net=bridge指定,默认设置

6.持久存储卷[Persistent Volume,PV]和持久存储卷声明[Persistent Volume Claim,PVC]
解析:
[1]PV和PVC使得Kubernetes集群具备了存储的逻辑抽象能力,使得在配置Pod的逻辑里可以忽略对实际后台存储技术的配置,而把这项配置的工作交给PV的配置者。
[2]存储的PV和PVC的这种关系,跟计算的Node和Pod的关系是非常类似的;PV和Node是资源的提供者,根据集群的基础设施变化而变化,由Kubernetes集群管理员配置;而PVC和Pod是资源的使用者,根据业务服务的需求变化而变化,由Kubernetes集群的使用者即服务的管理员来配置。

7.Rancher项目
解析:
[1]default项目:可以理解为非系统项目的个人自定义项目
[2]system项目:可以理解为具有所有Kubernetes和Rancher系统命名空间的系统项目

8.unless-stopped
解析:unless-stopped和always基本一样,只有一个场景unless-stopped有点特殊:如果容器正常stopped,然后机器重启或docker服务重启,这种情况下容器将不会被restart。

9.配置Docker镜像站
解析:该脚本可以将–registry-mirror加入到Docker配置文件/etc/docker/daemon.json中。

curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io

10.容器部署4种方式
解析:
[1]单机Docker部署微服务
[2]单机Docker批量部署微服务
[3]集群Docker批量部署微服务
[4]集群K8S部署微服务

11.Service Mesh
解析:服务网格是一个基础设施层,用于处理服务间通信。云原生应用有着复杂的服务拓扑,服务网格保证请求在这些拓扑中可靠地穿梭。在实际应用当中,服务网格通常是由一系列轻量级的网络代理组成的,它们与应用程序部署在一起,但对应用程序透明。

12.微服务化框架风格
解析:大服务拆分为单个小服务,子服务专注特定业务、高内聚低耦合,集群化部署独立开发/测试,服务彼此物理独立但又相互调用。

13.LoadBalancer
解析:LoadBalancer服务是暴露服务到internet的标准方式,它借助Cloud Provider创建一个外部的负载均衡器,并将请求转发到<NodeIP>:NodePort[向节点导流]。

14.通过Kubectl伸缩WebAPI
解析:

kubectl scale deployment k8s-demo --replicas=3 --namespace=aspnetcore

15.自动伸缩WebAPI实例
解析:

kubectl autoscale deployment k8s-demo --min=1 --max=3 --namespace=aspnetcore

16.Istio
解析:Istio作为K8S原生的Service Mesh,将业务应用的流量控制、服务发现、安全通信等强大的功能实现变得简单明了,同时对业务应用和开发人员透明,还可以跨语言使用,大大降低了开发难度,带给微服务开发领域一次颠覆性的变革。

17.K8S中的名字空间
解析:
[1]default:创建资源时如果不指定Namespace就会放到这里
[2]kube-system:K8S创建的系统资源都会放到这个Namespace中

18.故障转移FailOver
解析:所谓K8S中的故障转移,就是当某个Node节点失效或宕机时,会将该Node上所运行的所有Pod转移到其它健康的Node节点上继续运行。

19.K8S中的Service
解析:K8s的Service网络只是一个集群内部网络,集群外部是无法直接访问的。

20.Network Policy
解析:当Pod被定义了Network Policy时,只有Policy允许的流量才能访问Pod,即帮助K8S实现更为精细的流量控制,实现租户隔离机制。

21.部署Canal
解析:kubectl apply -f https://docs.projectcalico.org/v3.8/manifests/canal.yaml

22.创建busybox的Pod应用
解析:kubectl run busybox --rm -it --image=busybox /bin/sh

23.DaemonSet
解析:
[1]保证在每个Node上都只运行一个Pod副本
[2]kube-flannel-ds和kube-proxy是K8S以DaemonSet方式运行的系统组件,分别为K8S集群负责提供网络连接支持和代理支持

24.K8S中的3个端口
解析:
[1]nodePort:Node节点上监听的端口,即外部访问的Service端口
[2]port:ClusterIP上监听的端口,即内部访问的Service端口
[3]targetPort:Pod上监听的端口,即容器内部的端口

25.DNS访问Service
解析:每当有新的Service被创建时,coredns会添加该Service的DNS记录,于是在Cluster中的Pod便可以通过servicename.namespacename来访问Service了,从而可以做到一个服务发现的效果。

参考文献:
[1]如何简洁优雅地实现Kubernetes的服务暴露:https://www.infoq.cn/article/cdjdwggy4fmphcudsde3
[2]暴露服务:https://docs.rancher.cn/docs/rancher2/v1.6-migration/expose-services/_index/
[3]Docker的4种网络模式:https://developer.aliyun.com/article/653905
[4]Docker的安装&基本使用:https://zhuanlan.zhihu.com/p/344755207
[5]gRPC Python:https://grpc.io/docs/languages/python/quickstart/
[6].NET Core on K8S学习与实践系列文章:https://www.cnblogs.com/edisonchou/p/aspnet_core_k8s_artcles_index.html
[7]K8S网络详解CNI与CNM网络模型:https://www.jianshu.com/p/ea77ece7158d
[8]Kubernetes网络三部曲之一Pod网络:https://blog.csdn.net/yang75108/article/details/101101384
[9]Kubernetes网络三部曲之二Service网络:https://blog.csdn.net/yang75108/article/details/101267444
[10]Kubernetes网络三部曲之三NodePort vs LoadBalancer vs Ingress:https://blog.csdn.net/yang75108/article/details/101268208

最后

以上就是飞快毛巾为你收集整理的Rancher学习日记9的全部内容,希望文章能够帮你解决Rancher学习日记9所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(56)

评论列表共有 0 条评论

立即
投稿
返回
顶部