Created
October 6, 2024 23:06
-
-
Save picar/fe3aee9361d7a0b18d05d4d026705905 to your computer and use it in GitHub Desktop.
Kube-vip test
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
export INTERFACE=ens33 | |
export VIP=192.168.1.6 | |
KVVERSION=$(curl -sL https://api.github.com/repos/kube-vip/kube-vip/releases | jq -r ".[0].name") | |
echo $KVVERSION | |
alias kube-vip="ctr run --rm --net-host ghcr.io/kube-vip/kube-vip:$KVVERSION vip /kube-vip" | |
ctr images pull ghcr.io/kube-vip/kube-vip:$KVVERSION | |
kube-vip manifest pod --interface $INTERFACE --vip $VIP --controlplane --arp --leaderElection | tee /etc/kubernetes/manifests/kube-vip.yaml | |
root@k8s02:~# cat /etc/kubernetes/manifests/kube-vip.yaml | |
apiVersion: v1 | |
kind: Pod | |
metadata: | |
creationTimestamp: null | |
name: kube-vip | |
namespace: kube-system | |
spec: | |
containers: | |
- args: | |
- manager | |
env: | |
- name: vip_arp | |
value: "true" | |
- name: port | |
value: "6443" | |
- name: vip_nodename | |
valueFrom: | |
fieldRef: | |
fieldPath: spec.nodeName | |
- name: vip_interface | |
value: ens33 | |
- name: dns_mode | |
value: first | |
- name: cp_enable | |
value: "true" | |
- name: cp_namespace | |
value: kube-system | |
- name: vip_leaderelection | |
value: "true" | |
- name: vip_leasename | |
value: plndr-cp-lock | |
- name: vip_leaseduration | |
value: "5" | |
- name: vip_renewdeadline | |
value: "3" | |
- name: vip_retryperiod | |
value: "1" | |
- name: vip_address | |
value: 192.168.1.6 | |
- name: prometheus_server | |
value: :2112 | |
image: ghcr.io/kube-vip/kube-vip:v0.8.3 | |
imagePullPolicy: IfNotPresent | |
name: kube-vip | |
resources: {} | |
securityContext: | |
capabilities: | |
add: | |
- NET_ADMIN | |
- NET_RAW | |
volumeMounts: | |
- mountPath: /etc/kubernetes/admin.conf | |
name: kubeconfig | |
hostAliases: | |
- hostnames: | |
- kubernetes | |
ip: 127.0.0.1 | |
hostNetwork: true | |
volumes: | |
- hostPath: | |
path: /etc/kubernetes/admin.conf | |
name: kubeconfig | |
status: {} | |
root@k8s02:~# kubectl get po -n kube-system | |
NAME READY STATUS RESTARTS AGE | |
cilium-envoy-tqdts 1/1 Running 0 3d1h | |
cilium-operator-5874db7569-nh4s2 1/1 Running 0 3d1h | |
cilium-w9nz4 1/1 Running 0 3d1h | |
coredns-7c65d6cfc9-tc58g 1/1 Running 0 3d1h | |
coredns-7c65d6cfc9-v4gdb 1/1 Running 0 3d1h | |
etcd-k8s02 1/1 Running 0 3d1h | |
kube-apiserver-k8s02 1/1 Running 0 3d1h | |
kube-controller-manager-k8s02 1/1 Running 0 3d1h | |
kube-proxy-2r6gb 1/1 Running 0 3d1h | |
kube-scheduler-k8s02 1/1 Running 0 3d1h | |
kube-vip-k8s02 1/1 Running 0 3m56s | |
root@k8s02:~# kubectl logs -n kube-system kube-vip-k8s02 | |
time="2024-10-06T22:54:36Z" level=info msg="Starting kube-vip.io [v0.8.3]" | |
time="2024-10-06T22:54:36Z" level=info msg="namespace [kube-system], Mode: [ARP], Features(s): Control Plane:[true], Services:[false]" | |
time="2024-10-06T22:54:36Z" level=info msg="prometheus HTTP server started" | |
time="2024-10-06T22:54:36Z" level=info msg="Using node name [k8s02]" | |
time="2024-10-06T22:54:36Z" level=info msg="Starting Kube-vip Manager with the ARP engine" | |
time="2024-10-06T22:54:36Z" level=info msg="Beginning cluster membership, namespace [kube-system], lock name [plndr-cp-lock], id [k8s02]" | |
I1006 22:54:36.634758 1 leaderelection.go:250] attempting to acquire leader lease kube-system/plndr-cp-lock... | |
I1006 22:54:36.641957 1 leaderelection.go:260] successfully acquired lease kube-system/plndr-cp-lock | |
time="2024-10-06T22:54:36Z" level=info msg="Node [k8s02] is assuming leadership of the cluster" | |
time="2024-10-06T22:54:36Z" level=info msg="Gratuitous Arp broadcast will repeat every 3 seconds for [192.168.1.6/ens33] | |
root@k8s02:~# curl -isecure https://192.168.1.6:6443 | |
root@k8s02:~# | |
root@k8s02:~# ping 192.168.1.6 | |
PING 192.168.1.6 (192.168.1.6) 56(84) bytes of data. | |
64 bytes from 192.168.1.6: icmp_seq=1 ttl=64 time=0.096 ms | |
64 bytes from 192.168.1.6: icmp_seq=2 ttl=64 time=0.075 ms | |
^C | |
--- 192.168.1.6 ping statistics --- | |
2 packets transmitted, 2 received, 0% packet loss, time 1009ms | |
rtt min/avg/max/mdev = 0.075/0.085/0.096/0.010 ms | |
root@k8s02:~# 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 noprefixroute | |
valid_lft forever preferred_lft forever | |
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 | |
link/ether 00:0c:29:77:6d:1c brd ff:ff:ff:ff:ff:ff | |
altname enp2s1 | |
inet 192.168.1.5/24 brd 192.168.1.255 scope global ens33 | |
valid_lft forever preferred_lft forever | |
inet 192.168.1.6/32 scope global ens33 | |
valid_lft forever preferred_lft forever | |
inet6 2001:569:7d39:a200:20c:29ff:fe77:6d1c/64 scope global dynamic mngtmpaddr noprefixroute | |
valid_lft 7500sec preferred_lft 7200sec | |
inet6 fe80::20c:29ff:fe77:6d1c/64 scope link | |
valid_lft forever preferred_lft forever | |
3: cilium_net@cilium_host: <BROADCAST,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000 | |
link/ether 76:56:cf:16:53:2d brd ff:ff:ff:ff:ff:ff | |
inet6 fe80::7456:cfff:fe16:532d/64 scope link | |
valid_lft forever preferred_lft forever | |
4: cilium_host@cilium_net: <BROADCAST,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000 | |
link/ether 12:be:8e:cb:88:48 brd ff:ff:ff:ff:ff:ff | |
inet 10.0.0.25/32 scope global cilium_host | |
valid_lft forever preferred_lft forever | |
inet6 fe80::10be:8eff:fecb:8848/64 scope link | |
valid_lft forever preferred_lft forever | |
5: cilium_vxlan: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default | |
link/ether 2e:1c:20:4a:6e:59 brd ff:ff:ff:ff:ff:ff | |
inet6 fe80::2c1c:20ff:fe4a:6e59/64 scope link | |
valid_lft forever preferred_lft forever | |
7: lxc_health@if6: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000 | |
link/ether d6:db:07:65:f2:36 brd ff:ff:ff:ff:ff:ff link-netnsid 0 | |
inet6 fe80::d4db:7ff:fe65:f236/64 scope link | |
valid_lft forever preferred_lft forever | |
9: lxcdf1b1c7dc36e@if8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000 | |
link/ether fe:a9:d8:d2:41:85 brd ff:ff:ff:ff:ff:ff link-netns cni-b6d59f41-2984-a8eb-53ea-24f2b034736c | |
inet6 fe80::fca9:d8ff:fed2:4185/64 scope link | |
valid_lft forever preferred_lft forever | |
11: lxcea8e8c273bb9@if10: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000 | |
link/ether 22:ed:39:9a:64:aa brd ff:ff:ff:ff:ff:ff link-netns cni-a029f450-ab9b-c509-d8e8-4b9ad5808b0a | |
inet6 fe80::20ed:39ff:fe9a:64aa/64 scope link | |
valid_lft forever preferred_lft forever | |
13: lxcb7b7a24746ae@if12: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000 | |
link/ether 2e:72:99:d8:d0:bb brd ff:ff:ff:ff:ff:ff link-netns cni-af29fa3b-1712-a06d-a6fc-e042d0d84f51 | |
inet6 fe80::2c72:99ff:fed8:d0bb/64 scope link | |
valid_lft forever preferred_lft forever |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment