玩转k8s:k8s实践

该文详细介绍了如何在Kubernetes环境中操作一个NginxDeployment。首先创建了一个名为dev的命名空间,然后在此命名空间下部署了一个包含3个副本的NginxDeployment,配置了滚动升级策略、就绪和存活探针以及HostPath的数据持久化。接着,通过NodePort服务对外暴露Deployment,并展示了如何进行扩缩容、重启、更换镜像版本以及版本回退的操作。
摘要由CSDN通过智能技术生成

1、创建一个自定义的命名空间dev:

kubectl create ns dev

2、在dev命名空间下通过yaml文件部署一个deployment,deploy内容如下:
a、使用nginx镜像;
b、副本数为3;
c、升级策略为滚动升级;
d、配置就绪探针、存活探针;
e、设置数据持久化方式为HostPath;

nginxpod.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: pc-deployment
  namespace: dev
  labels:
    app: nginx
spec:
  replicas: 3
  strategy:
    rollingUpdate:
      maxSurge: 25%
      maxUnavailable: 25%
    type: RollingUpdate
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
        - name: nginx
          image: nginx:1.19.1
          imagePullPolicy: IfNotPresent
          ports:
            - name: http
              protocol: TCP
              containerPort: 80
          livenessProbe:
            tcpSocket:
              port: 80
            initialDelaySeconds: 45
            periodSeconds: 15
          readinessProbe:
            failureThreshold: 3
            tcpSocket:
              port: 80
            initialDelaySeconds: 20
            periodSeconds: 3
            successThreshold: 1
            timeoutSeconds: 2
          resources:
            limits:
              cpu: "1.0"
              memory: 512Mi
            requests:
              cpu: "0.5"
              memory: 128Mi
          volumeMounts:
            - mountPath: /usr/share/nginx/html
              name: html
      volumes:
        - name: html
          hostPath:
            path: /html
            type: DirectoryOrCreate
kubectl create -f nginxpod.yaml
kubectl get pod -A

f、修改nginx首页;

3、通过外部访问k8s的首页;

kubectl expose deploy pc-deployment --name=svc-nginx --type=NodePort --port=80 --target-port=80 -n dev

kubectl get svc  svc-nginx  -n dev -o wide

4、对创建好的deploy进行扩缩容、重启、更换镜像版本、版本回退;

扩容:

kubectl scale deploy pc-deployment --replicas=5  -n dev

缩容:

kubectl edit deploy pc-deployment -n dev
kubectl get deploy pc-deployment -n dev

重启:

kubectl rollout restart deployment pc-deployment -n dev

更换镜像版本:

kubectl set image deployment pc-deployment nginx=nginx:1.17.2 -n dev

版本回退:

kubectl rollout undo deployment pc-deployment --to-revision=1 -n dev

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值