Kubernetes部署应用

VSole2022-05-11 13:36:57

STATEMENT

声明

由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,雷神众测及文章作者不为此承担任何责任。

雷神众测拥有对此文章的修改和解释权。如欲转载或传播此文章,必须保证此文章的完整性,包括版权声明等全部内容。未经雷神众测允许,不得任意修改或者增减此文章内容,不得以任何方式将其用于商业目的。

前言

在已有的集群环境下进行实际应用部署

期间会用到的部分基本命令

kubectl run

kubectl run NAME --image=image [--env="key=value"] [--port=port] [--replicas=replicas] [--dry-run=bool] [--overrides=inline-json] [--command] -- [COMMAND] [args...]

如启动nginx实例:


kubectl run nginx --image=nginx

附带端口:


kubectl run nginx --image=nginx --port=18080kubectl run testapp --image=ccr.ccs.tencentyun.com/k8s-tutorial/test-k8s:v1

创建pod

kubetcl apply -f testpod.yaml

创建成功如下

创建deployment

pod常用命令

部署应用

kubetcl apply -f pod.yaml

查看全部

kubectl get all

查看deployment pod

kubectl get deploymentkubectl get pod -o wide

查看所有&指定namespace下的pod

kubectl get pods --all-namespaceskubectl get pod -n default

查看describe

kubectl describe pod podnamekubectl describe pod tomcat-deployment-2212675085-g5rkj

查看pod log

kubectl logs tomcat-deployment-2212675085-g5rkj

进入pod

kubectl exec -it tomcat-deployment-2212675085-g5rkj bash

复制文件

kubectl cp pod-name:容器内文件路径 /root/主机目录文件 -n namespacekubectl -n default cp /root/1.war tomcat-deployment-2212675085-g5rkj:/usr/local/tomcat/1.war

pod端口映射

kubectl port-forward tomcat-deployment-2212675085-g5rkj 8090:8081

删除deployment pod

kubectl delete deployment tomcat-deploymentkubectl delete pod tomcat-deployment-2212675085-4z1c2

强制删除

kubectl delete pod tomcat-deployment-2212675085-4z1c2 --grace-period=0 --force

实际部署

此处以tomcat为案例apiVersion: extensions/v1beta1kind: Deploymentmetadata:name: tomcat-deploymentlabels:app: tomcatspec:replicas: 2selector:matchLabels:app: tomcattemplate:metadata:labels:app: tomcatspec:containers:- name: tomcatimage: tomcat:latestports:- containerPort: 8080

编写完后


kubectl apply -f tomcat.yaml

确认状态


kubectl get deploymentskubectl get pods --show-labels

状态等待变成 running即可

添加外部访问方式的服务

用上面提及的进容器内的方式,对相关镜像拉下来的tomcat文件进行修改即可,改下web目录就行

最终效果如下

kubernetespod
本作品采用《CC 协议》,转载必须注明作者和本文链接
NSA和CISA联合发布Kubernetes安全加固建议。指南称,Kubernetes环境被黑的主要诱因是供应链攻击、恶意攻击者和内部威胁。虽然管理员无法应对这3种威胁,但可以通过避免错误配置、减小安全风险等方式来加固Kubernetes系统。针对Kubernetes系统安全风险的防护措施包括扫描容器和pod的bug和错误配置、使用最小权限来运行pod和容器、进行网络隔离、强认证、防火墙等。
近日,互联网公开了Linux Netfilter权限提升漏洞的POC及EXP,相关CVE编号:CVE-2021-22555。该漏洞在kCTF中被用于攻击kubernetes pod容器实现虚拟化逃逸,该漏洞已在Linux内核代码中存在15年。目前官方已发布安全版本修复该漏洞,建议受影响用户尽快更新至安全版本进行防护,做好资产自查以及预防工作,以免遭受黑客攻击。
最近这log4j热度很高。好久没写文章了,而且目前市面有些文章里面的内容信息已经有些过时缺少最新信息迭代,借此机会我剑指系列基于国内外的关于此漏洞的研究我进行了总结和归纳,并且将我自己目前发现的小众的技巧方法分享给各位,希望能给各位带来帮助不会让各位失望。
容器安全是一个庞大且牵涉极广的话题,而容器的安全隔离往往是一套纵深防御的体系,牵扯到AppArmor、Namespace、Capabilities、Cgroup、Seccomp等多项内核技术和特性,但安全却是一处薄弱则全盘皆输的局面,一个新的内核特性可能就会让看似无懈可击的防线存在突破口。随着云原生技术的快速发展,越来越多的容器运行时组件在新版本中会默认配置AppArmor策略,原本我们在《红蓝对
Kubernetes通常被称为“K8s”,是一种非常流行的开源容器编排系统,可以自动部署、扩展和管理容器化工作负载。
对于在共享基础设施上运行的容器化应用程序来说,安全是至关重要的。随着越来越多的组织将其容器工作负载转移到Kubernetes,K8s已经成为容器协调的首选平台。而随着这一趋势,威胁和新的攻击方式也越来越多,有必要加强所有的安全层。 在Kubernetes中,安全问题有两个方面:集群安全和应用安全。我们已经在另一篇文章中介绍了集群安全。在这篇文章中,我们将探讨如何确保Kubernetes部署和一般
虽然网上有大量从零搭建 K8S 的文章,但大都针对老版本,若直接照搬去安装最新的 1.20 版本会遇到一堆问题。故此将我的安装步骤记录下来,希望能为读者提供 copy and paste 式的集群搭建帮助。
虽然网上有大量从零搭建?的文章,但大都针对老版本,若直接照搬去安装最新的?版本会遇到一堆问题。故此将我的安装步骤记录下来,希望能为读者提供?式的集群搭建帮助。服务等,可供用户免费下载、使用和分享。??启动的三节点服务已经配置好了以下使用?节点进行演示查看,其他节点操作均一致#?
域安全 | K8s调度策略
2023-02-08 16:01:30
在K8s中,调度是指将Pod放置到合适的节点上。在一个集群中满足一个 Pod调度请求的所有节点称之为可调度节点。PodFitsResources 过滤函数会检查候选节点的可用资源能否满足 Pod 的资源请求。根据当前启用的打分规则,调度器会给每一个可调度节点进行打分。最后,kube-scheduler 会将 Pod 调度到得分最高的节点上。可以通过一些手段约束一个Pod以便限制其只能在特定的节点上运行,或优先在特定的节点上运行。
VSole
网络安全专家