k8s基础操作

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上定义共享存储卷
    • name: $ITEM_APP-log
      emptyDir: {}

猜你喜欢

转载自blog.51cto.com/11463754/2534608