zoukankan      html  css  js  c++  java
  • 【Kubernetes】手动创建 Pod 集群

    环境

    1. kubernetes 1.20.2
    2. Spring Boot 2.5.0-M1

    目标

    现在我们已经可以创建一个 Pod 来提供服务了。但是,在生产上,一般来说最少需要三台服务器来提供服务,
    避免其中一台服务出错导致整个服务不能访问。现在我们也试着创建三个 Pod 的集群。

    创建集群

    创建第一个 Pod

    apiVersion: v1
    kind: Pod
    metadata:
      name: pod1
    spec:
      containers:
        - name: pod1
          image: jiangbo920827/spring-demo:actuator
          ports:
            - containerPort: 8080
          resources:
            limits:
              memory: 200Mi
              cpu: 200m
    
    

    创建第二个 Pod

    apiVersion: v1
    kind: Pod
    metadata:
      name: pod2
    spec:
      containers:
        - name: pod2
          image: jiangbo920827/spring-demo:actuator
          ports:
            - containerPort: 8080
          resources:
            limits:
              memory: 200Mi
              cpu: 200m
    
    

    创建第三个 Pod

    apiVersion: v1
    kind: Pod
    metadata:
      name: pod3
    spec:
      containers:
        - name: pod3
          image: jiangbo920827/spring-demo:actuator
          ports:
            - containerPort: 8080
          resources:
            limits:
              memory: 200Mi
              cpu: 200m
    
    

    Pod 集群

    查看 Pod 状态

    [root@master pod]# kubectl get pod -o wide
    NAME   READY   STATUS    RESTARTS   AGE     IP            NODE    NOMINATED NODE   READINESS GATES
    pod1   1/1     Running   0          5m26s   10.244.1.70   node1   <none>           <none>
    pod2   1/1     Running   0          3m36s   10.244.1.71   node1   <none>           <none>
    pod3   1/1     Running   0          3m25s   10.244.2.36   node2   <none>           <none>
    [root@master pod]#
    

    访问测试

    [root@master pod]# curl 10.244.1.70:8080/hostname
    pod1 actuator[root@master pod]# curl 10.244.1.71:8080/hostname
    pod2 actuator[root@master pod]# curl 10.244.2.36:8080/hostname
    pod3 actuator[root@master pod]#
    

    可以看到在访问 Pod1, 2, 3 的时候,都成功了,我们很容易就拥有了相当于三台服务器提供的服务。
    如果在这三个 Pod 的前面加上负载均衡器,将 IP 地址配置进去,集群环境将搭建好了。
    同时,还具有一定的自恢复功能,如果 Pod 中的容器因为意外停止了,还可以自动重启。

    在 k8s,即 Kubernetes(因为中间省略了 8 个字母),像这种多个 Pod 的形式,叫做多副本(replica)。

    总结

    介绍了手动搭建一个多 Pod 的集群,也叫多副本。

    附录

  • 相关阅读:
    天使投资人如何评估创业公司价值
    web报表工具finereport常用函数的用法总结(数组函数)
    采用UltraISO制作U盘启动盘
    web报表工具FineReport常用函数的用法总结(报表函数)
    web报表工具FineReport使用中遇到的常见报错及解决办法(三)
    Dll的编写 在unity中加载
    Unity 实现模拟按键
    web报表工具FineReport最经常用到部分函数详解
    Unity UGUI
    带有天气预报的高大上web报表制作分享
  • 原文地址:https://www.cnblogs.com/jiangbo44/p/14348754.html
Copyright © 2011-2022 走看看