mirror of https://github.com/easzlab/kubeasz.git
minor fix and docs update
parent
e33de18ae3
commit
27ba087b8a
|
@ -1,6 +1,8 @@
|
|||
## 部署集群 DNS
|
||||
# 集群 DNS
|
||||
|
||||
DNS 是 k8s 集群首先需要部署的,集群中的其他 pods 使用它提供域名解析服务;主要可以解析 `集群服务名 SVC` 和 `Pod hostname`;目前 k8s v1.9+ 版本可以有两个选择:`kube-dns` 和 `coredns`(推荐),可以选择其中一个部署安装。
|
||||
DNS 是 k8s 集群首要部署的组件,它为集群中的其他 pods 提供域名解析服务;主要可以解析 `集群服务名 SVC` 和 `Pod hostname`;目前建议部署 `coredns`。
|
||||
|
||||
NodeLocal DNSCache在集群的上运行一个dnsCache daemonset来提高clusterDNS性能和可靠性。在K8S集群上的一些测试表明:相比于纯coredns方案,nodelocaldns + coredns方案能够大幅降低DNS查询timeout的频次,提升服务稳定性。参考官方文档:https://kubernetes.io/docs/tasks/administer-cluster/nodelocaldns/
|
||||
|
||||
### 部署 dns
|
||||
|
||||
|
@ -8,9 +10,19 @@ DNS 是 k8s 集群首先需要部署的,集群中的其他 pods 使用它提
|
|||
|
||||
+ 安装
|
||||
|
||||
目前 kubeasz 已经自动集成安装 dns 组件,配置模板位于`roles/cluster-addon/templates/`目录
|
||||
目前 kubeasz 已经自动集成安装 coredns 和 nodelocaldns 组件,配置模板位于`roles/cluster-addon/templates/`目录。
|
||||
|
||||
+ 集群 pod默认继承 node的dns 解析,修改 kubelet服务启动参数 --resolv-conf="",可以更改这个特性,详见 kubelet 启动参数
|
||||
``` bash
|
||||
# 默认已经集成安装,假设集群名为xxxx
|
||||
ezctl setup xxxx all
|
||||
|
||||
# 如果需要分步安装
|
||||
ezctl setup xxxx 07
|
||||
|
||||
# 如果需要手动安装
|
||||
kubectl apply -f /etc/kubeasz/clusters/xxxx/yml/coredns.yaml
|
||||
kubectl apply -f /etc/kubeasz/clusters/xxxx/yml/nodelocaldns.yaml
|
||||
```
|
||||
|
||||
### 验证 dns服务
|
||||
|
||||
|
@ -32,10 +44,12 @@ nginx ClusterIP 10.68.33.167 <none> 80/TCP 1m
|
|||
``` bash
|
||||
kubectl run test --rm -it --image=alpine /bin/sh
|
||||
If you don't see a command prompt, try pressing enter.
|
||||
|
||||
/ # cat /etc/resolv.conf
|
||||
nameserver 10.68.0.2
|
||||
search default.svc.cluster.local. svc.cluster.local. cluster.local.
|
||||
options ndots:5
|
||||
|
||||
# 测试集群内部服务解析
|
||||
/ # nslookup nginx.default.svc.cluster.local
|
||||
Server: 10.68.0.2
|
||||
|
@ -43,12 +57,14 @@ Address 1: 10.68.0.2 kube-dns.kube-system.svc.cluster.local
|
|||
|
||||
Name: nginx
|
||||
Address 1: 10.68.33.167 nginx.default.svc.cluster.local
|
||||
|
||||
/ # nslookup kubernetes.default.svc.cluster.local
|
||||
Server: 10.68.0.2
|
||||
Address 1: 10.68.0.2 kube-dns.kube-system.svc.cluster.local
|
||||
|
||||
Name: kubernetes
|
||||
Address 1: 10.68.0.1 kubernetes.default.svc.cluster.local
|
||||
|
||||
# 测试外部域名的解析,默认集成node的dns解析
|
||||
/ # nslookup www.baidu.com
|
||||
Server: 10.68.0.2
|
||||
|
@ -60,7 +76,7 @@ Address 2: 180.97.33.107
|
|||
/ #
|
||||
```
|
||||
|
||||
- Note1: 如果你使用`calico`网络组件,通过命令`ansible-playbook 90.setup.yml`安装完集群后,直接安装dns组件,可能会出现如下BUG,分析是因为calico分配pod地址时候会从网段的第一个地址(网络地址)开始,详见提交的 [ISSUE #1710](https://github.com/projectcalico/calico/issues/1710),临时解决办法为手动删除POD,重新创建后获取后面的IP地址
|
||||
- Note1: 如果你使用`calico`网络组件,安装完集群后,直接安装dns组件,可能会出现如下BUG,分析是因为calico分配pod地址时候会从网段的第一个地址(网络地址)开始,详见提交的 [ISSUE #1710](https://github.com/projectcalico/calico/issues/1710),临时解决办法为手动删除POD,重新创建后获取后面的IP地址
|
||||
|
||||
```
|
||||
# BUG出现现象
|
||||
|
|
|
@ -18,7 +18,15 @@ kubeasz 用户可以确认集群各项功能符合预期,既符合k8s设计标
|
|||
- calico: v3.19.2
|
||||
- coredns: 1.8.4
|
||||
- pause: 3.5
|
||||
- dashboard: v2.3.1
|
||||
- metrics-server: v0.5.0
|
||||
|
||||
### 其他
|
||||
|
||||
- fix:增加/删除节点时ansible hosts文件更新错误
|
||||
- 更新:kuboard 文档 #1014 #1023
|
||||
- 更新:判断服务状态直接使用systemctl is-active #1019
|
||||
- 修复:etcd dir bug #1036
|
||||
- 更新:traefik为Daemonset部署,增加健康检测功能以及Node节点亲和性调度 #1028
|
||||
- 更新:dashboard 部署文件和文档
|
||||
- 更新:metrics-server 部署文件和文档
|
||||
- 修复:coredns 1.8.4 rbac settings
|
||||
|
|
4
ezdown
4
ezdown
|
@ -299,8 +299,8 @@ function get_offline_image() {
|
|||
docker save -o "$imageDir/metrics-scraper_$dashboardMetricsScraperVer.tar" "kubernetesui/metrics-scraper:$dashboardMetricsScraperVer"
|
||||
fi
|
||||
if [[ ! -f "$imageDir/metrics-server_$metricsVer.tar" ]];then
|
||||
docker pull "mirrorgooglecontainers/metrics-server-amd64:$metricsVer" && \
|
||||
docker save -o "$imageDir/metrics-server_$metricsVer.tar" "mirrorgooglecontainers/metrics-server-amd64:$metricsVer"
|
||||
docker pull "easzlab/metrics-server:$metricsVer" && \
|
||||
docker save -o "$imageDir/metrics-server_$metricsVer.tar" "easzlab/metrics-server:$metricsVer"
|
||||
fi
|
||||
if [[ ! -f "$imageDir/pause_$pauseVer.tar" ]];then
|
||||
docker pull "easzlab/pause-amd64:$pauseVer" && \
|
||||
|
|
Loading…
Reference in New Issue