Rancher学习日记4
1.服务网格
解析:服务网格[Service Mesh]是指用于微服务应用的可配置基础架构层[configurable infrastructure layer]。它使每个service实例之间的通信更加流畅、可靠和迅速。服务网格提供了诸如服务发现、负载均衡、加密、身份鉴定、授权、支持熔断器模式[Circuit Breaker Pattern]以及其它一系列功能。
2.微服务
解析:微服务[Microservices]是一种软件架构风格,它是以专注于单一责任与功能的小型功能区块[Small Building Blocks]为基础,利用模块化的方式组合出复杂的大型应用程序,各功能区块使用与语言无关[Language-Independent/Language agnostic]的API 集相互通信。
3.Istio
解析:Istio是由Google、IBM、Lyft等共同开源的Service Mesh[服务网格]框架,作为云原生时代下承Kubernetes、上接Serverless架构的重要基础设施层,于2017年开始进入大众视野。
4.CRI
解析:Container Runtime Interface.
5.runc
解析:runc是一个命令行工具端,它根据OCI[开放容器组织]的标准来创建和运行容器。
6.docker-shim
解析:每启动一个容器都会起一个新的docker-shim的一个进程,它直接通过指定的三个参数:容器id、boundle目录[containerd的对应某个容器生成的目录,一般位于/var/run/docker/libcontainerd/containerID]、运行时二进制[默认为runc]来调用runc的API创建一个容器。
7.Ubuntu 18.04安装Docker
解析:
[1]卸载Docker相关软件
sudo apt-get remove docker docker-engine docker.io containerd runc
[2]安装Docker相关软件
sudo apt-get update
# 安装依赖包
sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
# 添加Docker的官方GPG密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
# 验证您现在是否拥有带有指纹的密钥
sudo apt-key fingerprint 0EBFCD88
# 设置稳定版仓库
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
[3]安装Docker Engine-Community
# 更新
$ sudo apt-get update
# 安装最新的Docker-ce
sudo apt-get install docker-ce
# 启动
sudo systemctl enable docker
sudo systemctl start docker
[4]测试Docker是否安装成功
sudo docker run hello-world
8.安装Rancher 2.5.x
解析:privileged标志标量表示启用特权模式安装Rancher:
docker run -d --restart=unless-stopped \-p 80:80 -p 443:443 \--privileged \rancher/rancher:latest
为防止nginx-ingress的80、443端口冲突,可修改启动Rancher时端口映射:
sudo docker run -d --restart=unless-stopped \-p 8101:80 -p 8443:443 \--privileged \rancher/rancher:latest
9.Docker Desktop修改镜像存储位置
解析:
[1]导出wsl子系统镜像
wsl --export docker-desktop docker-desktop.tar
wsl --export docker-desktop-data docker-desktop-data.tar
[2]删除现有的wsl子系统
wsl --unregister docker-desktop
wsl --unregister docker-desktop-data
[3]重新创建wsl子系统
wsl --import docker-desktop F:\DockerData\distro docker-desktop.tar --version 2
wsl --import docker-desktop-data F:\DockerData\data docker-desktop-data.tar --version 2
10.Docker Desktop存储位置
解析:
[1]WSL发行版默认安装在C盘的%LOCALAPPDATA%/Docker/wsl目录
[2]Docker运行数据、镜像文件都存在%LOCALAPPDATA%/Docker/wsl/data/ext4.vhdx中
[3]Docker-desktop是存放程序的,docker-desktop-data是存放镜像的,这两个wsl子系统都是默认放在系统盘
11.Service三种类型
解析:
[1]ClusterIP:一个集群内部服务,默认情况外部无法访问,需要通过kubectl的代理命令转发访问
[2]NodePort:在所有节点上开放一个特定端口,将该端口的流量转发到对应的服务,是开发时经常使用的暴露Pod的方法,没有代理那么麻烦
[3]LoadBalancer:Kubernetes的负载均衡,需要把负载均衡器[集群的负载均衡器或云服务商的]与它关联起来,就可以转发流量
12.获取上下文
解析:kubectl config get-contexts
13.指定当前上下文
解析:kubectl config use-context docker-desktop
14.验证集群状态
解析:
kubectl cluster-info
kubectl get nodes
15.安装Kubernetes Dashboard
解析:
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml
16.开启API Server访问代理
解析:kubectl proxy
17.打开浏览器访问Kubernetes Dashboard
解析:
http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/#!/overview?namespace=default
18.Kubeconfig配置文件
解析:C:\Users\ssw.kube\config
19.安装nvidia-container-runtime
解析:
# rpm -ivh libnvidia-container1-1.0.0-0.1.alpha.3.x86_64.rpm
# rpm -ivh libnvidia-container-tools-1.0.0-0.1.alpha.3.x86_64.rpm
# rpm -ivh nvidia-container-runtime-1.1.1-99.docker17.06.2.x86_64.rpm
20.修改docker的default runtime
解析:编辑/etc/docker/daemon.json文件:
{"default-runtime": "nvidia","runtimes": {"nvidia": {"path": "/usr/bin/nvidia-container-runtime","runtimeArgs": []}}
}
21.Helm工具
解析:Helm把Kubernetes资源[比如deployments、services或ingress等]打包到一个chart中,而chart被保存到chart仓库。通过chart仓库可用来存储和分享chart。Helm使发布可配置,支持发布应用配置的版本管理,简化了Kubernetes部署应用的版本控制、打包、发布、删除、更新等操作。
22.容器运行时
解析:Kubernetes支持多个容器运行环境:Docker、containerd、CRI-O以及任何实现Kubernetes CRI[容器运行环境接口]。
23.metadata
解析:帮助唯一性标识对象的一些数据,包括一个name字符串、UID和可选的namespace。
24.以特权模式运行
解析:这个设置决定了在特权容器中运行的进程是否像主机中使用root运行的进程一样。特权容器可以使用诸如操纵网络堆栈和访问设备的功能。
25.ConfigMap
解析:ConfigMap允许将配置文件与镜像文件分离,以使容器化的应用程序具有可移植性。
参考文献:
[1]服务网格:https://www.zhihu.com/topic/20190714/hot
[2]Istio Handbook:Istio服务网格进阶实战:https://www.servicemesher.com/istio-handbook/
[3]深入浅出Kubernetes:https://developer.aliyun.com/live/2644
[4]Ubuntu18.04安装Docker:https://www.cnblogs.com/wt7018/p/11880666.html
[5]k8s-for-docker-desktop:https://github.com/AliyunContainerService/k8s-for-docker-desktop
[6]民生银行基于Kubernetes+GPU构建TensorFlow应用实践:https://www.kubernetes.org.cn/4738.html
[7]nvidia-docker:https://nvidia.github.io/nvidia-docker
Rancher学习日记4相关推荐
- Rancher学习日记2
1.改变Docker for Windows虚拟硬盘默认安装路径 解析:Hyper-V管理器 -> Hyper-V设置 -> 服务器 -> 虚拟磁盘. 2.Docker数据卷 解析: ...
- java的圆周率_java学习日记,圆周率的打印
前段时间看到听说学习java每天写技术贴会对自己提升很大,我现在学习java也就2个周,算不上技术贴,就写写学习日记吧. 昨天师傅给我出了一道题,说是试试用java打印圆周率. 刚开始我的思路是,如果 ...
- GPU(CUDA)学习日记(十一)------ 深入理解CUDA线程层次以及关于设置线程数的思考
GPU(CUDA)学习日记(十一)------ 深入理解CUDA线程层次以及关于设置线程数的思考 标签: cuda存储线程结构网格 2012-12-07 16:30 6298人阅读 评论(4)收藏 举 ...
- GPU(CUDA)学习日记(十三)------ CUDA内存简介
GPU(CUDA)学习日记(十三)------ CUDA内存简介 标签: cuda存储线程结构 2012-12-07 16:53 2902人阅读 评论(0)收藏 举报 分类: GPU(16) CUDA ...
- GPU(CUDA)学习日记(九)------ CUDA存储器模型
GPU(CUDA)学习日记(九)------ CUDA存储器模型 标签: cuda存储bindingcache编程api 2012-09-27 10:53 1677人阅读 评论(1) 收藏 举报 分类 ...
- 语言余一个负数_C语言学习日记(8)——整数溢出
小时候喜欢玩电子计算器,觉得很神奇,想要算什么数,立刻就能算出来.当时看着计算器的液晶屏幕就想,如果算一个很大的数,超过了屏幕上面数字的位数,会怎么样呢?试了以后结果是INF,那就是无穷大了.虽然当时 ...
- SpringMVC学习日记 1.Spring框架
SpringMVC学习日记 1.Spring框架 Spring简介 Spring框架是一个开源框架,由Rod Johnson组织和开发,生产目的在于简化企业级应用的开发. 主要特性 非侵入(no-in ...
- 微信开发学习日记(一):快速阅读5本书,掌握整体背景
2015年1月开始学习微信开发. 已经有多年开发经验了,从网上文章来看,微信开发主要是接口,然后是业务逻辑,不是很难.所以,我比较强调学习效率.一天学一点,是不能满足我的快速学习欲望的. ...
- const 指针_C语言学习日记(11)——const与指针
对于一个普通指针typet *p.p有三个最基本的能力,第一就是可以通过p = &obj来指向一个type类型对象,并随意切换指向对象.第二就是通过value = *p来读取它指向的对象的值. ...
最新文章
- 支付宝账单出来后,除了总消费,你看到你的学习支出了吗?
- 安装Oracle10g on RedHat as 4 64bit
- Spring Cloud Sleuth 服务跟踪 将跟踪信息存储到数据库
- 应用深度学习EEGNet来处理脑电信号
- [HTML/CSS]colum-gap属性
- vim编写代码时,文件末尾会多一个换行符的解决办法
- mac上java文件如何编译_如何在Mac上用Java编译和运行程序?
- onesignal php,PHP FPM源代码反刍品味之五:信号signal处理
- SpringBoot笔记整理(二)
- 在Windows XP3下搭建cocos2d-x-android开发环境
- java 取栈顶元素_java集合系列(7)Stack
- 常去阅读 12个开发人员的博客
- WPF datagrid 加入图片
- windows系统bat批处理 开机一键多个程序
- Java设计模式笔记--------工厂模式------抽象工厂模式
- 物联网数据分发利器DPS
- 基于VHDL语言的数字电子钟设计
- houdini 常用
- Unity3D打包apk的主界面和android组件共同显示
- 计算机专业面试银行的自我介绍,银行面试自我介绍范文3分钟