通过kubectl创建简单的服务
通过 kubectl 连接 Kubernetes 集群
如果需要从本地个人计算机连接到百度智能云的 Kubernetes 集群,需要使用 Kubernetes 命令行客户端 kubectl,kubectl 的安装步骤如下所示
操作步骤
导航路径:产品服务->云原生->容器引擎 CCE->集群管理->集群列表
kubectl 的安装可以参见 kubernetes 官方 安装和设置 kubectl文档。
注意:
本操作指南给出的操作步骤都是基于 linux 操作环境的。
- 解压下载后的文件,为
kubectl添加执行权限,并放在PATH下。
1chmod +x ./kubectl
2sudo mv ./kubectl /usr/local/bin/kubectl
若当前环境无 root 权限,也可以将 kubectl 放到用户自定义的 PATH 目录中。
- 配置
kubectl,下载集群凭证。在 集群列表 中单击目标集群名称进入详情页,再单击 【查看集群凭证】 下载集群配置文件,并放在kubectl的默认配置路径。
1mkdir -p ~/.kube
2mv -f kubeconfig.yaml ~/.kube/config
如果 集群列表 中没有目标集群,请先完成集群创建后再执行本步骤。
- 配置完成后,您即可以使用
kubectl从本地计算机访问 Kubernetes 集群。
1kubectl get nodes
成功时会返回节点列表;若集群暂未创建 Worker 节点,也可能返回 No resources found,这同样说明 kubectl 已连通到集群控制面。
创建一个 nginx 应用
完成通过 kubectl 连接 Kubernetes 集群的操作后,输入以下指令:
1kubectl run my-nginx --image=nginx --replicas=3 --port=80
上述命令会创建3个 nginx 容器,每个容器都会暴露它的80端口。
常看创建 nginx 容器状态的指令如下:
1$ kubectl get pods
2NAME READY STATUS RESTARTS AGE
3my-nginx-858393261-pfjdn 1/1 Running 0 14s
4my-nginx-858393261-sn7g5 1/1 Running 0 14s
5my-nginx-858393261-spv8w 1/1 Running 0 14s
注意: 符号"$"代表输入的指令,其他行代表输入指令后显示的容器的信息。
暴露服务到 Internet
导航路径:产品服务->云原生->容器引擎 CCE->集群管理->集群列表
创建服务
在公有云环境下,可以通过输入命令,创建出一个类型为 LoadBalancer 的 Service,同时,还会联动公有云,创建一个负载均衡和一个公网 IP,具体操作指令如下:
注意:
创建
LoadBalancer类型的Service会联动创建负载均衡和公网 IP,并可能产生相关费用。
1kubectl expose deployment my-nginx --port=80 --type=LoadBalancer
查看服务
通过查看服务的命令,可以看到这个服务的情况和创建出的公网 IP。
1$ kubectl get services
2NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
3kubernetes ClusterIP 172.16.0.1 <none> 443/TCP 21d
4my-nginx LoadBalancer 172.16.72.193 106.13.134.33,192.168.0.75 80:31787/TCP 61s
通过访问180.76.139.247这个链接可以看到创建的服务如图所示:

完成服务创建之后,用户可以登录百度智能云平台,选择“产品服务>负载均衡 BLB”,进入 BLB 控制台查看负载均衡 BLB 的详细信息,具体操作步骤可以参考负载均衡操作指南

注意: 符号"$"代表输入的指令,其他行代表输入指令后显示的服务的信息其中106.13.134.33为发布到外网的服务网址。 服务使用负载均衡除了上述指令调用之外,还可以通过Dashboard调用。
删除服务
如果需要删除服务,不想对公网暴露。可以直接删除服务
1kubectl delete svc my-nginx
注意:
kubernetes会将刚才创建出的公网IP和负载均衡删除,然后也会删除创建的这个服务。
评价此篇文章
