首页 > 其他分享 >创建K8S开机自启动脚本

创建K8S开机自启动脚本

时间:2023-09-11 22:35:25浏览次数:39  
标签:Kubernetes 配置文件 kubelet 开机 yaml myapp 自启动 K8S name

在Kubernetes(K8s)中,要实现开机自启动应用,通常会使用一个名为kubelet的代理来启动你的应用。以下是一个简单的示例脚本,假设你的应用是一个名为myapp的Docker镜像。

  1. 首先,创建一个名为myapp-deployment.yaml的Kubernetes部署配置文件:
yamlapiVersion: apps/v1
kind: Deployment
metadata:
  name: myapp-deployment
spec:
  replicas: 1
  selector:
    matchLabels:
      app: myapp
  template:
    metadata:
      labels:
        app: myapp
    spec:
      containers:
        - name: myapp
          image: myapp:latest
          ports:
            - containerPort: 8080
apiVersion: apps/v1
kind: Deployment
metadata:
  name: myapp-deployment
spec:
  replicas: 1
  selector:
    matchLabels:
      app: myapp
  template:
    metadata:
      labels:
        app: myapp
    spec:
      containers:
        - name: myapp
          image: myapp:latest
          ports:
            - containerPort: 8080
  1. 使用kubectl命令行工具应用配置:
shkubectl apply -f myapp-deployment.yaml
kubectl apply -f myapp-deployment.yaml
  1. 检查部署状态:
shkubectl get deployments
kubectl get deployments
  1. 创建名为myapp-service.yaml的Kubernetes服务配置文件:
yamlapiVersion: v1
kind: Service
metadata:
  name: myapp-service
spec:
  selector:
    app: myapp
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8080
apiVersion: v1
kind: Service
metadata:
  name: myapp-service
spec:
  selector:
    app: myapp
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8080
  1. 应用服务配置:
shkubectl apply -f myapp-service.yaml
kubectl apply -f myapp-service.yaml
  1. 检查服务状态:
shkubectl get services
kubectl get services

至此,你的应用已经成功在Kubernetes集群中部署并运行。接下来,我们要通过Kubernetes的kubelet来设置开机自启动。

  1. 获取kubelet的配置文件路径:

在大多数Kubernetes集群中,kubelet的配置文件通常位于/etc/systemd/system/kubelet.service.d/10-kubeadm.conf。如果你的系统不同,请查找相应的配置文件路径。 8. 编辑kubelet配置文件,添加以下内容:

ini[Service]
ExecStart=
ExecStart=/usr/bin/kubelet --container-runtime=remote --container-r
[Service]
ExecStart=
ExecStart=/usr/bin/kubelet --container-runtime=remote --container-r

标签:Kubernetes,配置文件,kubelet,开机,yaml,myapp,自启动,K8S,name
From: https://blog.51cto.com/u_12830878/7439120

相关文章

  • k8s优雅停服
    在应用程序的整个生命周期中,正在运行的pod会由于多种原因而终止。在某些情况下,Kubernetes会因用户输入(例如更新或删除Deployment时)而终止pod。在其他情况下,Kubernetes需要释放给定节点上的资源时会终止pod。无论哪种情况,Kubernetes都允许在pod中运行的容器在可配置的时......
  • K8s - 安装部署MongoDB数据库教程1(单实例)
    来源:https://www.hangge.com/blog/cache/detail_3158.htmlMongoDB 是一个基于分布式文件存储的数据库。我之前文件中介绍如何使用官方提供的安装包进行 MongoDB 数据库的安装(点击查看),以及如何通过 Docker 来快速搭建 MongoDB 数据库环境(点击查看)。本文接着演示如何在 Ku......
  • 树莓派 4B 开机红屏修复教程 All In One
    树莓派4B开机红屏修复教程AllInOne树莓派4B掉地上摔了一下,开机后发现绿灯不亮了问题分析摔坏了主办,或SD卡❓开机中途,突然断掉了电源,导致系统引导启动程序出错了❓使用启动引导修复程序❓树莓派4b开机绿灯不亮恢复EEPROM的镜像如果成功,绿色LED指示......
  • xxl-job-executor执行器部署到k8s中时,port报错
    错误:15:48:21.902logback[main]ERRORo.s.boot.SpringApplication-Applicationrunfailedorg.springframework.beans.factory.UnsatisfiedDependencyException:Errorcreatingbeanwithname'xxlJobConfig':Unsatisfieddependencyexpressedthroughfie......
  • k8s笔记13
    摘要:VirtualService-hosts;Gateway-hosts1、解压tar包github下载Tags·troglobit/pimd(github.com)./configure&&makesudomakeinstall解压Sourcecodetar包,报错。[[email protected]]#./configure&&makeFIXDEPlibite/lite.hmissing...fata......
  • k8s集群在扩容的是某个节点出现 Error querying BIRD: unable to connect to BIRDv4 s
    k8s集群在扩容的是某个节点出现ErrorqueryingBIRD:unabletoconnecttoBIRDv4socket1、问题背景:原因是因为新扩容的机器在扩容之前安装过docker切和当前的版本相差较大:在k8s扩容的时候扩容完发现calico异常,describe查看事件后发现报错如下:发现Kubernetes容器集群中有......
  • 服务器重启后如何让K8S也自动重启
    在云计算和容器化时代,Kubernetes已经成为主流的容器编排解决方案,能够提供高效、自动化的服务部署和管理。然而,当服务器出现故障或需要进行维护时,我们经常需要重新启动服务器。在这种情况下,如何让Kubernetes服务也自动重启,确保其正常运行呢?以下是几个关键步骤,用于在服务器重启后自动......
  • ElasticSearch+Kibana on K8s 讲解与实战操作(版本7.17.3)
    目录一、概述二、ElasticSearch节点类型与作用三、K8s集群部署四、ElasticSearchonK8s开始部署1)下载安装包2)构建镜像3)修改yaml编排4)开始部署5)测试6)elasticsearch-head5)卸载五、Kibana编排部署1)下载安装包2)构建镜像3)修改yaml编排4)开始部署5)测试验证6)卸载六、Elasticsearch7......
  • k8s 安装
    VM U盘的安装云镜像的能力,网络初始化的内容1.VM安装直接安装:开启虚拟机的假定安装信息的,网络信息10.2021 2.Docker安装重启下对应的uname-a的版本3.重启完成下一个新的4.44再去重启一下,步骤费事,使用k8s并不会但是最好更新过来,uname-a启动docker 设置为自己的开启自己,s......
  • 【k8s】k8s构建mysql双主集群
    背景当前很多开源系统都是基于k8s,而部署时会遇到组件包含mysql的情况。理想的情况下,是将mysql迁移到云上托管。但实际情况可能比较复杂,比如这个开源框架需要mysql的DML权限,但是公司DBA不提供;而基于k8s部署mysql的问题是,这个mysql集群往往是单点的。一般mysql会依赖于一个本地挂......