写点什么

云原生系列 二【基于 CCE Kubernetes 编排实战】

作者:叶秋学长
  • 2022-11-26
    福建
  • 本文字数:2830 字

    阅读完需:约 9 分钟

\2. Kubernetes 组件实操收起

2.1 查看 Kubernetes 状态

(1)查看节点状态。


                                kubectl get node
复制代码


(2)查看现有命名空间。


                                kubectl get namespace
复制代码



(3)创建命名空间。


                                kubectl create namespace new-namespace
复制代码


(4)再次查看命名空间列表。


                                kubectl get namespace
复制代码


(5)删除新创建的命名空间。


                                kubectl delete namespace new-namespace
复制代码



\3. 部署实验收起

3.1 运行第一个部署

(1)创建一个部署。


                                kubectl create deployment mydep  --image=nginx
复制代码


(2)通过命令行查看部署。


                                kubectl get deploy
复制代码


(3)使用 kubectl describe 命令查看资源对象的详细信息。


                                kubectl describe deployment mydep
复制代码



(4)通过 CCE 控制台查看部署。点击控制台中的工作负载—>无状态负载,可以看到创建的工作负载 mydep。


3.2 使用 kubectl 命令行工具查看对象

(1)使用 kubectl get 命令,get all 可以查看所有对象。


                                kubectl get all
复制代码


(2)查看指定命名空间的对象。


                                kubectl get all -n kube-system
复制代码



(3)以交互模式查看对象的变化,按 ctrl+c 退出交互模式。


                                kubectl get deployment -w
复制代码



(4)查看完整的对象信息。


                                kubectl get deployment -o wide
复制代码

3.3 创建自定义部署

(1)在 master 节点创建/labfile/deployfile 目录,用于保存配置文件。后续创建 deployment 的 yaml 文件保存在此处。


                                cd /                                                            mkdir labfile                                                            cd labfile/                                                            mkdir deployfile                                                            cd deployfile/
复制代码



(2)创建部署文件。


                                vim nginx-deployment.yaml
复制代码


按'i'键进行编辑,文件内容如下:


                                apiVersion: apps/v1kind: Deploymentmetadata:  name: nginx-deployment  labels:    app: nginxspec:  replicas: 3  selector:    matchLabels:      app: nginx  template:    metadata:      labels:        app: nginx    spec:      containers:      - name: nginx        image: nginx:1.7.9        ports:        - containerPort: 80
复制代码


(3)按 Esc 键退出编辑,输入“:wq”保存并退出,部署 nginx-deployment。


                                kubectl apply -f nginx-deployment.yaml
复制代码



(4)查看创建结果。


                                kubectl describe deployment nginx-deployment                                                            kubectl get deployment
复制代码



(5)查看 Pod(等待约 2 分钟,才会显示 Running 状态)。


                                kubectl get pod
复制代码


(6)同样的,可以在 CCE 控制台中,刷新一下查看副本数及 pod。



点击 nginx-deployment,进入工作负载详情,下拉,在实例列表中可以看到 pod 的名称。


3.4 弹性伸缩部署

(1)编辑之前创建的 nginx-deployment.yaml 文件,将副本数量“replicas”改为 5。


                                vim nginx-deployment.yaml
复制代码


按“i”键进行编辑,编辑第 8 行 replicas 的内容:


                                apiVersion: apps/v1kind: Deploymentmetadata:  name: nginx-deployment  labels:    app: nginxspec:  replicas: 5  selector:    matchLabels:      app: nginx  template:    metadata:      labels:        app: nginx    spec:      containers:      - name: nginx        image: nginx:1.7.9        ports:        - containerPort: 80
复制代码


(2)按 Esc 键退出编辑,输入“:wq”保存并退出,然后应用变更后的 nginx-deployment.yaml 文件。


                                kubectl apply -f nginx-deployment.yaml
复制代码


(3)查看 pod 状态,确认 Pod 数量是否正确。


                                kubectl get pod
复制代码



(4)回到刚才实例列表页面,刷新一下可以看到 pod 实例扩展到 5 个了。



(5)删除创建的部署。


                                kubectl delete deployment nginx-deployment
复制代码


\4. 守护程序集实验收起


DaemonSet 可以做一个守护进程的控制器。此处实验以 fluentd 日志收集系统为例,进行部署。

4.1 使用守护程序集

(1)创建文件夹,用于保存 DemmonSet 和 Job 文件。


                                mkdir /labfile/daemonfile                                                            cd /labfile/daemonfile/
复制代码


(2)创建 DaemonSet 的 yaml 文件。


                                vim DaemonSet.yaml
复制代码


按“i”键进行编辑,内容如下:


                                apiVersion: apps/v1kind: DaemonSetmetadata:  name: fluentd-elasticsearch  namespace: kube-system  labels:    k8s-app: fluentd-loggingspec:  selector:    matchLabels:      name: fluentd-elasticsearch  template:    metadata:      labels:        name: fluentd-elasticsearch    spec:      containers:      - name: fluentd-elasticsearch        image: fluent/fluentd:v1.4-1
复制代码


(3)按 Esc 键退出编辑,输入“:wq”保存并退出,然后创建 DaemonSet。


                                kubectl apply -f DaemonSet.yaml
复制代码



(4)查看创建的 DaemonSet。此处, 需要在命令行中通过--namespace=kube-system 指定 namespace kube-system。若不指定,则只返回默认命名空间 default 中的资源。实验中只有一个 Node 节点,所以运行的 fluentd 也只有 1 个。


                                kubectl get daemonset --namespace=kube-system
复制代码



(5)查看 DaemonSet 中 Pod 信息。


                                kubectl get pod --namespace=kube-system -o wide
复制代码



(6)在 CCE 控制台中,可以查看守护进程集 DaemonSet。因为上面步骤创建 DaemonSet 指定了命名空间,所以命名空间选择 kube-system。



可以点击工作负载名称,进入实例列表,查看实例的详情信息。


4.2 DaemonSet 自动恢复

删除任意一个 Pod。


注意:用 4.1 步骤第(5)处查询的 Pod 名称替换下方命令中的【Pod 名称】


                                kubectl delete pod 【Pod名称】 --namespace=kube-system
复制代码



查看 DaemonSet 自动恢复功能。


                                kubectl get pod --namespace=kube-system
复制代码



退出弹性云服务器 ECS,本实验结束。


                                exit
复制代码


发布于: 刚刚阅读数: 3
用户头像

叶秋学长

关注

还未添加个人签名 2022-07-01 加入

全栈JAVA领域创作者

评论

发布
暂无评论
云原生系列 二【基于CCE Kubernetes编排实战】_Kubernetes_叶秋学长_InfoQ写作社区