繁体   English   中英

在本地主机上访问Kubernetes服务(在Vagrant中)

[英]Access Kubernetes service (in Vagrant) on localhost

我已经在Kubernetes的某些Pod上创建了一项服务。 我可以卷曲service-ip:port,并且看到一些HTML。 我想在自己的PC上的浏览器中访问该服务。 我必须在Vagrantfile中进行什么编辑才能将流浪者的内部IP映射到(PC的)本地主机上? 这是我的vagrantfile的一部分(我认为我必须进行编辑的部分)

    # Finally, fall back to VirtualBox
    config.vm.provider :virtualbox do |v, override|
      setvmboxandurl(override, :virtualbox)
      v.memory = vm_mem # v.customize ["modifyvm", :id, "--memory", vm_mem]
      v.cpus = $vm_cpus # v.customize ["modifyvm", :id, "--cpus", $vm_cpus]

      # Use faster paravirtualized networking
      v.customize ["modifyvm", :id, "--nictype1", "virtio"]
      v.customize ["modifyvm", :id, "--nictype2", "virtio"]
    end
  end

  # Kubernetes master
  config.vm.define "master" do |c|
    customize_vm c, $vm_master_mem
    if ENV['KUBE_TEMP'] then
      script = "#{ENV['KUBE_TEMP']}/master-start.sh"
      c.vm.provision "shell", run: "always", path: script
    end
    c.vm.network "private_network", ip: "#{$master_ip}"
  end

  # Kubernetes node
  $num_node.times do |n|
    node_vm_name = "node-#{n+1}"
    node_prefix = ENV['INSTANCE_PREFIX'] || 'kubernetes' # must mirror default in cluster/vagrant/config-default.sh
    node_hostname = "#{node_prefix}-#{node_vm_name}"

    config.vm.define node_vm_name do |node|
      customize_vm node, $vm_node_mem

      node_ip = $node_ips[n]
      if ENV['KUBE_TEMP'] then
        script = "#{ENV['KUBE_TEMP']}/node-start-#{n}.sh"
        node.vm.provision "shell", run: "always", path: script
      end
      node.vm.network "private_network", ip: "#{node_ip}"
    end
  end

我试图更改node.vm.network "private_network", ip: "#{node_ip}" node.vm.network "private_network", ip: "192.xx.xx.xx"但无法重新加载我的无业游民:

/opt/vagrant/embedded/lib/ruby/2.2.0/ipaddr.rb:559:in `in6_addr': invalid address (IPAddr::InvalidAddressError)

您的服务的类型必须是在无业游民的VM的IP上可以访问的NodePort类型。 例如,如果您的Pod由复制控制器启动。 通过以下方式创建服务:

kubectl expose rc foobar --type=NodePort --port=80

这将返回一个随机端口。 在该端口上的Vagrant节点VM上打开浏览器,即可访问服务。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM