【云原生Kubernetes系列项目实战第一篇】k8s集群+高可用负载均衡层+防火墙( 提及年少一词,应与平庸相斥)(二)

本文涉及的产品
云防火墙,500元 1000GB
应用型负载均衡 ALB,每月750个小时 15LCU
网络型负载均衡 NLB,每月750个小时 15LCU
简介: 【云原生Kubernetes系列项目实战第一篇】k8s集群+高可用负载均衡层+防火墙( 提及年少一词,应与平庸相斥)(二)

二、创建两个自主式Pod资源


要求在 Kubernetes 环境中,通过yaml文件的方式,创建2个Nginx Pod分别放置在两个不同的节点上,Pod使用hostPath类型的存储卷挂载,节点本地目录共享使用 /data,2个Pod副本测试页面二者要不同,以做区分,测试页面可自己定义。

#1、先空跑命令,生成nginx的pod模板文件
 kubectl run mynginx --image=nginx:1.14 --port=80 --dry-run=client -o yaml > nginx-pod.yaml
 #2、修改模板文件
 ---
apiVersion: v1
kind: Pod
metadata:
  labels:
    run: nginx
  name: nginx01
spec:
  nodeName: node01
  containers:
  - image: nginx
    name: nginx
    ports:
    - containerPort: 80
    volumeMounts:
    - name: node1-html
      mountPath: /usr/share/nginx/html/
  volumes:
  - name: node1-html
    hostPath:
      path: /data/
      type: DirectoryOrCreate
---
apiVersion: v1
kind: Pod
metadata:
  labels:
    run: nginx
  name: nginx02
spec:
  nodeName: node02
  containers:
  - image: nginx
    name: nginx
    ports:
    - containerPort: 80
    volumeMounts:
    - name: node2-html
      mountPath: /usr/share/nginx/html/
  volumes:
  - name: node2-html
    hostPath:
      path: /data/
      type: DirectoryOrCreate
 #使用yaml文件创建自主式Pod资源
 kubectl apply -f nginx-pod.yaml
 pod/nginx01 created
 pod/nginx02 created
 #查看创建的两个pod,被调度到了不同的node节点
 kubectl get pods -o wide
NAME      READY   STATUS    RESTARTS   AGE     IP           NODE     NOMINATED NODE   READINESS GATES
nginx01   1/1     Running   0          2m11s   10.244.1.2   node01   <none>           <none>
nginx02   1/1     Running   0          2m11s   10.244.2.2   node02   <none>           <none>
 #---3、两个node节点的存储卷,写入不同的html文件内容,验证访问网页
 #node01节点
 echo "this is node01" > /data/index.html
 #node02节点
 echo "this is node02 " > /data/index.html
 curl 10.244.1.2   #访问Node01节点的Pod的IP
 curl 10.244.2.2   #访问Node02节点的Pod的IP







三、创建service资源


编写service对应的yaml文件,使用NodePort类型和TCP 30000端口将Nginx服务发布出去。

[root@master opt]# vim pod-nginx-service.yaml
apiVersion: v1
kind: Service
metadata:
  labels:
    run: nginx
  name: nginx-service
spec:
  ports:
  - port: 80
    protocol: TCP
    targetPort: 80
    nodePort: 30000
  selector:
    run: nginx
  type: NodePort
[root@master opt]# kubectl apply -f pod-nginx-service.yaml
service/nginx-service created
[root@master opt]# kubectl get svc
NAME            TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)        AGE
kubernetes      ClusterIP   10.96.0.1       <none>        443/TCP        47m
nginx-service   NodePort    10.110.35.189   <none>        80:30000/TCP   7s
[root@master opt]# kubectl describe svc 
kubernetes     nginx-service  
[root@master opt]# kubectl describe svc nginx-service 
Name:                     nginx-service
Namespace:                default
Labels:                   run=nginx
Annotations:              <none>
Selector:                 run=nginx
Type:                     NodePort
IP Families:              <none>
IP:                       10.110.35.189
IPs:                      10.110.35.189
Port:                     <unset>  80/TCP
TargetPort:               80/TCP
NodePort:                 <unset>  30000/TCP
Endpoints:                10.244.1.2:80,10.244.2.2:80
Session Affinity:         None
External Traffic Policy:  Cluster
Events:                   <none>



[root@master opt]# curl 192.168.10.20:30000
this is node02
[root@master opt]# curl 192.168.10.10:30000
this is node02
[root@master opt]# curl 192.168.10.30:30000
this is node02
[root@master opt]# curl 192.168.10.10:30000
this is node01


目录
相关文章
|
6天前
|
Cloud Native
邀您参加云原生高可用技术沙龙丨云上高可用体系构建:从理论到实践
云原生高可用技术专场,邀您从理论到实践一起交流,探索云上高可用体系构建!
|
2月前
|
Kubernetes Cloud Native 云计算
云原生之旅:Kubernetes 集群的搭建与实践
【8月更文挑战第67天】在云原生技术日益成为IT行业焦点的今天,掌握Kubernetes已成为每个软件工程师必备的技能。本文将通过浅显易懂的语言和实际代码示例,引导你从零开始搭建一个Kubernetes集群,并探索其核心概念。无论你是初学者还是希望巩固知识的开发者,这篇文章都将为你打开一扇通往云原生世界的大门。
140 17
|
2月前
|
Kubernetes 安全 Cloud Native
云上攻防-云原生篇&K8s安全-Kubelet未授权访问、API Server未授权访问
本文介绍了云原生环境下Kubernetes集群的安全问题及攻击方法。首先概述了云环境下的新型攻击路径,如通过虚拟机攻击云管理平台、容器逃逸控制宿主机等。接着详细解释了Kubernetes集群架构,并列举了常见组件的默认端口及其安全隐患。文章通过具体案例演示了API Server 8080和6443端口未授权访问的攻击过程,以及Kubelet 10250端口未授权访问的利用方法,展示了如何通过这些漏洞实现权限提升和横向渗透。
250 0
云上攻防-云原生篇&K8s安全-Kubelet未授权访问、API Server未授权访问
|
2月前
|
Kubernetes Cloud Native 流计算
Flink-12 Flink Java 3分钟上手 Kubernetes云原生下的Flink集群 Rancher Stateful Set yaml详细 扩容缩容部署 Docker容器编排
Flink-12 Flink Java 3分钟上手 Kubernetes云原生下的Flink集群 Rancher Stateful Set yaml详细 扩容缩容部署 Docker容器编排
93 3
|
2月前
|
Kubernetes Cloud Native Ubuntu
云原生之旅:Kubernetes集群搭建与应用部署
【8月更文挑战第65天】本文将带你进入云原生的世界,通过一步步指导如何在本地环境中搭建Kubernetes集群,并部署一个简单的应用。我们将使用Minikube和Docker作为工具,探索云原生技术的魅力所在。无论你是初学者还是有经验的开发者,这篇文章都将为你提供有价值的信息和实践技巧。
|
3月前
|
Kubernetes 监控 Cloud Native
Cluster Optimizer:一款云原生集群优化平台
**Cluster Optimizer** 是一款云原生集群优化平台,旨在通过自动化和智能化工具帮助企业降低云成本,解决云原生架构中的成本管理难题。面对资源闲置、配置不当和缺乏自动化优化机制等挑战,Cluster Optimizer能够深入分析云资源、应用和用户行为,精准识别优化机会,并给出具体建议,涵盖节点组、节点、GPU 节点、磁盘、持久卷和应用等多个维度。通过优化实例类型、自动扩缩容和资源分配,帮助企业降低成本、提升性能和效率。[点击此处](https://www.wiseinf.com.cn/docs/setup/) 免费安装和试用 **Cluster Optimizer 社区版**。
107 9
|
4月前
|
运维 Kubernetes Cloud Native
探索云原生:Kubernetes集群的部署与管理
【8月更文挑战第31天】 本文将带领读者深入了解云原生技术,特别是以Kubernetes为核心的集群部署和管理。文章不仅介绍了Kubernetes的基础概念和架构,还通过实际的代码示例展示了如何在云平台上搭建一个Kubernetes集群。我们将从基础的安装步骤到高级的服务部署,一步步揭示如何利用Kubernetes来简化容器化应用的管理与扩展。无论你是云原生新手还是希望提升现有技能的开发者,这篇文章都将成为你实践云原生技术的宝贵指南。
|
4月前
|
安全 Linux 应用服务中间件
在Linux中,包过滤防火墙与代理应用防火墙有什么区别?有哪些相应的产品?
在Linux中,包过滤防火墙与代理应用防火墙有什么区别?有哪些相应的产品?
|
3月前
|
机器学习/深度学习 安全 网络协议
Linux防火墙iptables命令管理入门
本文介绍了关于Linux防火墙iptables命令管理入门的教程,涵盖了iptables的基本概念、语法格式、常用参数、基础查询操作以及链和规则管理等内容。
242 73
|
1月前
|
存储 运维 Linux
Linux防火墙firewall的使用
CentOS 7 中的 firewalld 是基于 Netfilter 的防火墙服务,支持动态配置,无需重启服务即可生效。它通过区域管理网络流量,每个区域可以设置不同的防火墙规则。默认区域为 public,可以通过命令行工具 firewall-cmd 进行管理和配置。firewalld 提供了丰富的预定义服务和区域,方便用户根据需求进行灵活配置。
43 0