qidao123.com ToB IT社区-企服评测·应用市场

 找回密码
 立即注册

Kubernetes入门:从概念到实践的完备指南

[复制链接]
发表于 4 天前 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
媒介

Kubernetes(K8s)是当今最盛行的容器编排平台,是DevOps工程师的必备技能。本文从概念到实践,带你快速入门K8s。
一、K8s是什么?

Kubernetes是一个开源的容器编排平台,用于自动化摆设、扩展和管理容器化应用。
核心功能

  • 自动装箱:根据资源需求自动调理容器
  • 自我修复:失败容器自动重启
  • 水平扩展:一键扩缩容
  • 服务发现:内置DNS和服务发现
  • 负载平衡:自动分发流量
二、核心概念

1. Pod

最小摆设单位,一个Pod可以包罗一个或多个容器。
2. Deployment

管理Pod的副本数量和更新计谋。
3. Service

界说一组Pod的访问计谋,提供稳固的访问入口。
4. ConfigMap & Secret

设置管理和敏感信息存储
5. Namespace

资源隔离的逻辑分组。
三、环境搭建
  1. # 安装kubectl
  2. curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
  3. chmod +x kubectl
  4. sudo mv kubectl /usr/local/bin/
  5. # 安装minikube(本地K8s)
  6. curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
  7. chmod +x minikube-linux-amd64
  8. sudo mv minikube-linux-amd64 /usr/local/bin/minikube
  9. # 启动集群
  10. minikube start
复制代码
四、第一个应用摆设

1. 创建Deployment
  1. # deployment.yaml
  2. apiVersion: apps/v1
  3. kind: Deployment
  4. metadata:
  5.   name: nginx-deployment
  6. spec:
  7.   replicas: 3
  8.   selector:
  9.     matchLabels:
  10.       app: nginx
  11.   template:
  12.     metadata:
  13.       labels:
  14.         app: nginx
  15.     spec:
  16.       containers:
  17.       - name: nginx
  18.         image: nginx:1.21
  19.         ports:
  20.         - containerPort: 80
复制代码
2. 创建Service
  1. # service.yaml
  2. apiVersion: v1
  3. kind: Service
  4. metadata:
  5.   name: nginx-service
  6. spec:
  7.   selector:
  8.     app: nginx
  9.   ports:
  10.   - port: 80
  11.     targetPort: 80
  12.   type: NodePort
复制代码
3. 摆设应用
  1. kubectl apply -f deployment.yaml
  2. kubectl apply -f service.yaml
  3. # 查看状态
  4. kubectl get pods
  5. kubectl get services
  6. kubectl get deployments
复制代码
五、常用下令
  1. # 查看资源
  2. kubectl get pods -n default
  3. kubectl get deployments
  4. kubectl get services
  5. # 查看详情
  6. kubectl describe pod <pod-name>
  7. kubectl logs <pod-name>
  8. # 进入容器
  9. kubectl exec -it <pod-name> -- /bin/bash
  10. # 扩缩容
  11. kubectl scale deployment nginx-deployment --replicas=5
  12. # 删除资源
  13. kubectl delete -f deployment.yaml
  14. kubectl delete pod <pod-name>
复制代码
六、设置管理
  1. # ConfigMap
  2. kubectl create configmap app-config --from-literal=key1=value1
  3. # Secret
  4. kubectl create secret generic db-secret --from-literal=password=secret123
  5. # 在Pod中使用
  6. env:
  7.   - name: DB_PASSWORD
  8.     valueFrom:
  9.       secretKeyRef:
  10.         name: db-secret
  11.         key: password
复制代码
七、常见题目

Q: Pod不停处于Pending状态?
A: 查抄节点资源是否充足,或是否有污点/容忍设置题目。
Q: ImagePullBackOff?
A: 镜像不存在或没有权限拉取,查抄镜像名称和imagePullSecrets。
总结

K8s是容器编排的毕竟尺度,把握Pod、Deployment、Service等核心概念是入家世一步。发起在minikube上多练习,认识kubectl下令。
本文由AI辅助创作。

免责声明:如果侵犯了您的权益,请联系站长及时删除侵权内容,谢谢合作!qidao123.com:ToB企服之家,中国第一个企服评测及软件市场,开放入驻,技术点评得现金.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录

QQ|手机版|qidao123.com IT社区;IT企服评测▪应用市场 ( 浙ICP备20004199|浙ICP备20004199号 )|网站地图

GMT+8, 2026-4-2 04:45 , Processed in 0.241015 second(s), 31 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表