k8s安装常用软件的yaml文件

参考网址:https://www.bejson.com (网站文件部分有坑,需要擦亮眼睛)

nginx

k8s版本:v1.20

apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-nginx
  namespace: test
spec:
  replicas: 1
  selector:
    matchLabels:
      run: my-nginx
  template:
    metadata:
      labels:
        run: my-nginx
    spec:
      containers:
        - name: my-nginx
          image: nginx
          ports:
            - containerPort: 80
          imagePullPolicy: IfNotPresent
          resources:
            requests:
              cpu: 400m
              memory: 600Mi
            limits:
              cpu: 800m
              memory: 800Mi
      volumes:
        - name: myemptydir
          emptyDir: {}

MySQL

MySQL版本:8.0.23,k8s版本:v1.20

# cat PersistentVolumeClaim.yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: my-mysql-data
  namespace: test
spec:
  accessModes:
    - ReadWriteMany
  resources:
    requests:
      storage: 5Gi
  storageClassName: storage # 需要事先创建好存储类
# cat service.yaml
apiVersion: v1
kind: Service
metadata:
  name: my-mysql # 名称要跟Deployment.yaml中的保持一致
  namespace: test
spec:
  type: NodePort
  selector:
    app: my-mysql
  ports:
    - port: 3306
      targetPort: 3306
      nodePort: 32306
# cat Deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-mysql
  namespace: test
  labels:
    app: my-mysql
spec:
  replicas: 1
  selector:
    matchLabels:
      app: my-mysql
  template:
    metadata:
      labels:
        app: my-mysql
    spec:
      volumes:
        - name: my-mysql-data
          persistentVolumeClaim:
            claimName: my-mysql-data
        - name: mysql-conf
          configMap:
            name: mysql-conf
      containers:
        - env:
            - name: MYSQL_ROOT_PASSWORD #root用户密码
              value: root
            - name: MYSQL_USER # 普通用户
              value: test
            - name: MYSQL_PASSWORD # 普通用户密码
              value: test
          image: 'mysql:8.0.23'
          imagePullPolicy: IfNotPresent
          name: my-mysql
          ports:
            - containerPort: 3306
              protocol: TCP
              name: http
          volumeMounts:
            - name: my-mysql-data
              mountPath: /var/lib/mysql
            - name: mysql-conf
              mountPath: /etc/mysql/mysql.conf.d
          resources:
            requests:
              cpu: 400m
              memory: 600Mi
            limits:
              cpu: 800m
              memory: 800Mi
# cat ConfigMap.yaml
apiVersion: v1
kind: ConfigMap
metadata:
  name: mysql-conf
  namespace: test
data:
  mysql.cnf: |
    [mysqld]

     pid-file        = /var/run/mysqld/mysqld.pid
     socket          = /var/run/mysqld/mysqld.sock
     datadir         = /var/lib/mysql
     
     symbolic-links=0
     sql-mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

未完待续。。。

posted @   哈喽哈喽111111  阅读(298)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示