k8s(四)部署常用服务的yaml文件1
1、k8s部署tomcat的yaml文件apiVersion: apps/v1kind: Deploymentmetadata:name: mytomcatspec:replicas: 3selector:matchLabels:app: mytomcatminReadySeconds: 1progressDeadlineSeconds: 60revisionHistoryLimit: 5stra
·
1、k8s部署tomcat的yaml文件
apiVersion: apps/v1
kind: Deployment
metadata:
name: mytomcat
spec:
replicas: 3
selector:
matchLabels:
app: mytomcat
minReadySeconds: 1
progressDeadlineSeconds: 60
revisionHistoryLimit: 5
strategy:
type: RollingUpdate
rollingUpdate:
maxSurge: 1
maxUnavailable: 1
template:
metadata:
name: mytomcat
labels:
app: mytomcat
spec:
containers:
- name: mytomcat
image: tomcat:8
ports:
- containerPort: 8080
volumeMounts:
- name: tz-config
mountPath: /etc/localtime
volumes:
- name: tz-config
hostPath:
path: /usr/share/zoneinfo/Asia/Shanghai
2、k8s部署tomcat的svc文件
apiVersion: v1
kind: Service
metadata:
name: mytomcat
spec:
type: NodePort
ports:
- port: 8080
nodePort: 30012
selector:
app: mytomcat
3、k8s部署java的yaml文件
version: "3.6"
services:
dev-11100:
image: java:8u111-jdk
container_name: dev-11100
ports:
- 11100:8088
- 21100:5555
restart: always
working_dir: /opt/app
volumes:
- ../app:/opt/app
- /etc/localtime:/etc/localtime:ro
command: java -Duser.timezone=GMT+08 -jar -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5555 -Xms256M -Xmx512M web.jar --spring.profiles.active=dev
4、k8s部署mysql的yaml文件
version: "3.6"
services:
mysql:
image: mysql:5.7
container_name: mysql
ports:
- 3306:3306
restart: always
environment:
- MYSQL_ROOT_PASSWORD=root
volumes:
- ../datadir:/var/lib/mysql
- ../conf.d/mysqld.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf #注意文件位置,跟yml文件
- /etc/localtime:/etc/localtime:ro
command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --init-connect='SET NAMES utf8mb4;' --innodb-flush-log-at-trx-commit=0
5、k8s部署nginx的yaml文件
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx
spec:
replicas: 3
selector:
matchLabels:
app: nginx
minReadySeconds: 1
progressDeadlineSeconds: 60
revisionHistoryLimit: 5
strategy:
type: RollingUpdate
rollingUpdate:
maxSurge: 1
maxUnavailable: 1
template:
metadata:
name: nginx
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.19.2
ports:
- containerPort: 80
6、k8s部署gitlab的yaml文件
version: "3.6"
services:
gitlab-ce:
image: gitlab/gitlab-ce:12.0.2-ce.0
container_name: gitlab-ce
hostname: 192.168.1.15
ports:
- "8086:80"
- "8087:443"
- "8088:22"
restart: always
environment:
GITLAB_OMNIBUS_CONFIG: |
#external_url 'https://192.168.1.15:8087'
gitlab_rails['lfs_enabled'] = true
gitlab_rails['backup_keep_time'] = 604800
gitlab_rails['gitlab_shell_ssh_port'] = 8088
volumes:
- /etc/localtime:/etc/localtime:ro
- ../datadir/gitlab/config:/etc/gitlab
- ../datadir/gitlab/logs:/var/log/gitlab
- ../datadir/gitlab/data:/var/opt/gitlab
7、k8s部署jenkins的yaml文件
version: "3.6"
services:
jenkins:
image: jenkins/jenkins:2.181
container_name: jenkins
user: root
ports:
- "8080:8080"
- "50000:50000"
restart: always
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ../software:/opt/software
- /usr/bin/docker:/usr/bin/docker:ro
- ../jenkins_home:/var/jenkins_home
- /etc/localtime:/etc/localtime:ro
8、k8s部署nexus的yaml文件
version: "3.6"
services:
nexus:
image: sonatype/nexus3:3.16.2
container_name: nexus
ports:
- 8081:8081
restart: always
user: root
volumes:
- ../nexus-data:/nexus-data
- /etc/localtime:/etc/localtime:ro
9、模版文件
apiVersion: extensions/v1beta1
kind: Deployment
metadata: <Object>
spec: <Object>
minReadySeconds: <integer> #设置pod准备就绪的最小秒数
paused: <boolean> #表示部署已暂停并且deploy控制器不会处理该部署
progressDeadlineSeconds: <integer>
strategy: <Object> #将现有pod替换为新pod的部署策略
rollingUpdate: <Object> #滚动更新配置参数,仅当类型为RollingUpdate
maxSurge: <string> #滚动更新过程产生的最大pod数量,可以是个数,也可以是百分比
maxUnavailable: <string> #
type: <string> #部署类型,Recreate,RollingUpdate
replicas: <integer> #pods的副本数量
selector: <Object> #pod标签选择器,匹配pod标签,默认使用pods的标签
matchLabels: <map[string]string>
key1: value1
key2: value2
matchExpressions: <[]Object>
operator: <string> -required- #设定标签键与一组值的关系,In, NotIn, Exists and DoesNotExist
key: <string> -required-
values: <[]string>
revisionHistoryLimit: <integer> #设置保留的历史版本个数,默认是10
rollbackTo: <Object>
revision: <integer> #设置回滚的版本,设置为0则回滚到上一个版本
template: <Object> -required-
metadata:
spec:
containers: <[]Object> #容器配置
- name: <string> -required- #容器名、DNS_LABEL
image: <string> #镜像
imagePullPolicy: <string> #镜像拉取策略,Always、Never、IfNotPresent
ports: <[]Object>
- name: #定义端口名
containerPort: #容器暴露的端口
protocol: TCP #或UDP
volumeMounts: <[]Object>
- name: <string> -required- #
mountPath: <string> -required- #设置需要挂载容器内的路径
readOnly: <boolean> #设置是否只读
livenessProbe: <Object> #就绪探测
exec:
command: <[]string>
httpGet:
port: <string> -required-
path: <string>
host: <string>
httpHeaders: <[]Object>
name: <string> -required-
value: <string> -required-
scheme: <string>
initialDelaySeconds: <integer> #设置多少秒后开始探测
failureThreshold: <integer> #设置连续探测多少次失败后,标记为失败,默认三次
successThreshold: <integer> #设置失败后探测的最小连续成功次数,默认为1
timeoutSeconds: <integer> #设置探测超时的秒数,默认1s
periodSeconds: <integer> #设置执行探测的频率(以秒为单位),默认1s
tcpSocket: <Object> #TCPSocket指定涉及TCP端口的操作
port: <string> -required- #容器暴露的端口
host: <string> #默认pod的IP
readinessProbe: <Object> #同livenessProbe
resources: <Object> #资源配置
requests: <map[string]string> #最小资源配置
memory: "1024Mi"
cpu: "500m" #500m代表0.5CPU
limits: <map[string]string> #最大资源配置
memory:
cpu:
volumes: <[]Object> #数据卷配置
- name: <string> -required- #设置卷名称,与volumeMounts名称对应
hostPath: <Object> #设置挂载宿主机路径
path: <string> -required-
type: <string> #类型:DirectoryOrCreate、Directory、FileOrCreate、File、Socket、CharDevice、BlockDevice
- name: nfs
nfs: <Object> #设置NFS服务器
server: <string> -required- #设置NFS服务器地址
path: <string> -required- #设置NFS服务器路径
readOnly: <boolean> #设置是否只读
- name: configmap
configMap:
name: <string> #configmap名称
defaultMode: <integer> #权限设置0~0777,默认0664
optional: <boolean> #指定是否必须定义configmap或其keys
items: <[]Object>
- key: <string> -required-
path: <string> -required-
mode: <integer>
restartPolicy: <string> #重启策略,Always、OnFailure、Never
nodeName: <string>
nodeSelector: <map[string]string>
imagePullSecrets: <[]Object>
hostname: <string>
hostPID: <boolean>
status: <Object>
更多推荐
已为社区贡献10条内容
所有评论(0)