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 [email protected]:/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 的服务。