V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
imherer
V2EX  ›  Kubernetes

问几个关于 k8s 的问题

  •  
  •   imherer · 2019-08-09 10:27:00 +08:00 · 3276 次点击
    这是一个创建于 1937 天前的主题,其中的信息可能已经有所发展或是发生改变。

    只粗略的看了下文档,没有上手过,可能理解的不对

    1. k8s 和 minikube 是啥关系?官方是这样介绍的: Minikube is a tool that makes it easy to run Kubernetes locally 是不是类似 git 和 github 这样的关系?大佬们线上环境用什么?也用 minikube 吗?
    2. k8s 可以随意的扩缩应用,这个是不是可以理解为负载均衡,那对于有状态的应用还能使用它吗?假如我现设置一个应用 replicas=3,分别为 a1,a2,a3,用户第一次上来访问了 a1 并产生了一些状态,如何保证用户后面的每次访问都是 a1 呢?
    16 条回复    2019-08-09 17:51:59 +08:00
    Judoon
        1
    Judoon  
       2019-08-09 10:34:37 +08:00
    你这些问题,多看看文档多实践就知道了
    DAPTX4869
        2
    DAPTX4869  
       2019-08-09 10:37:55 +08:00   ❤️ 1
    1 不知道,很少用
    2
    ```
    Kubernetes 仅仅支持两种形式的会话亲和性服务:None 和 ClientIP。
    clientIP 将会使服务代理将来自同一个 client IP 的所有请求转发至同一个 pod
    上。
    ```
    书上看的,在 SVC 上设置
    mingqing
        3
    mingqing  
       2019-08-09 10:41:31 +08:00   ❤️ 1
    1. minikube 就是类似 lnmp ( linux+nginx+mysql+php )一种一键安装包,帮你在本地开启 k8s 实例,用于开发测试。
    2. 可以随意的扩缩应用,是只针对无状态应用,这个会涉及开发架构的设计。
    imherer
        4
    imherer  
    OP
       2019-08-09 10:48:34 +08:00
    @DAPTX4869
    @mingqing
    那线上如果不用 Minikube 的话用什么呢? 云厂商提供的 k8s 吗?
    mingqing
        5
    mingqing  
       2019-08-09 10:53:46 +08:00   ❤️ 1
    @imherer 线上肯定不能使用 minikube。
    没有专业运维团队的话,选择云厂商的 k8s,这个运维不简单。
    hst001
        6
    hst001  
       2019-08-09 11:10:40 +08:00 via Android   ❤️ 1
    k8s 部署很麻烦,有时候只是想开发环境快速上手,所以催生了很多工具
    snappyone
        7
    snappyone  
       2019-08-09 11:14:20 +08:00   ❤️ 1
    有状态应用应该不能用自动扩缩容,要手动去扩容
    annoymous
        8
    annoymous  
       2019-08-09 11:14:21 +08:00   ❤️ 1
    minikube 单点版的 本地搭起来做玩具

    有状态应用考虑用 petset
    BlackHole1
        9
    BlackHole1  
       2019-08-09 11:27:31 +08:00   ❤️ 1
    逐条回答:
    1. minikube 一般用来在本地进行测试的。比如在刚开始学习的时候,可以在本地安装一个 minikube 进行测试、学习。当然,如果你有钱、不嫌麻烦也可以买 GCP 上的云主机来搭建环境。minikube 其实就是自动在你的电脑上安装好一个可以用的单节点集群而已

    2. 我先认为你使用 kind 是 Service。那么在 spec 下有个属性为 sessionAffinity,值设置为 ClientIP 就好。详情可见官方说明: https://kubernetes.io/docs/concepts/services-networking/service/

    Tip:
    可以买本 k8s in action 看看
    imherer
        10
    imherer  
    OP
       2019-08-09 11:32:53 +08:00
    @BlackHole1 感谢!
    rootww21
        11
    rootww21  
       2019-08-09 11:34:31 +08:00   ❤️ 1
    minikube 只是一个快速部署 k8s 开发环境的工具
    线上二进制安装或者 kubeadm,同时考虑 etcd,kube-api 高可用
    无状态应用随意扩展,有状态的可以使用 statefulset
    至于你说的访问 a1,具体看吧
    0312birdzhang
        12
    0312birdzhang  
       2019-08-09 12:43:05 +08:00
    @annoymous #8 改名了,叫 statefulset 了
    widewing
        13
    widewing  
       2019-08-09 12:55:02 +08:00 via Android
    rancher 很好用啊,为什么说线上部署很麻烦?
    rootww21
        14
    rootww21  
       2019-08-09 14:12:01 +08:00
    @widewing 二进制的麻烦 我也在用你说的这个 简化了很多
    LancerEvo
        15
    LancerEvo  
       2019-08-09 16:43:32 +08:00
    本来以为是个好贴点进来看一下 一看问题无语了 都是程序员 能不能有点 copy and paste from stackoverflow 的精神 发帖前能不能先 google 一下
    CivAx
        16
    CivAx  
       2019-08-09 17:51:59 +08:00
    minicube 是 360 垃圾清理

    不用 minicube 部署 k8s 是 Windows Explorer + 回收站

    可以理解吗
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3113 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 13:35 · PVG 21:35 · LAX 05:35 · JFK 08:35
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.