一、安装与部署
1、CentOSK8S的安装
# 安装kubeadm, kubelet 和 kubectl
yum install -y kubelet kubeadm kubectl
# 启用kubelet服务并开机启动
systemctl enable kubelet
systemctl start kubelet
2、集群部署
使用kubeadm工具,在多个节点上安装和配置Kubernetes集群。
# 初始化master节点
kubeadm init --pod-network-cidr=10.244.0.0/16
# 安装网络插件calico
kubectl apply -f https://docs.projectcalico.org/v3.3/getting-started/kubernetes/installation/hosted/etcd.yaml
kubectl apply -f https://docs.projectcalico.org/v3.3/getting-started/kubernetes/installation/hosted/calico.yaml
# 完成后显示kubeadm join命令,记录下来备用
kubeadm join xxx.xxx.xxx.xxx:xxxxx --token xxxxxxxxxxxxxxxx --discovery-token-ca-cert-hash sha256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
二、常用命令
1、查看集群状态
kubectl cluster-info
2、查看集群中的节点
kubectl get nodes
3、部署一个Pod
kubectl run nginx --image=nginx
4、查看部署的Pod
kubectl get pods
5、查看Pod的详细信息
kubectl describe pod nginx
三、扩展
1、使用Helm来进行部署,管理和发现应用程序。
# 添加helm的仓库地址
helm repo add stable https://kubernetes-charts.storage.googleapis.com/
# 下载chart
helm fetch stable/mysql
# 部署MySQL
helm install --generate-name mysql
2、自动化运维
使用Ansible自动化Kubernetes集群的部署和管理。
# 安装ansible
yum install ansible
# 部署Kubernetes集群
ansible-playbook kubernetes.yaml
四、安全
1、使用RBAC授权。
kubectl create -f rbac.yaml
2、启用TLS安全传输。
kubeadm init --control-plane-endpoint "example.com" --upload-certs --experimental-upload-certs
3、使用Kube-bench来进行安全性自检。
# 安装kube-bench
yum install -y kube-bench
# 运行自检
kube-bench master
五、监控
1、使用Prometheus实现监控。
# 下载prometheus部署所需的yaml文件
wget https://raw.githubusercontent.com/coreos/prometheus-operator/master/example/prometheus-operator-crd/alertmanager.crd.yaml
wget https://raw.githubusercontent.com/coreos/prometheus-operator/master/example/prometheus-operator-crd/prometheus.crd.yaml
wget https://raw.githubusercontent.com/coreos/prometheus-operator/master/example/prometheus-operator-crd/prometheusrule.crd.yaml
wget https://raw.githubusercontent.com/coreos/prometheus-operator/master/example/prometheus-operator-crd/servicemonitor.crd.yaml
# 部署Prometheus
kubectl apply -f https://raw.githubusercontent.com/camilocot/kubernetes-prometheus-book/master/manifests/setup
kubectl apply -f https://raw.githubusercontent.com/camilocot/kubernetes-prometheus-book/master/manifests/
2、使用Grafana进行数据可视化。
# 部署grafana
helm repo add stable https://kubernetes-charts.storage.googleapis.com/
helm install --generate-name stable/grafana
六、总结
通过对CentOSK8S的全方位阐述,我们了解了CentOSK8S的安装与部署、常用命令、扩展、安全和监控。CentOSK8S是一款高效的、安全的、易于扩展和管理的容器编排工具,能够极大地提高网站的稳定性和可靠性。