0

私は kubernetes を試してみて、非常に基本的な質問に出くわしました。VirtualBoxで実行されているubuntuで単一ノードkubernetesをセットアップしました。 これはまさに私が持っているものです。私のvagrantファイルは次のようなものです(したがって、私のMacではubuntuを実行するvirtualboxを使用できます)-

Vagrant.configure("2") do |config|
  config.vm.synced_folder ".", "/vagrant"

  config.vm.define "app" do |d|

  d.vm.box = "ubuntu/trusty64"

  d.vm.hostname = "kubernetes"

  # Create a private network, which allows host-only access to the machine
  # using a specific IP.
  d.vm.network "private_network", ip: "192.168.20.10"

  d.vm.provision "docker"

  end
end

マスターを起動するには、init.sh を次のように使用します。

docker run --net=host -d gcr.io/google_containers/etcd:2.0.9 /usr/local/bin/etcd --addr=127.0.0.1:4001 --bind-addr=0.0.0.0:4001 --data-dir=/var/etcd/data

docker run --net=host -d -v /var/run/docker.sock:/var/run/docker.sock \
gcr.io/google_containers/hyperkube:v0.18.2 /hyperkube kubelet \
    --api_servers=http://localhost:8080 \
    --v=2 \
    --address=0.0.0.0 \
    --enable_server \
    --hostname_override=127.0.0.1 \
    --config=/etc/kubernetes/manifests

docker run -d --net=host --privileged gcr.io/google_containers/hyperkube:v0.18.2 /hyperkube proxy --master=http://127.0.0.1:8080 --v=2

wget http://storage.googleapis.com/kubernetes-release/release/v0.19.0/bin/linux/amd64/kubectl
sudo chmod +x ./kubectl

これにより、vm で実行されているシンプルな kubernetes が起動します。kubectl- を使用してサービスを取得すると、kubernetes サービスが実行されていることがわかります。

kubernetes            component=apiserver,provider=kubernetes                          <none>                  10.0.0.2     443/TCP
kubernetes-ro         component=apiserver,provider=kubernetes                          <none>                  10.0.0.1     80/TCP

ssh で 10.0.0.1 にカールして、結果を確認できます。しかし、私の質問は、この kubernetes マスター サービスをホスト マシンに公開するにはどうすればよいか、またはこれをサーバーにデプロイするときに、このマスター サービスをパブリック IP で利用できるようにするにはどうすればよいかということです。

4

1 に答える 1