记一次阿里云ACK部署k8s

什么是ACK

容器服务Kubernetes版(Alibaba Cloud Container Service for Kubernetes,简称容器服务ACK)提供高性能可伸缩的容器应用管理服务,支持企业级Kubernetes容器化应用的生命周期管理。


ACK部署

  • 资源准备

100个大洋,用于购买阿里云ack服务(需要账户 >=100 才能创建阿里云 ack集群)

  • 采购一览
image.png

自己采购ECS搭建的话可以参考这个配置,使用ack搭建的话选最便宜的就行了,仅用于测试(搭建时node可选最低4C8G)

  • ack入口
  1. 控制台搜索:容器服务 kubernetes 版
image.png
  1. 创建集群
image.png

集群配置

  1. 创建专有版
image.png
  1. 创建专有网络
image.png

创建vpc+交换机

image.png
  1. 配置NAT

最好开放SSH公网访问,当然用cloud cli管理也行

image.png

master配置

测试 2核4G+100G怎么都够用了

image.png

节点池配置

这里最低只能选4C8G了

  1. 配置节点实例,可以选多个,会根据库存按顺序采购
image.png
  1. 配置操作系统,没有密钥对创建一个就行

生成的密钥对保存好,后面本地访问集群可以用到

image.png

组件配置

丐中丐就行了

image.png

资源确认

未通过的重新配置一下就行了。 重要的是充钱你才能变强
一套下来基本上不到5块钱1个小时,测试1天小几十块就够了,测试完记得删除集群避免持续扣费

image.png

点击创建,等待10分钟左右就行了,如果未创建成功先重试一下,有极小概率创建失败的。


集群访问

  • 配置本地SSH访问: 集群详情->连接信息->SSH

会随机连接到一个master节点,连接上之后就可以使用kubectl命令进行集群管理了

image.png
  • 使用密钥对访问(创建集群过程中会创建密钥对)
image.png
  • 配置公网访问

将下面的凭证,或者临时生成的凭证复制到 ~/.kube/config 文件里,之后通过本地的 kubectl(如果本地安装了的话)就可以访问了

image.png
image.png

集群管理

接下来都是通过本地的 kubectl 访问集群,本地未安装可以直接连接集群操作

  • 部署pod
    模拟生产环境,创建两个deployment,每组10个副本。

创建部署文件:nginx-busybox.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deploy
  namespace: default
spec:
  replicas: 10
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx-pod
        image: nginx:latest
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: busybox
  namespace: default
spec:
  replicas: 10
  selector:
    matchLabels:
      app: busybox
  template:
    metadata:
      labels:
        app: busybox
    spec:
      containers:
      - name: busybox-pod
        image: busybox:latest
        command:
        - sleep
        - "3600"

使用yaml文件创建部署:

kubectl create -f

image.png
  • 检查部署情况

kubectl get pod -o wide

image.png

或者用:kubectl get pods -l app= 查找指定的应用

image.png

查看某个pod的详细信息:

kubectl describe pod

image.png
  • 删除节点

使用 kubectl drain 从节点安全地逐出所有 Pods。 安全的驱逐过程允许 Pod 的容器 体面地终止

kubectl drain --delete-local-data --force --ignore-daemonsets

eg: 删除节点:cn-chengdu.172.19.138.34

image.png

节点删除后pod将在其他节点重新部署

image.png

参考:

k8s文档:https://kubernetes.io/zh-cn/docs/tasks/run-application/run-stateless-application-deployment/

你可能感兴趣的:(记一次阿里云ACK部署k8s)