### CCE网络与存储实战 #### 任务1:创建CCE集群 #### 任务2:安装并配置kubectl 任务在 ecs-terminal (通常指预置的或用户自行准备的用于管理集群的ECS/Linux环境) 中执行。 登录到 ecs-terminal。 下载kubectl客户端 (v1.19.10): Bash ``` wget https://dl.k8s.io/v1.19.10/kubernetes-client-linux-amd64.tar.gz ``` 解压下载的压缩包: Bash ``` tar -zxvf kubernetes-client-linux-amd64.tar.gz ``` 将kubectl二进制文件移动到系统路径下,例如 ``` /usr/local/bin sudo mv kubernetes/client/bin/kubectl /usr/local/bin/ sudo chmod +x /usr/local/bin/kubectl ``` 验证kubectl版本: ``` kubectl version --client ``` 配置kubectl连接集群 在华为云CCE控制台,选择 cce-k8s 集群。 导航到 “集群信息” -> “连接信息” -> “kubectl”,点击“点击查看”。 按照指引下载 kubeconfig.json 文件。用scp命令传到服务器上 ``` user@sandbox:~/Downloads$ ls cce-k8s-kubeconfig.yaml user@sandbox:~/Downloads$ realpath cce-k8s-kubeconfig.yaml /home/Downloads/cce-k8s-kubeconfig.yaml user@sandbox:~/Downloads$ scp /home/Downloads/cce-k8s-kubeconfig.yaml root@xx.xx.xx.xx:/home ``` 之后按连接信息给的命令继续就行,这里我忘了复制官方的命令,考试时候自己看吧 验证kubectl配置和节点连接: ``` kubectl get node ``` 预期会显示 cce-k8s-node-01 节点的信息及其状态 ,例如 Ready #### 任务3:创建Deployment 在 ecs-terminal (已配置好kubectl) 中执行。 创建目录 (如果题目明确要求在此目录下操作): ``` mkdir -p labfile/servicefile cd labfile/servicefile ``` 创建 ``` nginx-deploy.yaml ``` 文件,内容如下: ``` apiVersion: apps/v1 kind: Deployment metadata: name: nginx spec: replicas: 3 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx # 默认使用nginx:latest ports: - containerPort: 80 ``` 使用kubectl应用该YAML文件创建Deployment: ``` kubectl apply -f nginx-deploy.yaml ``` 查看创建的Deployment: ``` kubectl get deployment nginx ``` 或者查看pod状态 ``` kubectl get pods -l app=nginx ``` 预期会看到名为 nginx 的Deployment,并且有3个副本正在创建或已运行。v #### 任务4:创建service服务 在 ecs-terminal (已配置好kubectl,建议在 labfile/servicefile 目录下) 中执行。 创建 ``` nginx-service.yaml ``` 文件,内容如下: ``` apiVersion: v1 kind: Service metadata: name: nginx-svc spec: selector: app: nginx # 这个selector要匹配上一步Deployment中Pod的label ports: - protocol: TCP port: 8080 # Service暴露的端口 targetPort: 80 # Pod内容器实际监听的端口 # type: ClusterIP # 默认为ClusterIP,如果需要外部访问,可以改为NodePort或LoadBalancer,但题目未指定 ``` 使用kubectl应用该YAML文件创建Service: ``` kubectl apply -f nginx-service.yaml ``` 查看创建的Service: ``` kubectl get service nginx-svc ``` 查看Service的Endpoints (这会显示Service关联到的Pod的IP和端口): ``` kubectl get endpoints nginx-svc ``` 预期会看到与 ``` nginx Deployment中3个Pod对应的IP地址和端口。 ``` 验证:登录华为云CCE控制台, 进入 cce-k8s 集群, 在“服务发现”或“网络” -> “服务 (Services)”中应能查看到名为 nginx-svc 的服务。