Azure微软云 (AKS集群的应用)


一、前言

1.1 什么是AKS

AKS是托管Kubernetes服务的平台,可以让你快速部署和管理集群,Kubernetes的master节点由Azure管理和创建,所以,我们只需要创建和维护node节点即可。且也只需要支付node节点的费用。

官方参考手册:https://docs.microsoft.com/zh-cn/azure/aks/

二、AKS集群部署

部署AKS集群的方式有多种,我们这里通过Azure CLI来进行部署

2.1 在浏览器界面点击cloud shell

在这里插入图片描述

2.2 选择bash进行操作

新建资源组

jw@Azure:~$ az group create --name k8sGroup --location southeastasia
--name 指定资源组的名称
--location 指定所属区域
{
  "id": "/subscriptions/0f2e81dd-a3d2-4cf4-af28-dffea5b2c315/resourceGroups/k8sGroup",
  "location": "southeastasia",
  "managedBy": null,
  "name": "k8sGroup",
  "properties": {
    "provisioningState": "Succeeded"
  },
  "tags": null,
  "type": "Microsoft.Resources/resourceGroups"
}

部署AKS集群

jw@Azure:~$ az aks create  -g k8sGroup -n k8s-cluster --node-count 1  --enable-addons monitoring --generate-ssh-keys  --node-vm-size Standard_DC2ds_v3 
 | Running ..
等待执行完成即可,执行完成会有一串json字符串输出
--node-count 1 指定node节点数量
--enable-addons 指定安装的插件
--generate-ssh-key 生成一个公钥并存放在~/.ssh目录下
--node-vm-size 指定node的大小

连接到集群
配置在Azure CLI上配置kubectl,这样方便管理和操作
jw@Azure:~$ az aks get-credentials -n k8s-cluster -g k8sGroup 
Merged "k8s-cluster" as current context in /home/jw/.kube/config

检验连接情况
jw@Azure:~$ kubectl get node
NAME                                STATUS   ROLES   AGE     VERSION
aks-nodepool1-11362444-vmss000000   Ready    agent   3m28s   v1.22.6

三、部署应用测试

简单的部署一个nginx服务来测试

jw@Azure:~$ vi nginx.yaml
apiVersion: v1
kind: Pod
metadata:
  name: nginx
  labels:
    app: nginx
spec:
  containers:
  - name: nginx 
    image: nginx:latest
    ports:
    - containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
  name: svc-nginx
spec:
  selector:
    app: nginx
  type: ClusterIP   #类型设置为ClusterIP,表示仅供内部访问
  ports:
  - port: 80
 
执行查看效果
jw@Azure:~$ kubectl apply -f nginx.yaml 
pod/nginx unchanged
service/svc-nginx configured
jw@Azure:~$ kubectl get all 
NAME        READY   STATUS    RESTARTS   AGE
pod/nginx   1/1     Running   0          13m

NAME                 TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)   AGE
service/kubernetes   ClusterIP   10.0.0.1     <none>        443/TCP   25m
service/svc-nginx    ClusterIP   10.0.37.84   <none>        80/TCP    13m

四、对外提供访问

我们只需将SVC下的Type类型设置为:LoadBalancer即可
LoadBalancer:
这个需要公有云供应商的支持下才有用,Azure提供了这个功能,会为Loadbalancer提供一个external ip 外部访问IP地址,以供internete接入,如下所示。

jw@Azure:~$ cat nginx.yaml 
......
  selector:
    app: nginx
  type: LoadBalancer  #类型修改为LoadBalancer
  ports:
  - port: 80
  - 
重新执行,更新状态
jw@Azure:~$ kubectl apply -f nginx.yaml 
pod/nginx unchanged
service/svc-nginx unchanged
jw@Azure:~$ kubectl get svc 
NAME         TYPE           CLUSTER-IP   EXTERNAL-IP     PORT(S)        AGE
kubernetes   ClusterIP      10.0.0.1     <none>          443/TCP        47m
svc-nginx    LoadBalancer   10.0.37.84   20.43.148.228   80:32065/TCP   34m
上面会多出一个EXTERNAL-IP,外部IP地址。

访问测试
在这里插入图片描述

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ball-4444

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值