k8s常用命令:
kubectl get pod -n 命名空间 -o wide 查看指定命名空间下服务
kubectl get svc -n 命名空间 查看service的IP地址
kubectl exec 服务 -n 命名空间 env 查看pod当前的该service的name与ip--环境变量 (服务对应的IP用环境变量的模式,也有DNS模式)
kubectl get node --show-labels k8s下node节点的信息
k8syaml文件:
apiVersion: v1 //版本
kind: Service // 类型
metadata:
name: // 名称
namespace: //空间名称
spec:
type: NodePort // 节点
ports:
-
port: 8080 //端口
targetPort: 8080 //映射端口
selector:
app: //节点选择apiVersion:
kind:
metadata:
name:
namespace:
spec:
replicas: 1 //是否启用
selector:
matchLabels:
app:
template:
metadata:
labels:
app:
spec:
nodeSelector:
zone: //节点
containers: // docker镜像包- name:
image:
resources:
limits: // 最大内存与cpu 超过会报内存溢出
cpu: 3096m
memory: 3096Mi
requests: // 最小内存与cpu 用于分配节点空间
cpu: 200m
memory: 200Mi
env:- name: JAVA_OPTS // java虚拟机
value: "-Xmx512m -Xms512m" - name: nacos_server-addr // nacosd地址
value: - name: nacos_namespace
value:
volumeMounts: // docker 内部文件位置 - name: $ITEM_APP-log
mountPath: /alidata/app/site/log
ports:- containerPort: 8080 //服务端口
livenessProbe: // 检查健康
httpGet:
path: /api/common/health
port: 8080
initialDelaySeconds: 90
periodSeconds: 10
readinessProbe:
httpGet:
path: /api/common/health
port: 8080
initialDelaySeconds: 90
periodSeconds: 10
imagePullSecrets: - name: registrypullsecret
volumes: //在该pod上定义共享存储卷
- containerPort: 8080 //服务端口
- name: JAVA_OPTS // java虚拟机
- name: $ITEM_APP-log
emptyDir: {}
- name: