Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

Kubernetes1.11 + Calico3.1 BGPルータによる外部公開(VyOS)

More than 1 year has passed since last update.

はじめに

前回、BGPモードで Kubernertes 1.11 + Calico3.1 の環境を構築しました。
https://qiita.com/sugimount/items/481c8e4bba4be98835d7

今回は、仮想ルータ VyOS を使用して、BGPルータを作成し、外部のNWから直接PodNetworkへアクセスする環境を構成します。

構成

  • Master1台
  • Node2台
  • BGPルータ1台 (VyOS 1.1.8)
  • Client1台

006.png

なお、上記の環境はすべてKVM上の仮想マシンとして作成しています。

仮想ルータ (VyOS 1.1.8) の構成

Install

VyOSは、Vyatatから派生したオープンソースのネットワークOSです。L3ルータ、BGPルータ、Firewall、VPN などの機能を提供します。
BGPルータとして、VyOS を利用します。

https://vyos.io/

以下のファイルを使用します

  • vyos-1.1.8-amd64.iso

KVM上で適切なNWを使用してVyOSを作成します

virt-install \
 --connect qemu:///system \
 --name calico-k8s-vyos \
 --memory 4096 \
 --disk size=100,bus=virtio \
 --vcpus 4 \
 --graphics vnc,listen=0.0.0.0,keymap=ja \
 --cdrom=/root/vyos/vyos-1.1.8-amd64.iso \
 --network virtualport_type=openvswitch,source=mgmt,source_mode=bridge,model=virtio  \
 --network virtualport_type=openvswitch,source=bgp,source_mode=bridge,model=virtio  \
 --network virtualport_type=openvswitch,source=ext_bgp,source_mode=bridge,model=virtio  \
 --clock offset=utc \
 --dry-run

一定時間後、Login プロンプトが表示されます。以下情報でログインが出来ます。

ID : vyos

Pass : vyos

004.png

ログインして、以下コマンドでインストールを行う
基本デフォルトのままOKを押せば進む。ディスクの上書きを実施しても良いかの確認は[YES]を入力する。

install system

省略

Done ! と表示されれば終了

一度シャットダウンして、起動しなおす

poweroff

起動

virsh start calico-k8s-vyos

SSH用IPアドレスの設定

起動が完了したら、Install時に設定した ID, Pass でログイン。

設定モードに入る

configure

Interfaceの確認。MacAddressを基にKVMで設定したInterfaceと紐づけを行う

005.png

IPアドレスの設定を行う

set interface ethernet eth0 address 10.44.194.65/24
set interface ethernet eth1 address 192.168.217.254/24
set interface ethernet eth2 address 192.168.216.254/24

gateway や DNS を設定する

set system gateway-address 10.44.194.254
set system name-server 8.8.8.8

SSHアクセスを許可する

set service ssh port 22

設定を反映 (いわゆる runnning-configに反映 )

commit

問題ないようであれば、設定を保存 (いわゆる copy run startup-config)

save

設定したInterfaceに対してSSHを行う事が出来ます

BGPルータ用設定

configureモードでない場合は、移行します

configure

BGPには、AS番号とよばれる、各ASを識別する番号を割り当てます。
ローカル環境なので、プライベートAS番号から選択する必要があります。今回はわかりやすさのために、65000 を採用します。

edit protocols bgp 65000

ルータIDを指定します。任意のID (ipv4) を指定します

set parameters router-id 192.168.217.254

VyOSがBGPルート情報を交換したいBGPピアを指定します。
Kubernetesクラスタの全サーバを指定する必要があります。
現段階では、Calico側は設定していませんが、Calico側のAS番号も65000とします。

set neighbor 192.168.217.1 remote-as 65000 # to master01
set neighbor 192.168.217.2 remote-as 65000 # to node01
set neighbor 192.168.217.3 remote-as 65000 # to node02

次に、BGPのトポロジーはフルメッシュではなく、VyOS側がBGPルートリフレクターとなることで、ピア数が増えることを抑えます。
なお、今回の検証環境ではフルメッシュでも何も問題ないですが、Node数がめちゃくちゃ増えると問題になりえると思います

set neighbor 192.168.217.1 route-reflector-client
set neighbor 192.168.217.2 route-reflector-client
set neighbor 192.168.217.3 route-reflector-client

次に、BGPルータの外側に存在するNWを、Calico側へアドバタイズする設定を行います

