深入探索Kubernetes部署与ELKStack监控
立即解锁
发布时间: 2025-08-25 00:40:40 阅读量: 1 订阅数: 3 

### 深入探索Kubernetes部署与ELK Stack监控
#### 1. Kubernetes集群部署与配置
在Kubernetes集群中,还有一些关键任务需要完成,比如安装网络提供商和配置DNS。
##### 1.1 节点准备
为了让Pod能够与外部世界通信,节点必须具备数据包转发能力。由于Azure VMs默认未启用IP转发,因此需要手动开启。
- **在Azure CLI工作站上启用VM的NIC的IP转发**:
```bash
for i in 1 2; do
az network nic update \
-n $(az vm show --name kube-node-${i} --query [networkProfile.networkInterfaces[*].id] --output tsv | sed 's:.*/::') \
--ip-forwarding true
done
```
- **在工作节点上启用IP转发内核参数**:从管理VM通过SSH登录到每个工作节点,并使用以下命令启用IPv4转发:
```bash
johndoe@kube-node-1$ sudo sysctl net.ipv4.conf.all.forwarding=1
johndoe@kube-node-1$ sudo echo "net.ipv4.conf.all.forwarding=1" | tee -a /etc/sysctl.conf
```
##### 1.2 配置远程访问
为了能从管理VM运行kubectl命令,需要创建一个使用管理员证书和集群公共IP地址的kubeconfig。
```bash
johndoe@management-vm$ kubectl config set-cluster kube \
--certificate-authority=/home/johndoe/certs/ca.pem \
--embed-certs=true \
--server=https://104.45.174.96:6443
johndoe@management-vm$ kubectl config set-credentials admin \
--client-certificate=/home/johndoe/certs/admin/admin.pem \
--client-key=~/certs/admin/admin-key.pem
johndoe@management-vm$ kubectl config set-context kube \
--cluster=kube \
--user=admin
johndoe@management-vm$ kubectl config use-context kube
```
##### 1.3 安装Weave Net
配置好管理VM的远程访问后,就可以在不登录控制器节点的情况下运行kubectl命令。从管理VM运行以下kubectl命令来安装Weave Net:
```bash
johndoe@management-vm$ kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')&env.IPALLOC_RANGE=10.30.0.0/16"
```
安装Weave Net后,Pod将获得IP分配。
##### 1.4 DNS服务器配置
使用Core DNS(一个基于插件的开源DNS服务器)来配置DNS服务器。
```bash
johndoe@management-vm$ kubectl create -f https://raw.githubusercontent.com/dsalamancaMS/CoreDNSforKube/master/coredns.yaml
```
使用以下命令检查DNS Pod:
0
0
复制全文
相关推荐









