Open Service Mesh AKS add-on

AKS preview features are available on a self-service, opt-in basis. Previews are provided “as is” and “as available,” and they’re excluded from the service-level agreements and limited warranty. AKS previews are partially covered by customer support on a best-effort basis. As such, these features aren’t meant for production use.

Install osm

Register the AKS-OpenServiceMesh feature flag

az feature register --namespace "Microsoft.ContainerService" --name "AKS-OpenServiceMesh"

Enable the OSM add-on to existing AKS cluster

az aks enable-addons --addons open-service-mesh -g <my-osm-aks-cluster-rg> -n <my-osm-aks-cluster-name>

Subscriptions and Resource group

Subscriptions

By publishing APIs through API Management, you can easily secure API access using subscription keys. Consume the published APIs by including a valid subscription key in the HTTP requests when calling to those APIs.

Managed Identity

Resource group

A resource group is a container that holds related resources for an Azure solution. The resource group can include all the resources for the solution, or only those resources that you want to manage as a group. You decide how you want to allocate resources to resource groups based on what makes the most sense for your organization. Generally, add resources that share the same lifecycle to the same resource group so you can easily deploy, update, and delete them as a group.

For example, you can create a prod_mysql group or a payment_vms group or a payment_domain that include all resources in this domain.

availability_zones(Optional/default is all zone)

A list of Availability Zones where the Nodes in this Node Pool should be created in. Changing this forces a new resource to be create

network

Kubenet Routing/NAT

address_space (eg.192.168.0.0/16) is in different network fragment with pod_cidr(eg. 10.244.0.0/16)
An additional hop is required in the design of kubenet, which adds minor latency to pod communication.
Azure supports a maximum of 400 routes in a UDR, so you can’t have an AKS cluster larger than 400 nodes.

The pod IP address range is used to assign a /24 address space to each node in the cluster. In the following example, the --pod-cidr of 10.244.0.0/16 assigns the first node 10.244.0.0/24, the second node 10.244.1.0/24, and the third node 10.244.2.0/24.

automatic_channel_upgrade(Optional/default value is none)

Enable Feature Microsoft.ContainerService/AutoUpgradePreview firstly

az feature register --namespace Microsoft.ContainerService -n AutoUpgradePreview

create network

az network vnet create \--resource-group myResourceGroup \--name myAKSVnet \--address-prefixes 192.168.0.0/16 \--subnet-name myAKSSubnet \--subnet-prefix 192.168.1.0/24

create cluster

az aks create \--resource-group myResourceGroup \--name myAKSCluster \--node-count 3 \--network-plugin kubenet \--service-cidr 10.0.0.0/16 \--dns-service-ip 10.0.0.10 \--pod-cidr 10.244.0.0/16 \--docker-bridge-address 172.17.0.1/16 \--vnet-subnet-id $SUBNET_ID \--service-principal <appId> \--client-secret <password>

Azure CNI Bridge

create the virtual network with two subnets

resourceGroup="myResourceGroup"
vnet="myVirtualNetwork"
location="westcentralus"# Create the resource group
az group create --name $resourceGroup --location $location# Create our two subnet network
az network vnet create -g $resourceGroup --location $location --name $vnet --address-prefixes 10.0.0.0/8 -o none
az network vnet subnet create -g $resourceGroup --vnet-name $vnet --name nodesubnet --address-prefixes 10.240.0.0/16 -o none
az network vnet subnet create -g $resourceGroup --vnet-name $vnet --name podsubnet --address-prefixes 10.241.0.0/16 -o none

create cluster

clusterName="myAKSCluster"
subscription="aaaaaaa-aaaaa-aaaaaa-aaaa"az aks create -n $clusterName -g $resourceGroup -l $location \--max-pods 250 \--node-count 2 \--network-plugin azure \--vnet-subnet-id /subscriptions/$subscription/resourceGroups/$resourceGroup/providers/Microsoft.Network/virtualNetworks/$vnet/subnets/nodesubnet \--pod-subnet-id /subscriptions/$subscription/resourceGroups/$resourceGroup/providers/Microsoft.Network/virtualNetworks/$vnet/subnets/podsubnet

Choose a network model to use

The choice of which network plugin to use for your AKS cluster is usually a balance between flexibility and advanced configuration needs. The following considerations help outline when each network model may be the most appropriate.

Use kubenet when:

You have limited IP address space.
Most of the pod communication is within the cluster.
You don’t need advanced AKS features such as virtual nodes or Azure Network Policy. Use Calico network policies.
Use Azure CNI when:

You have available IP address space.
Most of the pod communication is to resources outside of the cluster.
You don’t want to manage user defined routes for pod connectivity.
You need AKS advanced features such as virtual nodes or Azure Network Policy. Use Calico network policies.

For more information to help you decide which network model to use, see Compare network models and their support scope.

HTTP routing solution overview

The add-on deploys two components: a Kubernetes Ingress controller and an External-DNS controller.

Ingress controller: The Ingress controller is exposed to the internet by using a Kubernetes service of type LoadBalancer. The Ingress controller watches and implements Kubernetes Ingress resources, which creates routes to application endpoints.
External-DNS controller: Watches for Kubernetes Ingress resources and creates DNS A records in the cluster-specific DNS zone.

Network policy

Network policy options in AKS
Azure provides two ways to implement network policy. You choose a network policy option when you create an AKS cluster. The policy option can’t be changed after the cluster is created:

Azure’s own implementation, called Azure Network Policies.
Calico Network Policies, an open-source network and network security solution founded by Tigera.