set network 192.168.216.0/24

設定を保存します

exit
commit
save

VyOSが認識しているBGPの状態を確認します
Calico側で設定を入れていないため、BGPピアはまだ張られていません

vyos@vyos:~$ show ip bgp 
No BGP network exists
vyos@vyos:~$ 
vyos@vyos:~$ show ip bgp summary 
BGP router identifier 192.168.217.254, local AS number 65000
IPv4 Unicast - max multipaths: ebgp 1 ibgp 1
RIB entries 0, using 0 bytes of memory
Peers 3, using 13 KiB of memory

Neighbor        V    AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
192.168.217.1   4 65000       0       1        0    0    0 never    Active     
192.168.217.2   4 65000       0       1        0    0    0 never    Active     
192.168.217.3   4 65000       0       1        0    0    0 never    Active     

Total number of neighbors 3

Calico側の構成

Calico側でBGPの操作を行う際には、calicoctl コマンドを使用します。
前回のCalico設定の中で Pod として calicoctl を導入しています。これのsh を立ち上げ各種操作を行います

[root@calico-k8s-master01 ~(default kubernetes-admin)]# kubectl get pods -o wide --all-namespaces | grep calicoctl
kube-system   calicoctl                                          1/1       Running   0          9h        192.168.204.102   calico-k8s-node02.maas

sh起動

kubectl exec -it -n kube-system calicoctl /bin/sh

現在のCalico側の状態を確認

~ # calicoctl get nodes -o wide
NAME                       ASN         IPV4               IPV6   
calico-k8s-master01.maas   (unknown)   192.168.217.1/24          
calico-k8s-node01.maas     (unknown)   192.168.217.2/24          
calico-k8s-node02.maas     (unknown)   192.168.217.3/24          

~ # 
~ # calicoctl get bgpPeer -o wide
NAME   PEERIP   NODE   ASN   

~ # 
~ # calicoctl get ippool -o wide
NAME                  CIDR          NAT    IPIPMODE   DISABLED   
default-ipv4-ippool   10.1.4.0/22   true   Never      false      

~ # 
~ # calicoctl get bgpConfiguration -o wide
NAME   LOGSEVERITY   MESHENABLED   ASNUMBER   

command memo

calicoctl get nodes -o wide
calicoctl get bgpPeer -o wide
calicoctl get ippool -o wide
calicoctl get bgpConfiguration -o wide

下記の情報を指定します。なお、外部BGPルータ(VyOS)をルートリフレクターにしない場合は、BGPピアをフルメッシュ(nodeToNodeMeshEnabled を true)にする必要があります。

  • Calico側にAS番号などを指定します。VyOSと番号を合わせます。
cat << EOF | calicoctl create -f -
apiVersion: projectcalico.org/v3
kind: BGPConfiguration
metadata:
  name: default
spec:
  logSeverityScreen: Info
  nodeToNodeMeshEnabled: false
  asNumber: 65000
EOF

実行例

~ # cat << EOF | calicoctl create -f -
> apiVersion: projectcalico.org/v3
> kind: BGPConfiguration
> metadata:
>   name: default
> spec:
>   logSeverityScreen: Info
>   nodeToNodeMeshEnabled: false
>   asNumber: 65000
> EOF
Successfully created 1 'BGPConfiguration' resource(s)

ASNumber や bgpConfigration が追加されていることが確認できます

~ # calicoctl get nodes -o wide
NAME                       ASN       IPV4               IPV6   
calico-k8s-master01.maas   (65000)   192.168.217.1/24          
calico-k8s-node01.maas     (65000)   192.168.217.2/24          
calico-k8s-node02.maas     (65000)   192.168.217.3/24          

~ # 
~ # calicoctl get bgpPeer -o wide
NAME   PEERIP   NODE   ASN   

~ # 
~ # calicoctl get ippool -o wide
NAME                  CIDR          NAT    IPIPMODE   DISABLED   
default-ipv4-ippool   10.1.4.0/22   true   Never      false      

~ # 
~ # calicoctl get bgpConfiguration -o wide
NAME      LOGSEVERITY   MESHENABLED   ASNUMBER   
default   Info          false         65000      

次に、Calico側がVyOSとピアを張るための設定を行います

cat << EOF | calicoctl create -f -
apiVersion: projectcalico.org/v3
kind: BGPPeer
metadata:
  name: bgppeer-vyos
