k8s线上应用实践

kubectl 安装

https://kubernetes.io/zh/docs/tasks/tools/install-kubectl/

kubectl常用命令

# kubectl 查看node
kubectl get node 
# kubectl 查看pod日志
kubectl -n default log -f ${pod-name}
# kubectl 进入到pod容器内
kubectl exec -it ${pod-name} -- bash
# kubectl查看pod
kubectl get pod -n default -o wide
# kubectl 查看service
kubectl get svc -n default -o wide
# kubectl 查看ingress
kubectl get ing -n default -o wide
# kubectl 查看deployment
kubectl get deployment -n default -o wide
# 查看configmap配置
kubectl describe cm ${config-map-name}
# 从文件创建config-map
kubectl create configmap config-map --from-file=${file-path}

Pod

使用文件创建pod(常用基础版)

apiVersion: apps/v1
kind: Deployment
metadata:
  name: ${pod-name}
spec:
  selector:
    matchLabels:
      # 选择器,必须与下面相同
      ${label-name}: ${label-value}
  template:
    metadata:
      labels:
      	# 选择器
        ${label-name}: ${label-value}
    spec:
      volumes:
      - name: logs
        hostPath:
          # 容器外地址
          path: /tmp
      containers:
      - name: ${containers-name}
        image: ${docker-image}
        resources:
          requests:
            memory: "2Gi"
            cpu: "500m"
        ports:
        - containerPort: 8080
        env:
        - name: PARAMS
          value: "此处为docker -e PARAMS='--xxx=fff aaa=bbb'"
        volumeMounts:
        - name: logs
           # 容器内地址
          mountPath: /data/applogs

Service

apiVersion: v1
kind: Service
metadata:
  name: ${service-name}
  labels:
    ${label-name}: ${label-value}
spec:
  type: ClusterIP | NodePort
  # 如果为None为headless service
  clusterIP: None 
  ports:
    - port: ${containers-port}
      name: server
      targetPort: ${service-port}
  selector:
    app: nacos

目前k8s中的长域名需要遵循如下格式访问
service 的 k8s内部域名格式是 ..svc.cluster.local
例如 abc.default.svc.cluster.local

pod的域名访问方式为:pod-ip-address..pod.cluster.local
先执行kubectl get pod -n -owide 查到pod的ip
例如podip为172.31.5.6
访问方式为 172-31-5-6.default.pod.cluster.local

Ingress

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: ingress-wildcard-host
spec:
  rules:
  - host: "foo.bar.com"
    http:
      paths:
      - pathType: Prefix
        path: "/bar"
        backend:
          service:
            name: service1
            port:
              number: 80
  - host: "*.foo.com"
    http:
      paths:
      - pathType: Prefix
        path: "/foo"
        backend:
          service:
            name: service2
            port:
              number: 80
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

你向着阳光奔跑的背影

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值