Python开发运维:Python项目发布到K8S集群

目录

一、实验

1.Python项目发布到K8S集群


一、实验

1.Python项目发布到K8S集群

(1)获取应用程序代码

bash 复制代码
#把hello-python.tar.gz压缩包上传到k8s控制节点master1的root下,手动解压
tar zxvf hello-python.tar.gz 

(2)切换目录

bash 复制代码
#requirements.txt文件包含main.py所需的包列表,pip将使用它来安装Flask库。 
cd /root/hello-python/app

(3)创建dockerfile

bash 复制代码
[root@master1 app]# cat dockerfile 
FROM python:3.7
RUN mkdir /app 
WORKDIR /app 
ADD . /app/ 
RUN /usr/local/bin/python -m pip install --upgrade pip
RUN pip install -r requirements.txt
EXPOSE 5000
CMD ["python","/app/main.py"]

(4)构建镜像

bash 复制代码
#需要先拉取python镜像
docker pull python:3.7

docker build  -t hello-python:v1 .

(5) 把镜像做成离线包

bash 复制代码
docker save -o hello.tar.gz hello-python:v1

(6) 查看镜像大小

bash 复制代码
du -sh hello.tar.gz

(7)传送到node1节点

bash 复制代码
 scp hello.tar.gz node1:/root

(8)在node1节点解压镜像

bash 复制代码
docker load  -i hello.tar.gz

(9)创建deployment的yaml文件

bash 复制代码
[root@master1 app]# cat deployment.yaml 
apiVersion: v1
kind: Service
metadata:
  name: hello-python-service
spec:
  selector:
    app: hello-python
  ports:
  - protocol: "TCP"
    port: 6000
    targetPort: 5000
  type: NodePort

---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: hello-python
spec:
  selector:
    matchLabels:
     app: hello-python
  replicas: 1
  template:
    metadata:
      labels:
        app: hello-python
    spec:
      containers:
      - name: hello-python
        image: hello-python:v1
        imagePullPolicy: IfNotPresent
        ports:
        - containerPort: 5000

(10)更新yaml文件

bash 复制代码
kubectl apply -f deployment.yaml

(11)访问python项目

bash 复制代码
kubectl get svc

浏览器访问192.168.204.180:31552即可:

相关推荐
司铭鸿7 分钟前
化学式解析的算法之美:从原子计数到栈的巧妙运用
linux·运维·服务器·算法·动态规划·代理模式·哈希算法
❀͜͡傀儡师11 分钟前
docker部署orion-ops一站式运维管理平台
运维·docker·github
熊猫钓鱼>_>23 分钟前
从零开始构建RPG游戏战斗系统:实战心得与技术要点
开发语言·人工智能·经验分享·python·游戏·ai·qoder
last demo33 分钟前
MariaDB 数据库管理
linux·运维·服务器·数据库·php·mariadb
BoBoZz1943 分钟前
TriangleStrip连续三角带
python·vtk·图形渲染·图形处理
生信大表哥44 分钟前
Python单细胞分析-基于leiden算法的降维聚类
linux·python·算法·生信·数信院生信服务器·生信云服务器
一晌小贪欢1 小时前
【Python办公】用 Selenium 自动化网页批量录入
开发语言·python·selenium·自动化·python3·python学习·网页自动化
z***43842 小时前
SQL server配置ODBC数据源(本地和服务器)
运维·服务器·github
诸神缄默不语2 小时前
如何用Python处理文件:Word导出PDF & 如何用Python从Word中提取数据:以处理简历为例
python·pdf·word
vvoennvv2 小时前
【Python TensorFlow】 TCN-LSTM时间序列卷积长短期记忆神经网络时序预测算法(附代码)
python·神经网络·机器学习·tensorflow·lstm·tcn