AKS(Azure Kubenetes Service)是微软云azure上的K8s服务。
主要分为三步
1 连接到AKS
2 用kubectl发布应用
3 用Helm发布应用
1 登录
az login
2 连接dp-npr-dsm-aks(Dsm项目的AKS)
az account set --subscription {{subID}}
az aks get-credentials --resource-group {{resource-group-name}} --name {{aks-name}} --admin
3 测试是否连接成功
kubectl get deployments --all-namespaces=true
4 k8s部署一个应用的常规流程
4-1 创建deployment模板,指定命名空间bigdata-dev
kubectl create deployment nginx --image=nginx -n bigdata-dev --dry-run=client -o yaml > deployment.yaml
4-2 应用deployment模版
kubectl apply -f deployment.yaml
4-3 检查pod服务
kubectl get pod -n bigdata-dev
4-4 创建service资源
kubectl expose deployment nginx --port=80 --target-port=80 --type=NodePort -n bigdata-dev --dry-run=client -o yaml > service.yaml
4-5 启动service服务
kubectl apply -f service.yaml
4-6 检查service服务
kubectl get svc -n bigdata-dev
4-7 访问nginx服务
按说可以通过 http://10.22.3.212:31914 可以访问到nginx服务,但实际并不能,这里有一个疑点?
5 用helm部署一个应用
5-1创建一个mychart包管理模板
# helm create mychart
Creating mychart
# ls mychart/
Chart.yaml charts templates values.yaml
5-2 删除之前部署nginx应用服务的deployment与service服务,并把deployment.yaml、service.yaml文件放置在mychart/templates目录下
$ kubectl delete -f deployment.yaml
deployment.apps "nginx" deleted
devops@DESKTOP-L3UEDOC MINGW64 ~/k8s/kubeoperator/helm (master)
$ kubectl delete -f service.yaml
service "nginx" deleted
$ mv -f deployment.yaml mychart/templates
$ mv -f service.yaml mychart/templates
5-3 helm部署mychart
helm install web mychart
5-4 helm查看部署的mychart
5-5 • kubectl查看helm部署nginx的pod、svc服务
kubectl get pod,svc -n bigdata-dev
5-6 访问nginx服务?
浏览器访问: node节点ip:31669(eg: 10.0.0.103:31669),,即可访问到nginx服务应用
5-7 解决无法访问到服务的问题
Service 的 type 为NodePort,适用于私有网络,如果K8S,部署在本地,在主节点或node节点,应该都能访问成功,但现在K8s部署在共有云,需要类型为LoadBalancer
修改service.yaml文件,type从NodeType到LoadBalancer,
然后执行更新
helm upgrade web mychart
然后查看结果,已经有external-ip
kubectl get pod,svc -n bigdata-dev
再次通过external-ip访问nginx服务,成功
参考
k8s实战helm3
k8s实战helm3_helm list_devops_sre的博客-CSDN博客
K8S—service服务与负载均衡文章来源:https://uudwc.com/A/Mpg0k
K8S—service服务与负载均衡_k8s负载均衡_芷阳99的博客-CSDN博客文章来源地址https://uudwc.com/A/Mpg0k