通过kubectl创建简单的服务
通过 kubectl 连接 Kubernetes 集群
如果需要从本地个人计算机连接到百度智能云的 Kubernetes 集群,需要使用 Kubernetes 命令行客户端 kubectl,kubectl 的安装步骤如下所示
操作步骤
kubectl 的安装可以参见 kubernetes 官方安装和设置 kubectl文档。
注意:
本操作指南给出的操作步骤都是基于 linux 操作环境的。
1.解压下载后的文件,为 kubectl 添加执行权限,并放在 PATH 下
chmod +x ./kubectl
sudo mv ./kubectl /usr/local/bin/kubectl
2.配置 kubectl,下载集群凭证。在集群界面下载集群配置文件,放在 kubectl 的默认配置路径
mv kubectl.conf ~/.kube/config
3.配置完成后,您即可以使用 kubectl 从本地计算机访问 Kubernetes 集群
kubectl get node
创建一个 nginx 应用
完成通过 kubectl 连接 Kubernetes 集群的操作后,输入以下指令:
kubectl run my-nginx --image=nginx --replicas=3 --port=80
上述命令会创建3个 nginx 容器,每个容器都会暴露它的80端口。
常看创建 nginx 容器状态的指令如下:
$ kubectl get pods
NAME READY STATUS RESTARTS AGE
my-nginx-858393261-pfjdn 1/1 Running 0 14s
my-nginx-858393261-sn7g5 1/1 Running 0 14s
my-nginx-858393261-spv8w 1/1 Running 0 14s
注意: 符号"$"代表输入的指令,其他行代表输入指令后显示的容器的信息。
暴露服务到 internet
创建服务
在公有云环境下,可以通过输入命令,创建出一个类型为 LoadBalancer 的 service,同时,还会联动公有云,创建一个负载均衡和一个公网 IP,具体操作指令如下:
kubectl expose deployment my-nginx --port=80 --type=LoadBalancer
查看服务
通过查看服务的命令,可以看到这个服务的情况和创建出的公网 IP。
$ kubectl get services
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 172.16.0.1 <none> 443/TCP 21d
my-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调用。
删除服务
如果需要删除服务,不想对公网暴露。可以直接删除服务
kubectl delete svc my-nginx
注意:
kubernetes会将刚才创建出的公网IP和负载均衡删除,然后也会删除创建的这个服务。