spec:
  peerIP: 192.168.217.254
  asNumber: 65000
EOF

実行例

~ # cat << EOF | calicoctl create -f -
> apiVersion: projectcalico.org/v3
> kind: BGPPeer
> metadata:
>   name: bgppeer-vyos
> spec:
>   peerIP: 192.168.217.254
>   asNumber: 65000
> EOF
Successfully created 1 'BGPPeer' resource(s)

BGP peer の resource が追加されています

~ # calicoctl get nodes -o wide
NAME                       ASN       IPV4               IPV6   
calico-k8s-master01.maas   (65000)   192.168.217.1/24          
calico-k8s-node01.maas     (65000)   192.168.217.2/24          
calico-k8s-node02.maas     (65000)   192.168.217.3/24          

~ # 
~ # calicoctl get bgpPeer -o wide
NAME           PEERIP            NODE       ASN     
bgppeer-vyos   192.168.217.254   (global)   65000   

~ # 
~ # calicoctl get ippool -o wide
NAME                  CIDR          NAT    IPIPMODE   DISABLED   
default-ipv4-ippool   10.1.4.0/22   true   Never      false      

~ # 
~ # calicoctl get bgpConfiguration -o wide
NAME      LOGSEVERITY   MESHENABLED   ASNUMBER   
default   Info          false         65000      

~ # calicoctl get workloadEndpoint -o wide --all-namespaces
NAMESPACE     NAME                                                                         WORKLOAD                                NODE                       NETWORKS       INTERFACE         PROFILES          NATS   
default       calico--k8s--node01.maas-k8s-nginx--test--58586b9f9c--xnk24-eth0             nginx-test-58586b9f9c-xnk24             calico-k8s-node01.maas     10.1.7.0/32    cali077d865b238   kns.default              
default       calico--k8s--node02.maas-k8s-nginx--test--58586b9f9c--xsv9k-eth0             nginx-test-58586b9f9c-xsv9k             calico-k8s-node02.maas     10.1.5.0/32    cali055e6aad924   kns.default              
demo1         calico--k8s--node01.maas-k8s-centos--deployment--7d7d7bcb56--w6pc8-eth0      centos-deployment-7d7d7bcb56-w6pc8      calico-k8s-node01.maas     10.1.7.2/32    cali92ab0c0f7cb   kns.demo1                
demo1         calico--k8s--node02.maas-k8s-centos--deployment--7d7d7bcb56--td2c5-eth0      centos-deployment-7d7d7bcb56-td2c5      calico-k8s-node02.maas     10.1.5.2/32    cali70d800951ac   kns.demo1                
kube-system   calico--k8s--master01.maas-k8s-coredns--78fcdf6894--5m2qn-eth0               coredns-78fcdf6894-5m2qn                calico-k8s-master01.maas   10.1.6.64/32   cali8247ce56ac4   kns.kube-system          
kube-system   calico--k8s--master01.maas-k8s-coredns--78fcdf6894--k5tf4-eth0               coredns-78fcdf6894-k5tf4                calico-k8s-master01.maas   10.1.6.65/32   cali8a44dca6d04   kns.kube-system          
kube-system   calico--k8s--node01.maas-k8s-kubernetes--dashboard--6d4bc79449--z6jdg-eth0   kubernetes-dashboard-6d4bc79449-z6jdg   calico-k8s-node01.maas     10.1.7.3/32    calib200f7ce985   kns.kube-system   

Kubernertesクラスタ側で確認

VyOSで、外側のNW(192.168.216.0/24)をアドバタイズ設定したことにより、Kubernetesクラスタの全てのルーティングテーブルに反映されている

[root@calico-k8s-master01 ~(default kubernetes-admin)]# ip r
default via 10.44.194.254 dev ens4 
10.1.5.0/26 via 192.168.217.3 dev ens5 proto bird       <-------------- VyOSをルートリフレクターにすることにより、他NodeへのRouteがアドバタイズされている
10.1.6.64 dev cali8247ce56ac4 scope link 
blackhole 10.1.6.64/26 proto bird 
10.1.6.65 dev cali8a44dca6d04 scope link 
10.1.7.0/26 via 192.168.217.2 dev ens5 proto bird       <-------------- VyOSをルートリフレクターにすることにより、他NodeへのRouteがアドバタイズされている
10.44.194.0/24 dev ens4 proto kernel scope link src 10.44.194.67 
169.254.0.0/16 dev ens3 scope link metric 1002 
169.254.0.0/16 dev ens4 scope link metric 1003 
169.254.0.0/16 dev ens5 scope link metric 1004 
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 
192.168.204.0/24 dev ens3 proto kernel scope link src 192.168.204.100 
192.168.216.0/24 via 192.168.217.254 dev ens5 proto bird      <-------------- 外側のNW(192.168.216.0/24)がBGPによりアドバタイズされている
192.168.217.0/24 dev ens5 proto kernel scope link src 192.168.217.1 
[root@calico-k8s-node01 ~]# ip r
default via 10.44.194.254 dev ens4 
10.1.5.0/26 via 192.168.217.3 dev ens5 proto bird        <-------------- VyOSをルートリフレクターにすることにより、他NodeへのRouteがアドバタイズされている
10.1.6.64/26 via 192.168.217.1 dev ens5 proto bird        <-------------- VyOSをルートリフレクターにすることにより、他NodeへのRouteがアドバタイズされている
10.1.7.0 dev cali077d865b238 scope link 
blackhole 10.1.7.0/26 proto bird 
10.1.7.2 dev cali92ab0c0f7cb scope link 
10.1.7.3 dev calib200f7ce985 scope link 
10.44.194.0/24 dev ens4 proto kernel scope link src 10.44.194.68 
169.254.0.0/16 dev ens3 scope link metric 1002 
169.254.0.0/16 dev ens4 scope link metric 1003 
169.254.0.0/16 dev ens5 scope link metric 1004 
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 
192.168.204.0/24 dev ens3 proto kernel scope link src 192.168.204.101 
192.168.216.0/24 via 192.168.217.254 dev ens5 proto bird      <-------------- 外側のNW(192.168.216.0/24)がBGPによりアドバタイズされている
192.168.217.0/24 dev ens5 proto kernel scope link src 192.168.217.2 
[root@calico-k8s-node02 ~]# ip r
default via 10.44.194.254 dev ens4 
10.1.5.0 dev cali055e6aad924 scope link 
blackhole 10.1.5.0/26 proto bird
10.1.5.2 dev cali70d800951ac scope link 
10.1.6.64/26 via 192.168.217.1 dev ens5 proto bird         <-------------- VyOSをルートリフレクターにすることにより、他NodeへのRouteがアドバタイズされている
10.1.7.0/26 via 192.168.217.2 dev ens5 proto bird         <-------------- VyOSをルートリフレクターにすることにより、他NodeへのRouteがアドバタイズされている
10.44.194.0/24 dev ens4 proto kernel scope link src 10.44.194.69 
169.254.0.0/16 dev ens3 scope link metric 1002 
169.254.0.0/16 dev ens4 scope link metric 1003 
169.254.0.0/16 dev ens5 scope link metric 1004 
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 
192.168.204.0/24 dev ens3 proto kernel scope link src 192.168.204.102 
192.168.216.0/24 via 192.168.217.254 dev ens5 proto bird       <-------------- 外側のNW(192.168.216.0/24)がBGPによりアドバタイズされている
192.168.217.0/24 dev ens5 proto kernel scope link src 192.168.217.3 

仮想BGPルータ側で確認

Calico側からアドバタイズされた情報を確認できます。
Kubeadmで指定したPodNetworkのセグメント('10.1.4.0/22')から、Kubernetesの各Nodeに /26 で分割されて割り当てられており、それがVyOS側に通知されています。
NextHop が、BGPルータと接続できるKubernetesNodeのNICとなっています

vyos@vyos:~$ show ip bgp 
BGP table version is 0, local router ID is 192.168.217.254
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale, R Removed
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*>i10.1.5.0/26      192.168.217.3                 100      0 i
*>i10.1.6.64/26     192.168.217.1                 100      0 i
*>i10.1.7.0/26      192.168.217.2                 100      0 i
*> 192.168.216.0    0.0.0.0                  1         32768 i

Total number of prefixes 4

bgp summary でも同様に確認できます

vyos@vyos:~$ show ip bgp summary 
BGP router identifier 192.168.217.254, local AS number 65000
IPv4 Unicast - max multipaths: ebgp 1 ibgp 1
RIB entries 5, using 480 bytes of memory
Peers 3, using 13 KiB of memory

Neighbor        V    AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
192.168.217.1   4 65000       4      11        0    0    0 00:02:26        1
192.168.217.2   4 65000       5      11        0    0    0 00:02:26        1
192.168.217.3   4 65000       5      11        0    0    0 00:02:26        1

Total number of neighbors 3

VyOSでRoute情報を確認します
BGPでCalico側からアドバタイズされたルート情報が反映されています

vyos@vyos:~$ show ip route
Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF,
       I - ISIS, B - BGP, > - selected route, * - FIB route

S>* 0.0.0.0/0 [1/0] via 10.44.194.254, eth0
B>* 10.1.5.0/26 [200/0] via 192.168.217.3, eth1, 00:07:32   <------ Calicoからアドバタイズされたルート情報 node02
B>* 10.1.6.64/26 [200/0] via 192.168.217.1, eth1, 00:07:32  <------ Calicoからアドバタイズされたルート情報 master01
B>* 10.1.7.0/26 [200/0] via 192.168.217.2, eth1, 00:07:32   <------ Calicoからアドバタイズされたルート情報 node01
C>* 10.44.194.0/24 is directly connected, eth0
C>* 127.0.0.0/8 is directly connected, lo
C>* 192.168.216.0/24 is directly connected, eth2
C>* 192.168.217.0/24 is directly connected, eth1

Client側から、Podへ直接アクセスできるか確認

Client側のIPアドレス、ルーティングテーブル確認

[root@calico-k8s-client ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 52:54:00:35:8f:61 brd ff:ff:ff:ff:ff:ff
    inet 10.44.194.63/24 brd 10.44.194.255 scope global noprefixroute eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::8e1c:c996:22b2:d484/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 52:54:00:46:89:51 brd ff:ff:ff:ff:ff:ff
    inet 192.168.216.1/24 brd 192.168.216.255 scope global noprefixroute eth1
       valid_lft forever preferred_lft forever
    inet6 fe80::daa4:b33e:3e71:101f/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
[root@calico-k8s-client ~]# 
[root@calico-k8s-client ~]# ip r
default via 10.44.194.254 dev eth0 proto static metric 100 
10.1.4.0/22 via 192.168.216.254 dev eth1 proto static metric 101 
10.44.194.0/24 dev eth0 proto kernel scope link src 10.44.194.63 metric 100 
192.168.216.0/24 dev eth1 proto kernel scope link src 192.168.216.1 metric 101 

今回は簡単のために、PodNetworkに通信する用のStaticRouteを設定している

[root@calico-k8s-client ~]# cat /etc/sysconfig/network-scripts/route-eth1 
ADDRESS0=10.1.4.0
NETMASK0=255.255.252.0
GATEWAY0=192.168.216.254

Podの一覧を確認

[root@calico-k8s-master01 ~(default kubernetes-admin)]# kubectl get pods -o wide --all-namespaces
NAMESPACE     NAME                                               READY     STATUS    RESTARTS   AGE       IP                NODE
default       nginx-test-58586b9f9c-xnk24                        1/1       Running   0          11h       10.1.7.0          calico-k8s-node01.maas
default       nginx-test-58586b9f9c-xsv9k                        1/1       Running   0          11h       10.1.5.0          calico-k8s-node02.maas
demo1         centos-deployment-7d7d7bcb56-td2c5                 1/1       Running   0          11h       10.1.5.2          calico-k8s-node02.maas
demo1         centos-deployment-7d7d7bcb56-w6pc8                 1/1       Running   0          11h       10.1.7.2          calico-k8s-node01.maas
kube-system   calico-etcd-jc5st                                  1/1       Running   0          12h       192.168.204.100   calico-k8s-master01.maas
kube-system   calico-kube-controllers-84fd4db7cd-pxndj           1/1       Running   0          12h       192.168.204.100   calico-k8s-master01.maas
kube-system   calico-node-4wbfq                                  2/2       Running   0          12h       192.168.204.101   calico-k8s-node01.maas
kube-system   calico-node-8zwjd                                  2/2       Running   0          12h       192.168.204.102   calico-k8s-node02.maas
kube-system   calico-node-cqcvb                                  2/2       Running   0          12h       192.168.204.100   calico-k8s-master01.maas
kube-system   calicoctl                                          1/1       Running   0          12h       192.168.204.102   calico-k8s-node02.maas
kube-system   coredns-78fcdf6894-5m2qn                           1/1       Running   0          12h       10.1.6.64         calico-k8s-master01.maas
kube-system   coredns-78fcdf6894-k5tf4                           1/1       Running   0          12h       10.1.6.65         calico-k8s-master01.maas
kube-system   etcd-calico-k8s-master01.maas                      1/1       Running   0          12h       192.168.204.100   calico-k8s-master01.maas
kube-system   kube-apiserver-calico-k8s-master01.maas            1/1       Running   0          12h       192.168.204.100   calico-k8s-master01.maas
kube-system   kube-controller-manager-calico-k8s-master01.maas   1/1       Running   0          12h       192.168.204.100   calico-k8s-master01.maas
kube-system   kube-proxy-mrj59                                   1/1       Running   0          12h       192.168.204.102   calico-k8s-node02.maas
kube-system   kube-proxy-pvnk8                                   1/1       Running   0          12h       192.168.204.100   calico-k8s-master01.maas
kube-system   kube-proxy-rznnx                                   1/1       Running   0          12h       192.168.204.101   calico-k8s-node01.maas
kube-system   kube-scheduler-calico-k8s-master01.maas            1/1       Running   0          12h       192.168.204.100   calico-k8s-master01.maas
kube-system   kubernetes-dashboard-6d4bc79449-z6jdg              1/1       Running   0          9h        10.1.7.3          calico-k8s-node01.maas

Podに対して直接Pingがとどく

[root@calico-k8s-client ~]# ping 10.1.7.0
PING 10.1.7.0 (10.1.7.0) 56(84) bytes of data.
64 bytes from 10.1.7.0: icmp_seq=1 ttl=62 time=1.01 ms
^C
--- 10.1.7.0 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 1.019/1.019/1.019/0.000 ms
[root@calico-k8s-client ~]# ping 10.1.5.0
PING 10.1.5.0 (10.1.5.0) 56(84) bytes of data.
64 bytes from 10.1.5.0: icmp_seq=1 ttl=62 time=0.575 ms
64 bytes from 10.1.5.0: icmp_seq=2 ttl=62 time=0.624 ms
^C
--- 10.1.5.0 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1000ms
rtt min/avg/max/mdev = 0.575/0.599/0.624/0.034 ms
[root@calico-k8s-client ~]# ping 10.1.5.2
PING 10.1.5.2 (10.1.5.2) 56(84) bytes of data.
64 bytes from 10.1.5.2: icmp_seq=1 ttl=62 time=0.683 ms
64 bytes from 10.1.5.2: icmp_seq=2 ttl=62 time=0.556 ms
^C
--- 10.1.5.2 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1000ms
rtt min/avg/max/mdev = 0.556/0.619/0.683/0.068 ms
[root@calico-k8s-client ~]# ping 10.1.7.2
PING 10.1.7.2 (10.1.7.2) 56(84) bytes of data.
64 bytes from 10.1.7.2: icmp_seq=1 ttl=62 time=0.560 ms
64 bytes from 10.1.7.2: icmp_seq=2 ttl=62 time=0.433 ms
^C
--- 10.1.7.2 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1000ms
rtt min/avg/max/mdev = 0.433/0.496/0.560/0.067 ms
[root@calico-k8s-client ~]# 

同様に、nginxに対して、httpも取得することが出来る

[root@calico-k8s-client ~]# curl http://10.1.7.0/
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
    body {
        width: 35em;
        margin: 0 auto;
        font-family: Tahoma, Verdana, Arial, sans-serif;
    }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>

<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>

<p><em>Thank you for using nginx.</em></p>
</body>
</html>

参考URL

vyos系

http://knowledge.sakura.ad.jp/tech/278/

http://enog.jp/wp-content/uploads/2015/09/enog34_vyos-bgp_0904.pdf

Calico系

https://docs.projectcalico.org/v3.1/getting-started/kubernetes/

https://docs.projectcalico.org/v3.1/getting-started/kubernetes/installation/calico

https://docs.projectcalico.org/v3.1/usage/configuration/bgp

Calico NW Customize

https://www.n-novice.com/entry/2018/05/06/130151#Calico%E5%AE%9F%E8%A3%85%E8%A6%81%E4%BB%B6

sugimount
投稿している内容は個人的な見解なので、所属組織とは関係ありません
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away