kubectl apply -f - <<EOF
#构建命名空间
apiVersion: v1
kind: Namespace
metadata:
name: nacos-system
---
#应用
kind: Deployment
apiVersion: apps/v1beta1
metadata:
#名称
name: nacos
#命名空间
namespace: nacos-system
spec:
#配置标记k8s1.16必填
selector:
matchLabels:
app: nacos
#启动应用数量
replicas: 1
#从容器启动到应用正常提供服务
minReadySeconds: 10
#策略
strategy:
#更新类型
type: RollingUpdate
#滚动更新
rollingUpdate:
#更新时允许最大激增的容器数
maxSurge: 1
#更新时允许最大 unavailable 容器数
maxUnavailable: 0
#模板
template:
#数据描述[元数据]
metadata:
#标签
labels:
#应用
app: nacos
#规格
spec:
#容器
containers:
#名称
- name: nacos
#镜像
image: uhub.service.ucloud.cn/pub021/nacos-server:1.1.4
#镜像挂载目录
volumeMounts:
- name: time
mountPath: /etc/localtime
#计算资源配置
resources:
#启动限制
requests:
#初始化CPU用量
cpu: "100m"
#初始化内存用量
memory: "4096Mi"
#最大限制
limits:
#限制CPU最大用量
cpu: "1000m"
#限制内存最大用量
memory: "4096Mi"
#环境变量
env:
- name: MODE
value: "standalone"
- name: NACOS_AUTH_CACHE_ENABLE
value: "false"
#实际目录挂载
volumes:
#宿主机时间文件
- name: time
hostPath:
path: /etc/localtime
---
#服务
kind: Service
apiVersion: v1
#数据描述[元数据]
metadata:
#名称
name: nacos
#命名空间
namespace: nacos-system
#规格
spec:
#容器
selector:
#应用
app: nacos
#端口
ports:
#名称
- name: http
#协议
protocol: TCP
#对外开放端口
port: 8848
#容器开放端口
targetPort: 8848
#类型
type: ClusterIP
#对外开放的IP地址
externalIPs: [192.168.100.135]
EOF