Both implementations use Linux IP Tables to enforce the specified policies. Policies are translated into sets of allowed and disallowed IP pairs. These pairs are then programmed as IPTable filter rules.

value upgrade

stable rapid
k8s version 1.20.9 1.20.9
crt docker containerd

default node pool(system node pool)

only_critical_addons_enabled - (Optional)

For a system node pool, AKS automatically assigns the label kubernetes.azure.com/mode: system. This causes AKS to prefer scheduling system pods on node pools that contain this label.

System node pools serve the primary purpose of hosting critical system pods such as CoreDNS and metrics-server. User node pools serve the primary purpose of hosting your application pods.

To ensure your cluster operates reliably, you should run at least 2 (two) nodes in the default node pool, as essential system services are running across this node pool.

add taint that only let default node pool only be used for sysmtem pods

Enabling this option will taint default node pool with CriticalAddonsOnly=true:NoSchedule taint. Changing this forces a new resource to be created.

Azure安装AKS步骤及注意事项相关推荐

  1. pythonocc安装_PythonOCC安装步骤与注意事项

    2020-0113补充: 有网友提到了pyqt的安装不正确,这里给大家找到了一份安装方式.我自己也是使用该链接的pip安装方式安装的.因此后文没提,以为大家这个点不是问题.总之,有问题再更新! [Py ...

  2. PhotoshopCS3的安装步骤及注意事项

    PhotoshopCS3的安装步骤及注意事项 1.下载安装包: 下载地址一:http://cloud.189.cn/t/NnAZniauyI7j 下载地址二:http://pan.baidu.com/ ...

  3. office2003 + photoshop CS3 + flash CS5.5 安装步骤及注意事项

    注意:如果你的系统之前安装有其他版本的office程序,请先卸载后再安装office2003. 请选择对应你安装的office版本选择对应的卸载工具(如:office2007--office2007套 ...

  4. Azure kubernetes(AKS)安装kubectl

    aks的使用上,用户只需要关心node节点上需要多大内存,多少核(硬盘不作主要考虑,因为可以动态申请,实际操作中不存在硬盘容量不足的问题)的机器能满足需求即可,master节点是微软云托管的,因此用户 ...

  5. Centos7上安装oracle11g/12c的安装教程推荐及注意事项

    Centos7上安装oracle11g的安装教程推荐及注意事项 历时一天半,终于在今天中午安装完oracle11g,成功后喜悦的心情自是溢于言表.总有些疑问,比如为何如此复杂的数据库为何还会有如此之多 ...

  6. oracle卸载注意啥,关于oracle的安装,卸载以及其他注意事项

    打开服务后,这么多服务,怎么找,这样子,用鼠标点击任意一个服务,快速用键盘敲oracle,它会定位到第一个关于oracle的服务,其他服务也可以用这种方法快速查找,好像Linux老师叫赵什么东东的也说 ...

  7. Storm集群安装部署步骤【详细版】

    作者: 大圆那些事 | 文章可以转载,请以超链接形式标明文章原始出处和作者信息 网址: http://www.cnblogs.com/panfeng412/archive/2012/11/30/how ...

  8. Storm入门教程 Storm安装部署步骤

    本文以Twitter Storm官方Wiki为基础,详细描述如何快速搭建一个Storm集群,其中,项目实践中遇到的问题及经验总结,在相应章节以"注意事项"的形式给出. 3.1 St ...

  9. 笔记本拆装步骤及注意事项

    笔记本拆装步骤及注意事项 一.首先清理桌面 保持桌面的干净整洁,以免和其它笔记本配件混淆和刮花笔记本机壳. 二.笔记本按机壳可分四大部分: ①A壳:笔记本未打开的时候,最上面的那面. ②B壳:笔记本打 ...

最新文章

  1. java 注解报错_java注解验证接收参数 返回注解字段的错误
  2. PMCAFF | 创业公司产品经理如何建立完善的产品开发体系?
  3. MATLAB中估算运行时间-tic、toc用法
  4. 基于VS Code创建Java command-line app
  5. python帮助文档在哪_python文档之查看帮助文档方法
  6. 关于CDC功能的答疑
  7. 2018青岛ICPC ZOJ 4061: Magic Multiplication(模拟)
  8. os.path.basename()
  9. sql 复合键_SQL复合键
  10. CommVault徐永兴谈软件架构决定服务优势
  11. win10添加组策略命令
  12. 只需2个公式,3阶魔方7步还原法
  13. mysql-connector-java连接失败问题
  14. window的dos命令学习笔记 二
  15. 客户端软件升级一般方案
  16. 炫龙银魂t1配置_炫龙银魂T1,不一样的外观一样的强悍
  17. Kotlin 1.4 和未来值得期待的地方
  18. 软件看门狗和硬件看门狗
  19. 用C# ASP.NET MVC 实现WebSocket
  20. 字体引入,不生效问题解决

热门文章

  1. 二、openwrt自定义编译包的过程
  2. 树莓派c语言编程点亮灯,树莓派3 b GPIO 点亮小灯泡
  3. 最全面的计算机网络设备图块素材,做方案必备
  4. 【2020-MOOC-浙江大学-陈越、何钦铭-数据结构】树和堆(第五周的笔记和编程作业)
  5. 使用cmd命令删除文件夹下所有文件
  6. 4k显示器方案 Rtd 2796,支持LVDS和VBO,也支持edp 4K可用于民用
  7. iptables防火墙(一)
  8. php常见的语法错误
  9. 无意中的一种图示1-三维立方体堆砌
  10. java pmd_java代码扫描:pmd开源项目介绍