引言
Kubernetes(简称K8s)作为现代云计算中的关键组件,已经成为容器编排的事实标准。它不仅提供了强大的自动化部署、扩展和管理功能,还通过用户界面(UI)使得集群管理变得更加直观和高效。本文将深入探讨如何轻松掌握K8s的高效UI配置,并揭示其中的秘密武器。
环境规划
在开始配置K8s UI之前,我们需要规划以下环境:
- 服务器:选择适合的物理服务器或虚拟机。
- 操作系统:推荐使用CentOS或Ubuntu等主流Linux发行版。
- 网络:确保网络连接稳定,配置静态IP地址。
- 安全:关闭不必要的端口和服务,配置防火墙规则。
初始化服务器
以下是初始化服务器的详细步骤:
1. 配置主机名
hostnamectl set-hostname <主机名>
2. 设置IP为静态IP
编辑/etc/sysconfig/network-scripts/ifcfg-<接口名>
文件,设置以下参数:
BOOTPROTO=static
IPADDR=<IP地址>
NETMASK=<子网掩码>
GATEWAY=<网关>
DNS1=<DNS服务器1>
DNS2=<DNS服务器2>
3. 关闭selinux
编辑/etc/selinux/config
文件,将SELINUX
设置为disabled
。
4. 配置主机hosts文件
在/etc/hosts
文件中添加以下条目:
<主机名> <IP地址>
5. 配置服务器之间免密登录
生成SSH密钥对,并复制到其他服务器:
ssh-keygen -t rsa
ssh-copy-id -i ~/.ssh/id_rsa.pub <用户名>@<服务器地址>
6. 关闭交换分区swap,提升性能
编辑/etc/fstab
文件,将swap行注释掉。
7. 修改内核参数
编辑/etc/sysctl.conf
文件,添加以下参数:
net.ipv4.ip_forward=1
net.ipv4.conf.all.forwarding=1
8. 关闭firewalld防火墙
systemctl stop firewalld
systemctl disable firewalld
9. 配置阿里云repo源
a. yum源修改
编辑/etc/yum.repos.d/CentOS-Base.repo
文件,添加以下内容:
[aliyun]
name=aliyun
baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
enabled=1
gpgcheck=0
b. 安装命令测试
yum install -y hello
c. 添加docker源
编辑/etc/yum.repos.d/docker-ce.repo
文件,添加以下内容:
[docker-ce]
name=Docker CE Repository
baseurl=https://download.docker.com/linux/centos/$releasever/os/
enabled=1
gpgcheck=1
gpgkey=https://download.docker.com/linux/centos/gpg
10. 配置安装k8s组件需要的阿里云repo源
编辑/etc/yum.repos.d/kubernetes.repo
文件,添加以下内容:
[kubernetes]
name=Kubernetes Repository
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-kubeadm
enabled=1
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
name_kubernetes_signing=Kubernetes (Kubernetes)
baseurl_kubernetes_signing=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-signing
enabled_kubernetes_signing=1
gpgcheck_kubernetes_signing=1
gpgkey_kubernetes_signing=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
11. 配置时间同步
yum install -y ntp
systemctl enable ntpd
systemctl start ntpd
12. 安装基础软件包
yum install -y epel-release
13. 安装docker服务
a. 安装docker
yum install -y docker-ce
b. 配置镜像加速器
编辑/etc/docker/daemon.json
文件,添加以下内容:
{
"registry-mirrors": ["https://<镜像加速器地址>"]
}
重启docker服务:
systemctl restart docker
14. 安装初始化k8s需要的软件包
yum install -y kubeadm kubelet kubectl
kubeadm初始化k8s
以下是使用kubeadm初始化K8s集群的步骤:
1. kubeadm初始化master节点
kubeadm init --pod-network-cidr=10.244.0.0/16
2. 查询k8s集群状态
kubectl get nodes
3. 将工作节点添加进集群
kubeadm join <master节点IP地址>:6443 --token <token> --discovery-token-ca-cert-hash sha256:<hash>
4. 安装网络插件-Calico
kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
5. 测试k8s创建pod是否可以正常访问网络
创建一个简单的Pod并尝试访问外部服务:
apiVersion: v1
kind: Pod
metadata:
name: test-pod
spec:
containers:
- name: test-container
image: nginx
ports:
- containerPort: 80
安装dashboard
以下是安装Kubernetes dashboard的步骤:
1. 镜像拉取
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.5.0/aio/deploy/recommended.yaml
2. 安装dashboard组件
kubectl rollout status deployment kubernetes-dashboard
3. dashboard状态检测
kubectl get pods -n kubernetes-dashboard
4. 浏览器测试
打开浏览器,访问以下地址:
https://<master节点IP地址>:<端口>/
5. dashboard登录
a. 通过token访问dashboard
在命令行中执行以下命令,获取访问token:
kubectl -n kubernetes-dashboard get secret $(kubectl -n kubernetes-dashboard get secret | grep default | awk '{print $1}') -o jsonpath='{.data.token}' | base64 --decode
b. 通过kubeconfig文件访问dashboard
将以下内容保存为kubeconfig文件:
apiVersion: v1
clusters:
- cluster:
server: https://<master节点IP地址>:<端口>
name: kubernetes
contexts:
- context:
cluster: kubernetes
namespace: default
user: default
name: default
current-context: default
kind: Config
users:
- name: default
user:
token: <token>
使用kubeconfig文件访问dashboard:
kubectl config use-context default