Myluzh Blog

Kubernetes(k8s)-StatefulSet

2023-6-20 myluzh Kubernetes

0x01 什么是 StatefulSet StatefulSet 是用来管理有状态的应用,例如数据库。 前面我们部署的应用,都是不需要存储数据,不需要记住状态的,可以随意扩充副本,每个副本都是一样的,可替代的。 而像数据库、Redis 这类有状态的,则不能随意扩充副本。 StatefulSet 会固定每个 Pod 的名字 0x02 部署 StatefulSet 类型的 Mongodb 1.创建mongo.yaml apiVersion: apps/v1 kind: StatefulSet metadata: name: mongodb spec: serviceName: mongodb replicas: 3 selector: matchLabels: app: mongodb template: metadata: labels: app: mongodb spec: containers: - name: mongo image: mongo:...

阅读全文>>

标签: k8s kubernetes StatefulSet

评论(0) (314)

Kubernetes(k8s)-安装dashboard

2023-6-20 myluzh Kubernetes

0x01 下载yaml文件 下载合适自己版本的ymal文件,我这边k8s版本是1.23,所以合适的bashboard版本是v2.5.1 [root@master]# mkdir k8s-dashboard && cd k8s-dashboard [root@master k8s-dashboard]# wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.5.1/aio/deploy/recommended.yaml 在Service中增加type: NodePort与nodePort: 32000 [root@master k8s-dashboard]# vi recommended.yaml kind: Service apiVersion: v1 metadata: labels: k8s-app: kubernetes-dashboard name: kubernetes-dashboard namespace: kubernetes-dashboard spec: type: NodePort ports: - port...

阅读全文>>

标签: k8s dashboard kubernetes

评论(0) (326)

Kubernetes(k8s)-Service

2023-6-16 myluzh Kubernetes

0x01 特性 Service 通过 label 关联对应的 Pod Servcie 生命周期不跟 Pod 绑定,不会因为 Pod 重创改变 IP 提供了负载均衡功能,自动转发流量到不同 Pod 可对集群外部提供访问端口 集群内部可通过服务名字访问 0x02 创建Service(默认为ClusterIP类型) 创建一个 Service,通过标签hellohttp跟对应的Pod关联上 service.yaml apiVersion: v1 kind: Service metadata: name: hellohttp spec: selector: app: hellohttp #这里一定要跟pod的标签对应上要不然关联不起来 type: ClusterIP ports: - port: 8080 # 本 Service 的端口 targetPort: 8080 # 容器端口 服务的默认类型是ClusterIP,只能在集群内部访问,我们可以进入到 Pod 里面访问: kubectl exec -it pod-name -- ba...

阅读全文>>

标签: k8s service k8s-service kubernetes

评论(0) (312)

Kubernetes(k8s)-回退版本

2023-6-16 myluzh Kubernetes

0x01 发布新版本 1.更新版本 方式一:原先镜像为hellohttp:v1,使用kubectl apply -f app.yaml发布,创建一个新的镜像为hellohttp:v2-error,修改app.yaml中镜像地址为image: registry.cn-hangzhou.aliyuncs.com/myluzh/hellohttp:v2-error,然后重新使用kubectl apply -f app.yaml发布。 方式二:也可以直接通过命令修改镜像,--record 表示把这个命令记录到操作历史中 [root@master ~]# kubectl set image deployment hellohttp hellohttp=registry.cn-hangzhou.aliyuncs.com/myluzh/hellohttp:v2-error --record Flag --record has been deprecated, --record will be removed in the future deployment.apps/hellohttp image updated #查看...

阅读全文>>

标签: k8s k8s-depolyment kubernetes

评论(0) (271)

Kubernetes(k8s)-应用部署常用命令

2023-6-15 myluzh Kubernetes

# 部署应用 kubectl apply -f app.yaml # 查看 deployment kubectl get deployment # 查看 pod kubectl get pod -o wide # 查看 pod 详情 kubectl describe pod pod-name # 查看 log kubectl logs pod-name # 进入 Pod 容器终端, -c container-name 可以指定进入哪个容器。 kubectl exec -it pod-name -- bash # 伸缩扩展副本 kubectl scale deployment test-k8s --replicas=5 # 把集群内端口映射到节点 kubectl port-forward pod-name 8090:8080 # 查看历史 kubectl rollout history deployment test-k8s # 回到上个版本 kubectl rollout undo deployment test-k8s # 回到指定版本 kubectl rollout undo d...

阅读全文>>

标签: k8s k8s-depolyment k8s命令 kubernetes

评论(0) (336)

Kubernetes(k8s)-Depolyment方式部署应用

2023-6-15 myluzh Kubernetes

0x01 命令行部署 [root@master ~]# kubectl run testapp --image=ccr.ccs.tencentyun.com/k8s-tutorial/test-k8s:v1 [root@master ~]# kubectl get pod NAME READY STATUS RESTARTS AGE testapp 0/1 ContainerCreating 0 16s 0x02 pod部署 1.编写pod.yaml apiVersion: v1 kind: Pod metadata: name: test-pod spec: # 定义容器,可以多个 containers: - name: test-k8s # 容器名字 image: ccr.ccs.tencentyun.com/k8s-tutorial/test-k8s:v1 # 镜像 2.部署 [root@master ~]# kubectl apply -f ./pod.yaml ...

阅读全文>>

标签: k8s k8s-depolyment kubernetes

评论(0) (280)