← ClaudeAtlas

service-ingresslisted

Kubernetes Service 与 Ingress
ryukyagamilight/terminal-skills · ★ 1 · AI & Automation · score 79
Install: claude install-skill ryukyagamilight/terminal-skills
# Service 与 Ingress ## 概述 服务暴露、Ingress 配置、TLS 终止等技能。 ## Service 类型 ### ClusterIP(默认) ```yaml apiVersion: v1 kind: Service metadata: name: my-service spec: type: ClusterIP selector: app: nginx ports: - port: 80 targetPort: 8080 ``` ### NodePort ```yaml apiVersion: v1 kind: Service metadata: name: my-service spec: type: NodePort selector: app: nginx ports: - port: 80 targetPort: 8080 nodePort: 30080 # 30000-32767 ``` ### LoadBalancer ```yaml apiVersion: v1 kind: Service metadata: name: my-service spec: type: LoadBalancer selector: app: nginx ports: - port: 80 targetPort: 8080 ``` ### ExternalName ```yaml apiVersion: v1 kind: Service metadata: name: external-db spec: type: ExternalName externalName: db.example.com ``` ### Headless Service ```yaml apiVersion: v1 kind: Service metadata: name: headless-service spec: clusterIP: None selector: app: nginx ports: - port: 80 ``` ## Service 操作 ```bash # 查看 Service kubectl get svc kubectl get svc -o wide kubectl describe svc service-name # 创建 Service kubectl expose deploy deployment-name --port=80 --target-port=8080 kubectl expose deploy deployment-name --type=NodePort --port=80 # 删除 Service kubectl delete svc service-name # 测试 Service kubectl run test --rm -it --image=busybox -- wget -qO- http://service-name ``` ## Ingress 配置 ### 基础 Ingress ```yaml apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: my-ingress annotations: