Rancher 2.0 简单使用 重要部分截取
学习地址 : https://rancher.com/docs/rancher/v2.x/en/quick-start-guide/
Install Rancher
sudo docker run -d --restart=unless-stopped -p 80:80 -p 443:443 rancher/rancher
Create The Cluster
      
      
第 9和10步会有坑:
粘贴复制的如果是这样的
sudo docker run -d --privileged --restart=unless-stopped --net=host -v /etc/kubernetes:/etc/kubernetes -v /var/run:/var/run rancher/rancher-agent:v2.0.0 --server https://111.231.54.107 --token 6vjzssptlf2scfnl4vtfn58xhc6p62s6tbrfv9ct8j2vqt2fm4drpz --ca-checksum f4d5d930d3b0265e5cac3ad8380dafe5513179e53f55d5950c1eef2559eaa91d --etcd --controlplane --worker
那添加多个节点会出问题 由于 下图显示的 requestedHostname 很可能会冲突 默认貌似是 node ip地址的前三位
解决方法:必须添加一个参数 直接接在 docker run -d 后面 --hostname=xxx 添加在最后面没用(注意 sudo 要加上)
命令前加sudo执行和用真正的root用户执行有什么区别?
sudo可以用用户的环境。例如,假如我在用户pansz环境中为vim配好了一套很习惯的配置,
直接用root的话,那么vim就使用root用户的环境了,我为pansz用户定制的屌炸天的插件都
没有了,vim成了原始配置。而用sudo则可以保持用户的环境。
如果用切换账号登录的方式使用root跟普通用户,那么你势必需要为root跟自己的普通用户
同步配置两套环境,所有的常用的软件的配置都需要两套,久而久之,你发现维护两套环
境太累了,这样的同步不如直接用root方便。然后,就变成了直接用root裸奔了。因而切换
用户的机制实际上鼓励用root裸奔。
但有了sudo之后,就可以只为用户配置一套环境。获得root权限时仍然使用用户环境。这样,
允许用户一直保持普通用户环境。
同理,当一个主机有多个管理员时,每个人可能都不喜欢别人给root环境中指定的配置,可能
导致root用户的配置文件被改来改去,直至发生系统管理员之间的恶性冲突流血事件(逃)。
有了sudo之后,每个人在root权限下都可以使用自己用户的环境配置,就可以只用定义自己用
户的环境不修改root用户的配置文件,从而互相不影响了。
下图黄色的这个容器在 node 成功添加到集群后会消失
[root@192 ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
bae9df76e3f8 rancher/hyperkube:v1.10.1-rancher2 "/opt/rke/entrypoint鈥 2 minutes ago Up 16 seconds kube-apiserver
e40b8b2133c7 rancher/rke-tools:v0.1.4 "/bin/bash" 2 minutes ago Created service-sidekick
c51936991830 rancher/coreos-etcd:v3.1.12 "/usr/local/bin/etcd鈥 2 minutes ago Up 2 minutes etcd
7abc88787b51 rancher/rancher-agent:v2.0.0 "run.sh -- share-roo鈥 2 minutes ago Up 2 minutes share-mnt
84ac3f76f90d rancher/rancher-agent:v2.0.0 "run.sh --server htt鈥 2 minutes ago Up 2 minutes xenodochial_tesla
[root@192 ~]# docker logs 84ac3f76f90d
-----BEGIN CERTIFICATE-----
MIIC7jCCAdagAwIBAgIBADANBgkqhkiG9w0BAQsFADAoMRIwEAYDVQQKEwl0aGUt
cmFuY2gxEjAQBgNVBAMTCWNhdHRsZS1jYTAeFw0xODA1MTUxNjEwMzdaFw0yODA1
MTIxNjEwMzdaMCgxEjAQBgNVBAoTCXRoZS1yYW5jaDESMBAGA1UEAxMJY2F0dGxl
LWNhMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxnmJq0u0WGEEXp+c
E8nmCxT6ewFQCFva/Ts6TkYLcsiGaDYLtAprHIJcA4h7KB8vRoe7rvc+M2yWXhoX
AD7M37SutWOy9kViTl7I2eBN+zuRyVqiRnkzPCLTjgHLUm+379yDHF+GC5RypOuf
oZ20Ug4AWhxr2kcIMwyuS0wBZhbuqU9vfGwOoXZnnYTnbNh2Gb7v2AaydP1E2rZW
yd2PzZkZDlyc79amNlLVCyiYM1VoS1ObU5KmS3zbyZ/uhPgTExQYqWyt7DyHRtcn
E5X7nvX0pgYu2Hg9cMKU1eIxvQ2ZE3Srr9ylEyw4BvtajvmhjrDX2fOpOmsuji4m
mWqLdwIDAQABoyMwITAOBgNVHQ8BAf8EBAMCAqQwDwYDVR0TAQH/BAUwAwEB/zAN
BgkqhkiG9w0BAQsFAAOCAQEAuhv7N/vGET/nj2spc1EV3ywIOoK4dUG9HFkcLKbe
pach06RY0YqvixV3l7bttIz+VKRhMOE63s1hq9SfW9ASe94bnAxfQLGN/RYihGHy
nkzpnUKNnDS2tfKZK2ApXciLK1lfrDle8FJ/yejNy9qdjtvCKPX4QPCAa6uJRSm6
KPJ+GUwIWlRvZlUrq14C8pY0o9QQYiHiNz0yQ1Xp3my1VEcFnWaztLvteEL/TQBM
jDgvIH30FbeUWN6JNs8FtwK/5k66Vqc4tgHbGAtqnUgqJi6A7IgIi2hYaJ+KaKE0
9+byEDgVBr7/rJi1e5x3jcwL5yMR1zDZAfK8lVsZZsrIxg==
-----END CERTIFICATE-----
time="2018-05-16T02:57:01Z" level=info msg="Option controlPlane=true"
time="2018-05-16T02:57:01Z" level=info msg="Option worker=true"
time="2018-05-16T02:57:01Z" level=info msg="Option requestedHostname=192"
time="2018-05-16T02:57:01Z" level=info msg="Option customConfig=map[address:192.168.0.36 internalAddress: roles:[etcd worker controlplane]]"
time="2018-05-16T02:57:01Z" level=info msg="Option etcd=true"
time="2018-05-16T02:57:01Z" level=info msg="Connecting to wss://111.231.54.107/v3/connect/register with token 6vjzssptlf2scfnl4vtfn58xhc6p62s6tbrfv9ct8j2vqt2fm4drpz"
time="2018-05-16T02:57:01Z" level=info msg="Connecting to proxy" url="wss://111.231.54.107/v3/connect/register"
time="2018-05-16T02:57:02Z" level=info msg="Starting plan monitor"
[root@192 ~]#
Deploy a Workload
      
      
      
      
成功后
      
Service Discovery 里面会有自动添加的 services 删除 Workloads 里面的 nginx 会自动删除相应的services 而 删除 自动
生成的两个services 没用 还会再次自动添加
      
访问
总共是有两个节点的
      
访问NGINX的方式
192.168.0.35:31908或192.168.0.36:31908 会自动在10个nginx中负载均衡
最好的测试镜像其实是这个 docker pull lpregistry2018/regularly-used:kubernetes-bootcamp__v1
额外信息:
1:注意服务器时间
2:使用下面方式 可以不添加 --hostname 参数
使用hostname命令设置主机名。格式为:hostname 主机名,如下。
[root@localhost ~]# hostname fan
[root@localhost ~]# hostname
fan
[root@localhost ~]#
编辑hosts
[root@localhost ~]# vi /etc/hosts
127.0.0.1 lp(不管之前有什么  在最上面填上 127.0.0.1 主机名 )
127.0.0.1 localhost.localdomain localhost localhost4 localhost4.localdomain4
::1 localhost.localdomain localhost localhost6 localhost6.localdomain6
~
~
~
Rancher 2.0 简单使用 重要部分截取的更多相关文章
- 【转】Rancher 2.0 里程碑版本:支持添加自定义节点!
		原文链接: http://mp.weixin.qq.com/s?__biz=MzIyMTUwMDMyOQ==&mid=2247487533&idx=1&sn=c70258577 ... 
- struts2.0简单教程
		Struts2.0简单配置教程: 在Eclipse中配置Struts2 步骤一:首先打开java ee并建立一个动态网站项目,我建立的项目名为TestDemo,如下图: 建立之后可在左侧发现工程,展开 ... 
- HTTP/2.0 简单总结(转载)
		HTTP/2.0 简单总结(转载于https://linjunzhu.github.io/blog/2016/03/10/http2-zongjie/) 如何使用上 HTTP/2.0 需要浏览器的支持 ... 
- moloch1.8.0简单操作手册
		moloch1.8.0简单操作手册 Sessions 页面:Sessions主要通过非常简单的查询语言来构建表达式追溯数据流量,以便分析. SPIView 页面: SPIGraph页面:SPIGrap ... 
- Spark学习笔记0——简单了解和技术架构
		目录 Spark学习笔记0--简单了解和技术架构 什么是Spark 技术架构和软件栈 Spark Core Spark SQL Spark Streaming MLlib GraphX 集群管理器 受 ... 
- 学python2.7简单还是python3.0简单,两者区别
		学python2.7简单还是python3.0简单,谈谈两者区别 1. 使用__future__模块 Python 3.X 引入了一些与Python 2 不兼容的关键字和特性.在Python 2中,可 ... 
- AppScan8.0简单扫描
		上篇文章介绍了如何在WindowsXP中安装AppScan8.0,接着本篇就来说说怎么进行一次简单的扫描吧. AppScan8.0开始扫描 1.新建扫描,选择“常规扫描”,如下图: (常规.快速.综合 ... 
- Unity3D 5.0简单的射线检测实现跳跃功能
		这里是一个简单的跳跃,5.0和其他版本貌似不一样,并且,再起跳功能做的不完全. 不过一个基本的思路在这里. 1.首先,射线检测,这里是利用一个空对象,放到主角对象的下面 2.然后调节射线的位置,在主角 ... 
- python 3.4.0 简单的print 'hello world',出错--SyntaxError: invalid syntax
		问题描写叙述: win7下安装的python 3.4.0版本号, 在命令行里写入简单的输出语句: print 'hello world' 然后enter,结果返回结果为: SyntaxError: i ... 
随机推荐
- Dart Map<> 添加 元素
			Map<String, WidgetBuilder> routesList() { Map<String, WidgetBuilder> re = new Map<Str ... 
- asp.net:mv4 FileResult在IE8中下载不显示文件名和扩展名而显示Action方法名了!
			IE8下,用户点击下载文件,会发现文件类型失丢的问题,解决方案如下: //IE8下载时,只显示action的名字,没有文件名和后缀 @仰止网Simba //return File(bufferbyte ... 
- 串口接收端verilog代码分析
			串口接收端verilog代码分析 `timescale 1ns / 1ps ////////////////////////////////////////////////////////////// ... 
- SQL注入检测
			目前只支持单个对象,不支持对象中包含对象 /// <summary> /// 检查SQL中的非法字符 /// </summary> public class SQLInject ... 
- sequelize的get/post方法例子
			定义两个model,一个给get的,一个给post的 var Sequelize = require('sequelize'); const DeviceNos = sequelize.define( ... 
- msvcp140.dll丢失解决方案
			[首先给出99%情况下都能解决这个问题的最简单办法]: 下载并安装微软VC++2015版运行库 (英文全称:Microsoft Visual C++ 2015 Redistributable Pa ... 
- [TFS教程]TFS: Get Command
			Get Command Visual Studio 2012 Gets (downloads) either the latest version or a specified version o ... 
- centos7-软件安装-mysql5.7
			mysql5.7新增特点: 最新版本的mysql5.7相比较于mysql5.6,新添加了一个特点:允许日期类型字段添加数值精确到毫秒位数,比如`create_date` datetime(3) DEF ... 
- phpwind v9存在命令执行漏洞(登陆后台)
			已知漏洞:https://www.seebug.org/vuldb/ssvid-94465 phpwind v9最新版存在命令执行漏洞(登陆后台) Phpwind_v9.0.2(最新版),phpwin ... 
- Rest API的简单应用
			写在前面 最近一直在搞通过Rest api的方式读取sharepoint文档库中的内容.有些地方需要注意,在此做下记录. 步骤 启动sharepoint服务器的服务 这里可以使用脚本的方式进行启动,脚 ... 
