1. yml文件
创建etcd.yml文件,内容如下:
| apiVersion: apps/v1 |
| kind: Deployment |
| metadata: |
| name: etcd |
| namespace: etcd01 |
| spec: |
| replicas: 1 |
| selector: |
| matchLabels: |
| app: etcd |
| template: |
| metadata: |
| labels: |
| app: etcd |
| spec: |
| containers: |
| - name: gateway |
| image: quay.io/coreos/etcd:v3.4.13 |
| imagePullPolicy: IfNotPresent |
| env: |
| - name: ETCDCTL_API |
| value: "3" |
| value: "http://0.0.0.0:2379" |
| - name: ETCD_LISTEN_CLIENT_URLS |
| value: "http://0.0.0.0:2379" |
| ports: |
| - containerPort: 2379 |
| protocol: TCP |
| name: tcp01 |
| - containerPort: 2380 |
| protocol: TCP |
| name: tcp02 |
| volumeMounts: |
| - mountPath: /etcd |
| name: etcd-etcd |
| - mountPath: /etcd-server.etcd |
| name: etcd-data |
| volumes: |
| - name: etcd-etcd |
| persistentVolumeClaim: |
| claimName: etcd-etcd |
| - name: etcd-data |
| persistentVolumeClaim: |
| claimName: etcd-data |
| --- |
| kind: PersistentVolumeClaim |
| apiVersion: v1 |
| metadata: |
| name: etcd-etcd |
| namespace: etcd01 |
| spec: |
| accessModes: |
| - ReadWriteMany |
| resources: |
| requests: |
| storage: 10Gi |
| --- |
| kind: PersistentVolumeClaim |
| apiVersion: v1 |
| metadata: |
| name: etcd-data |
| namespace: etcd01 |
| spec: |
| accessModes: |
| - ReadWriteMany |
| resources: |
| requests: |
| storage: 50Gi |
| --- |
| kind: Service |
| apiVersion: v1 |
| metadata: |
| name: etcd |
| namespace: etcd01 |
| labels: |
| name: etcd |
| spec: |
| ports: |
| - name: etcd-01 |
| protocol: TCP |
| targetPort: 2379 |
| port: 2379 |
| - name: etcd-02 |
| protocol: TCP |
| targetPort: 2380 |
| port: 2380 |
| selector: |
| app: etcd |
2. 创建服务
| # kubectl create namespace etcd |
| # kubectl create -f etcd.yml |
3. 查看结果
| [root@master-01 ~]# kubectl get all -n etcd |
| NAME READY STATUS RESTARTS AGE |
| pod/etcd-846f796c66-t5qjl 1/1 Running 0 95d |
| |
| NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE |
| service/etcd NodePort 172.21.7.113 <none> 2379:31020/TCP,2380:31021/TCP 95d |
| |
| NAME READY UP-TO-DATE AVAILABLE AGE |
| deployment.apps/etcd 1/1 1 1 95d |
| |
| NAME DESIRED CURRENT READY AGE |
| replicaset.apps/etcd-846f796c66 1 1 1 95d |
| [root@master-01 ~]# kubectl get pvc -n etcd |
| NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE |
| etcd-data Bound nas-c154bc16-2497-44a7-8640-ed0cd590f10f 50Gi RWX alicloud-nas-subpath 95d |
| etcd-etcd Bound nas-d2b27b9d-99f5-41dd-afcf-6d07e93035ef 10Gi RWX alicloud-nas-subpath 95d |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?