博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
『中级篇』Vagrant在本地搭建多节点K8S集群(65)
阅读量:6127 次
发布时间:2019-06-21

本文共 4109 字,大约阅读时间需要 13 分钟。

原创文章,欢迎转载。转载请注明:转载自,谢谢!

原文链接地址:

这次说说service,service和网络有非常密切的 关系,为了能让大家很好的理解和直观的展示,重新搭建一个环境,之前用minikube搭建是单节点的环境,但是不够直观,这次coreos搭建一个多节点的。源码:

Tectonic

  • Tectonic介绍,注册后可以免费试用节点数小于10个的

『中级篇』Vagrant在本地搭建多节点K8S集群(65)

  • 账号注册

『中级篇』Vagrant在本地搭建多节点K8S集群(65)

『中级篇』Vagrant在本地搭建多节点K8S集群(65)

『中级篇』Vagrant在本地搭建多节点K8S集群(65)

『中级篇』Vagrant在本地搭建多节点K8S集群(65)

  • 垃圾邮件里面有

『中级篇』Vagrant在本地搭建多节点K8S集群(65)

『中级篇』Vagrant在本地搭建多节点K8S集群(65)

『中级篇』Vagrant在本地搭建多节点K8S集群(65)

『中级篇』Vagrant在本地搭建多节点K8S集群(65)

  • 注册成功

『中级篇』Vagrant在本地搭建多节点K8S集群(65)

PS:遗憾的是:Tectonic已经sandbox下架了,我在网上找了一份直接传到github了,自己下载吧。直接通过vagantfile的方式搭建。

『中级篇』Vagrant在本地搭建多节点K8S集群(65)

『中级篇』Vagrant在本地搭建多节点K8S集群(65)

  • 通过vagrantfile安装

    具体vagrant的安装看我(六)和(七)两节。关于mac和window下的安装。

    整个安装过程用了40分钟。

vagrant up

出现下面的错误,你需要×××了兄弟。

Installing the 'vagrant-ignition' plugin. This can take a few minutes...
Vagrant failed to load a configured plugin source. This can be caused
by a variety of issues including: transient connectivity issues, proxy
filtering rejecting access to a configured plugin source, or a configured
plugin source not responding correctly. Please review the error message
below to help resolve the issue:

『中级篇』Vagrant在本地搭建多节点K8S集群(65)

开启×××后

『中级篇』Vagrant在本地搭建多节点K8S集群(65)

因为目前Tectonic 已经没有sandbox 保持通用,我还是用传统的方式安装吧。

shell vagrant的方式安装k8s集群

源码:

  • 下载源码

『中级篇』Vagrant在本地搭建多节点K8S集群(65)

  • 本地开发机

    所有的部署工作都是在开发机(dev)上进行的。我已经准备好了在源码中提供。

『中级篇』Vagrant在本地搭建多节点K8S集群(65)

  • 虚机vagrantfile已经编译好
Vagrant.configure(2) do |config|  # 设置dev虚机环境(下面还要写dev.vm,好扯淡)  config.vm.define "dev" do |dev|    # 设置虚拟机的Box    dev.vm.box = "centos7"    # 设置虚拟机的主机名    dev.vm.hostname = "dev"    # 设置虚拟机的IP    dev.vm.network "private_network", ip: "192.168.0.2"    # VirtaulBox相关配置    dev.vm.provider "virtualbox" do |vb|        # 设置虚拟机的内存大小        vb.memory = 512        # 设置虚拟机的CPU个数        vb.cpus = 1    end    # 挂载失败了,mount: unknown filesystem type 'vboxsf'    # config.vm.synced_folder ".", "/home/vagrant/deployk8s"    # 使用默认挂载    # 使用shell脚本进行软件安装和配置    dev.vm.provision "shell", path: "dev.sh"  end  # ssh配置  config.ssh.username = "vagrant"  config.ssh.private_key_path = "~/.vagrant.d/insecure_private_key"  config.ssh.insert_key = falseend

『中级篇』Vagrant在本地搭建多节点K8S集群(65)

  • 把Vagrantfile中的box名与box镜像关联起来
# vagrant box add centos7 path_to_your_centos7# 例如:vagrant box add centos7 centos7.box

『中级篇』Vagrant在本地搭建多节点K8S集群(65)

  • 启动开发机(dev)

    以后就使用dev来指×××发机了。

    图方便我已经把不安全的公钥添加到集群机器的/root/.ssh/authorized_keys中了,
    为了让root能从dev远程登录到集群机器,需要把insecure_private_key弄到dev的~/.ssh/id_rsa中,可以scp,如果使用的是xshell那就用xshell自带的sftp

vagrant up dev

『中级篇』Vagrant在本地搭建多节点K8S集群(65)

  • 启动集群 要安装6个机器 老铁你准备好空间

    cd vagrant-clustervagrant up master1vagrant up master2vagrant up master3vagrant up node1vagrant up node2vagrant up node3# 可以直接vagrant up来启动所有机器
  • 进入dev的虚拟主机

    vagrant ssh dev#这一步的目的是把压缩包直接放在vagrant共享目录下解压,#结果在最后报软连接错误,直接放入虚拟机的自身目录就不会爆这个错误这个很重要cp -r deployk8s-master deployk8scd deployk8s
  • 进入dev的虚拟主机通过SecureCRT

    1. 找到insecure_private_key
      『中级篇』Vagrant在本地搭建多节点K8S集群(65)
    2. 输入192.168.0.2 选择红色框
      『中级篇』Vagrant在本地搭建多节点K8S集群(65)
      『中级篇』Vagrant在本地搭建多节点K8S集群(65)
      『中级篇』Vagrant在本地搭建多节点K8S集群(65)
      『中级篇』Vagrant在本地搭建多节点K8S集群(65)
  • 需要把insecure_private_key弄到dev的~/.ssh/id_rsa中,借助git bash
scp -i ~/.vagrant.d/insecure_private_key \~/.vagrant.d/insecure_private_key \vagrant@192.168.0.2:~/.ssh/id_rsa#这个id_rsa的权限是644,需要改为600,在dev机中执行:chmod 600 ~/.ssh/id_rsa

『中级篇』Vagrant在本地搭建多节点K8S集群(65)

  • 进入dev的虚拟主机
    vagrant ssh dev#这一步的目的是把压缩包直接放在vagrant共享目录下解压,#结果在最后报软连接错误,直接放入虚拟机的自身目录就不会爆这个错误这个很重要cp -r deployk8s-master deployk8scd deployk8s
  • 进入dev的虚拟主机

  • 如果可以×××,用下面的脚本。如果×××不了,我已经下载到源码里面了 进入vagrant里面下载。
    # 下载cfsslcurl -O https://pkg.cfssl.org/R1.2/cfssl_linux-amd64curl -O https://pkg.cfssl.org/R1.2/cfssljson_linux-amd64curl -O https://pkg.cfssl.org/R1.2/cfssl-certinfo_linux-amd64

下载keepalived v2.0.6

curl -O

下载etcd v3.3.8

curl -O

下载flannel v0.10.0

curl -O

下载kubernetes v1.11.0

curl -O

最后就开始执行脚本进行部署吧。

![](https://upload-images.jianshu.io/upload_images/11223715-514a1183ee3d643a.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)* 部署集群``` cmd./deployk8s.sh 2>&1 | tee deployk8s.log

『中级篇』Vagrant在本地搭建多节点K8S集群(65)

『中级篇』Vagrant在本地搭建多节点K8S集群(65)

『中级篇』Vagrant在本地搭建多节点K8S集群(65)

本来想吧几个文件上传到github让懒人老铁不直接下载了,确实上传太慢了我放弃了我直接大家网址,他们通过迅雷下载也很快的。

image.png

https://vagrantcloud.com/centos/boxes/7/versions/1804.02/providers/virtualbox.boxhttps://dl.k8s.io/v1.11.0/kubernetes-server-linux-amd64.tar.gzhttps://github.com/coreos/etcd/releases/download/v3.3.8/etcd-v3.3.8-linux-amd64.tar.gzhttps://github.com/coreos/flannel/releases/download/v0.10.0/flannel-v0.10.0-linux-amd64.tar.gzhttps://pkg.cfssl.org/R1.2/cfssl-certinfo_linux-amd64https://pkg.cfssl.org/R1.2/cfssl_linux-amd64http://www.keepalived.org/software/keepalived-2.0.6.tar.gzhttps://pkg.cfssl.org/R1.2/cfssljson_linux-amd64#下载后还放到No.10的deployk8s-master下就可以了。

有老铁问我,dev,master,node,他们之间的关系dev 就是锤子,node 就是房子,master就是打开房子的大门。用锤子打造了一个建筑,但是锤子不属于建筑物,所以ping 什么一系列的操作都ping不通pod的。

PS:这种方式感觉很受用,感谢 的技术指导和他的github的思路引导成功部署的https://github.com/xujintao/deployk8s的一键部署!

『中级篇』Vagrant在本地搭建多节点K8S集群(65)

转载于:https://blog.51cto.com/12040702/2293827

你可能感兴趣的文章
目录和文件管理(二)
查看>>
我的友情链接
查看>>
es6 Symbole入门理解
查看>>
一些感悟
查看>>
链表的相关操作
查看>>
2.5-docker配置桥接网络
查看>>
使用编译器在 Linux 虚拟机中安装 VMware Tools
查看>>
Check interval of log switching
查看>>
linux下的时间修改
查看>>
nginx统计访问量最高的ip并封禁IP
查看>>
GetLastError()返回值的意义
查看>>
Git 中文教程
查看>>
nginx重定向
查看>>
浅谈内存分配那些事
查看>>
openstack的安装(一) glance和keystone的安装、建立tenant
查看>>
程序员的奋斗史(二十五)——情绪与生活
查看>>
keepalived+lvs-dr+nginx双主模型
查看>>
Apache配置静态缓存---模块
查看>>
关于Linux与windows传递文件乱码问题
查看>>
Remote desktop the best practice
查看>>