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
~
~
~