From 66ea2a3bd55c0408a85c095ed1a5a111803844f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=84=E6=B5=B7?= <10402852@qq.com> Date: Sun, 15 Sep 2024 10:07:44 +0800 Subject: [PATCH] 'commit' --- 操作文档/1、K8S搭建/搭建k8s集群.md | 128 +++++++++++------- 1 file changed, 76 insertions(+), 52 deletions(-) diff --git a/操作文档/1、K8S搭建/搭建k8s集群.md b/操作文档/1、K8S搭建/搭建k8s集群.md index 4d93a6bc..9c803b65 100644 --- a/操作文档/1、K8S搭建/搭建k8s集群.md +++ b/操作文档/1、K8S搭建/搭建k8s集群.md @@ -391,7 +391,7 @@ kubeadm init \ ``` -记录下下面的命令: +记录下面的命令: ```shell Then you can join any number of worker nodes by running the following on each as root: @@ -463,13 +463,13 @@ vi custom-resources.yaml kubectl apply -f custom-resources.yaml ``` -监视calico-sysem命名空间中pod运行情况 +监视$calico-system$命名空间中$pod$运行情况 ```shell watch kubectl get pods -n calico-system ``` -查看calico是否正常运行 +查看$calico$是否正常运行 ```shell kubectl get pods -n calico-system @@ -542,11 +542,11 @@ kube-flannel-ds-tlczf 1/1 Running 0 133m kube-flannel-ds-xn98c 1/1 Running 0 133m ``` -发现有一个POD有问题,不停的`CrashLoopBackOff` +发现有一个$POD$有问题,不停的 $CrashLoopBackOff$ 参考文档:https://www.cnblogs.com/williamzheng/p/18357226 -``` +```shell [root@k8s-master ~]# ip a 1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 @@ -607,6 +607,8 @@ tigera-operator tigera-operator-7f8cd97876-7s58q 1/1 Running 现在终于都正常了~ + + ### 三、测试 **测试集群是否正常运行$pod$** @@ -652,53 +654,7 @@ kubectl get pods kubectl get pods ``` -### 四、命令行创建发布与服务 - -**1、创建命名空间** - -```shell -# 创建命名空间 -kubectl create namespace dsideal - -# 查看命名空间 -kubectl get namespaces - -# 删除命名空间 -kubectl delete namespace dsideal -``` - -**2、部署应用** - -```shell -kubectl create deployment nginx-deployment --image=swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/openresty/openresty:1.25.3.1-5-alpine-fat --replicas=1 --port=80 --namespace=dsideal -``` - -**3、暴露应用服务** - -```shell -kubectl expose deployment nginx-deployment --type=NodePort --port=80 --target-port=80 --namespace=dsideal - - -kubectl expose deployment nginx-deployment --type=LoadBalancer --port=80 --target-port=80 -``` - -**4、查看集群部署状态** - -```shell -kubectl get deployment,svc --namespace=dsideal -``` - - - -**5、通过公网$ip+NodePort$端口号的方式访问$nginx$服务** - -```shell -http://10.10.14.200:30642 -``` - - - -### 五、管理工具$Kuboard$ +### 四、管理工具$Kuboard$ **官方文档** @@ -757,6 +713,74 @@ users: ![](https://dsideal.obs.cn-north-1.myhuaweicloud.com/HuangHai/BlogImages/202409141357727.png) +### + +### 五、通过$YAML$创建发布与服务 + +- 1. **为了方便,一般不再全新创建命名空间,使用默认的$default$命名空间。** +- 2. 为什么不使用界面或者命令行进行创建发布和服务呢?这是因为命令行创建的功能限制比较多,比如不能管控最终暴露的端口,不能配置内存和$CPU$等,至于为什么不用界面,原因也很简单,因为今天用$Kuboard$,明天可能就用其它的管理工具了,不如万年不变的$YAML$文件准称。 + +#### 4.1 创建$Deployment$ + +`openresty-deployment.yaml` + +```yaml +apiVersion: apps/v1 +kind: Deployment +metadata: + name: openresty-deployment +spec: + replicas: 1 + selector: + matchLabels: + app: openresty + template: + metadata: + labels: + app: openresty + spec: + containers: + - name: openresty + image: swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/openresty/openresty:1.25.3.1-5-alpine-fat + resources: + limits: + cpu: "1" + memory: "2Gi" + requests: + cpu: "1" + memory: "2Gi" + ports: + - containerPort: 80 +``` + +#### 4.2 创建$Service$ + +`openresty-service.yaml` + +```yaml +apiVersion: v1 +kind: Service +metadata: + name: openresty-service +spec: + selector: + app: openresty + ports: + - protocol: TCP + port: 80 + targetPort: 80 + nodePort: 30080 + type: NodePort +``` + +**通过公网$ip+NodePort$端口号的方式访问$nginx$服务** + +```shell +http://10.10.14.200:30080 +``` + +![](https://dsideal.obs.cn-north-1.myhuaweicloud.com/HuangHai/BlogImages/202409151001962.png) + ### 六、资料 **kubeadm部署kubernetes1.29**