我刚开始使用Kubernetes,我对NodePort和LoadBalancer服务类型之间的区别感到困惑.
我理解的差异是LoadBalancer不支持UDP,但除此之外,无论何时我们创建服务nodeport或loadbalancer,我们都会获得服务IP和端口,NodePort和端点.
来自Kubernetes文档:
NodePort:在拥有集群内部IP的基础上,在集群的每个节点(每个节点上的相同端口)上的端口上公开服务.您将能够在任何NodeIP:NodePort 地址上联系该服务.
LoadBalancer:除了拥有集群内部IP并在NodePort上公开服务之外,还要求云提供商提供负载均衡器,该负载均衡器转发给作为NodeIP的服务公开: 每个节点的NodePort.
所以,我将始终访问nodeip:nodeport上的服务.我的理解是,每当我们访问节点:nodeport时,kubeproxy将拦截请求并将其转发到相应的pod.
关于LoadBalancer的另一件事是我们可以有一个外部LB,它将在节点之间产生LB. 什么阻止我们为创建为nodeport的服务放置LB?
我真的很困惑.大多数文档或教程仅讨论LoadBalancer服务,因此我在互联网上找不到太多东西.
如果有人能清除我的怀疑,请感谢.
谢谢
我看到kubernetes可以使用ClusterIP和NodePort和LoadBalancing。对于负载平衡,它需要云。如果我没有云提供商,我如何在节点之间负载均衡流量?!
我知道 HAProxy 可以进行负载均衡,但我认为这个云负载均衡器与简单的 HAProxy 不同
我想知道 HAProxy 和 IngressController 之间有什么不同,例如 HAProxy 和 Nginx
我想要一个负载均衡器来负载均衡我的工作节点之间的流量。Pod 之间的服务负载均衡流量。我认为入口控制器是第 7 层负载均衡器。我想在我的节点之间进行负载平衡
Kubernetes 中的 Nginx 入口控制器和 HAProxy 负载均衡器有什么区别?
我在裸机上的 ubuntu 上安装 kubernetes。我部署了1个master和3个worker。然后部署 rook,一切工作正常。但是当我想在其上部署 wordpress 时,我收到此错误
无法安装 pod“wordpress-mysql-b78774f44-lxtfv_default(ffb4ff12-553e-11e9-a229-52540076d16c)”的卷:等待卷附加或安装 pod“default”/“wordpress-mysql-b78774f44-lxtfv 时超时” ”。已卸载卷的列表=[mysql-persistent-storage]。未附加卷的列表=[mysql-persistent-storage default-token-nj8xw]
#kubectl describe pods wordpress-mysql-b78774f44-lxtfv
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning FailedScheduling 7m11s (x4 over 7m18s) default-scheduler pod has unbound immediate PersistentVolumeClaims (repeated 3 times)
Normal Scheduled 7m5s default-scheduler Successfully assigned default/wordpress-mysql-b78774f44-lxtfv to worker3
Warning FailedMount 2m46s (x2 over 5m1s) kubelet, worker3 Unable to mount volumes for pod "wordpress-mysql-b78774f44-lxtfv_default(ffb4ff12-553e-11e9-a229-52540076d16c)": timeout expired waiting for volumes to attach or mount for pod "default"/"wordpress-mysql-b78774f44-lxtfv". list …Run Code Online (Sandbox Code Playgroud) 我想部署kubernetes上nonecloud envinroment
我知道metalLB是L2 负载均衡器 ,入口是L7 负载均衡器 ,nodeport可以在L4 中进行负载均衡, 但问题是在生产中,对于 100 万个请求,我应该如何使用它们?有必要拥有所有这些吗?
nodeport可以LOADBALANCE荚之间的那些是在不同的节点,以便使用metalLB该节点之间LOADBALANCE是无用的。你怎么解释?谢谢
我有kubernetes集群,一切正常。一段时间后,我耗尽了工作节点并重置它,然后再次将其加入主节点,但是
#kubectl get nodes
NAME STATUS ROLES AGE VERSION
ubuntu Ready master 159m v1.14.0
ubuntu1 Ready,SchedulingDisabled <none> 125m v1.14.0
ubuntu2 Ready,SchedulingDisabled <none> 96m v1.14.0
Run Code Online (Sandbox Code Playgroud)
我该怎么办?
app1我用和部署了一个入口app2。
example.com/app1 ---> app1
example.com/app2 ---> app2
Run Code Online (Sandbox Code Playgroud)
并在所有机器上定义/etc/hosts。
192.168.1.10 example.com
Run Code Online (Sandbox Code Playgroud)
但我想知道在操作中如何使用DNS和 ingress。
我应该怎么办?Ingress给我带来了什么?我对入口感到困惑。在实际环境中应该如何使用?
每次重启后,我的 kubernetes 集群无法正常工作,我得到
The connection to the server 192.168.1.4:6443 was refused - did you specify the right host or port?
Run Code Online (Sandbox Code Playgroud)
我在裸机上有 4 个 ubuntu,其中一个是 master 和 3 个工人,我关闭交换并禁用它。我在某处读到我应该运行这个命令两个解决它
sudo -i
swapoff -a
exit
strace -eopenat kubectl version
Run Code Online (Sandbox Code Playgroud)
这是工作。但为什么会这样呢?
我在裸机上的 ubuntu 上安装 kubernetes。我部署了1个master和3个worker。然后部署 rook,一切工作正常。但是当我想在其上部署 wordpress 时,它卡在容器创建中,然后我删除了 wordpress,现在我收到此错误
卷已由 pod default/wordpress-mysql-b78774f44-gvr58 附加。状态 运行
#kubectl describe pods wordpress-mysql-b78774f44-bjc2c
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Scheduled 3m21s default-scheduler Successfully assigned default/wordpress-mysql-b78774f44-bjc2c to worker2
Warning FailedMount 2m57s (x6 over 3m16s) kubelet, worker2 MountVolume.SetUp failed for volume "pvc-dcba7817-553b-11e9-a229-52540076d16c" : mount command failed, status: Failure, reason: Rook: Mount volume failed: failed to attach volume pvc-dcba7817-553b-11e9-a229-52540076d16c for pod default/wordpress-mysql-b78774f44-bjc2c. Volume is already attached by pod default/wordpress-mysql-b78774f44-gvr58. Status Running
Normal Pulling …Run Code Online (Sandbox Code Playgroud)