K8S | 创建第一个应用

使用k8s部署第一个应用

创建一个nginx.yaml文件

apiVersion: v1
kind: Pod
metadata:
  name: nginx
  # 指定 label,便于检索
  labels:
    app: nginx
spec:
  containers:
    - name: nginx
      # 指定镜像
      image: nginx:alpine
      # 指定暴露端口
      ports:
        - containerPort: 80

---
# 创建网络服务
apiVersion: v1
kind: Service
metadata:
  name: kube-node-service
  labels:
    name: kube-node-service
spec:
  type: NodePort      #这里代表是NodePort类型的
  ports:
    - port: 80          #这里的端口和clusterIP(10.97.114.36)对应,即10.97.114.36:80,供内部访问。
      targetPort: 80  #端口一定要和container暴露出来的端口对应,nodejs暴露出来的端口是8081,所以这里也应是8081
      protocol: TCP
      nodePort: 32143   # 所有的节点都会开放此端口,此端口供外部调用。

  selector:
    app: nginx          #这里选择器一定要选择容器的标签,之前写name:kube-node是错的。

执行指令:

……

阅读全文

Licod | 安装和配置

拉取docker镜像并运行

licode官方提供了配置好的docker镜像,使用以下命令拉下来跑就行。

docker run --name licode -p  3000:3000 -p $MIN_PORT-$MAX_PORT:30000-30050/udp -p 3001:3001  -p 8080:8080 -e "MIN_PORT=30000" -e "MAX_PORT=30050" -e "PUBLIC_IP=your_ip_address" lynckia/licode

注意命令里的PUBLIC_IP要改为服务器的公网IP。

配置好之后,在地址栏输入ip:3001回车,chrome就会弹出是否允许摄像头麦克风那个窗口,点击确定,就可以看到你的视频了。

……

阅读全文

Docker | 远程访问加密

docker的远程访问

方法一 :编辑docker.service文件 编辑docker.service文件

sudo vim /lib/systemd/system/docker.service

修改ExecStart行为下面内容

ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock 

重新加载docker配置

sudo systemctl daemon-reload // 1,加载docker守护线程
sudo systemctl restart docker // 2,重启docker

方法二:修改daemon.json的配置 下面修改daemon.json的配置

……

阅读全文

Docker | web管理界面portainer

拉取镜像

$ docker pull portainer/portainer

运行启动portainer

docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v /home/docker/portainer:/data --name portainer --restart=always portainer/portainer

admin
bigant.cn

汉化

Portainer-CN.zip
百度云盘: https://pan.baidu.com/s/13ra6jXHR_7vajLLlf5GVEw 提取码: nzue
新建文件夹命名为public,把Portainer-CN.zip解压至里面。 2、public文件夹传输至系统根目录 3、然后按需执行以下命令 x86-64系统使用

……

阅读全文

K8S | 集群资源监控 heapster

安装heapster的原因

查看dashboard状态

$ sudo kubectl get pods --all-namespaces | grep dashboard
kubernetes-dashboard   dashboard-metrics-scraper-6b4884c9d5-mvnb9   1/1     Running   0          40m
kubernetes-dashboard   kubernetes-dashboard-d7f7f565d-zhpsc         1/1     Running   0          40m

查看dashboard的日志

$ sudo  kubectl logs -f -n kubernetes-dashboard kubernetes-dashboard-d7f7f565d-zhpsc

日志遇到这样的情况

No metric client provided. Skipping metrics.
2020/08/03 09:02:22 [2020-08-03T09:02:22Z] Outcoming response to 192.168.84.241:40086 with 200 status code
2020/08/03 09:02:23 Metric client health check failed: the server is currently unable to handle the request (get services dashboard-metrics-scraper). Retrying in 30 seconds.

下载heapster的代码

直接现在Github上的最新代码。

……

阅读全文

K8S | Dashboard界面管理

安装部署Dashboard

通过一下命令来部署, recommended.yaml

$ sudo kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0/aio/deploy/recommended.yaml

https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0/aio/deploy/recommended.yaml这个地址却很难打开,如果能打开,直接执行即可,如果不能,可以这样做:

……

阅读全文

K8S | 安装

安装k8s前的准备工作

环境

  • ubuntu18.04
  • docker

关闭 swap

暂时关闭

$ swapoff -a

永久关闭 注释掉这一行

sudo vim /etc/fstab 
# /swapfile none swap sw 0 0

重启机器

sudo reboot

docker 的配置

安装完成之后需要进行一些配置,包括 切换docker下载源为国内镜像站 以及 修改cgroups。
cgroups是一个进程隔离工具 docker就是用它来实现容器的隔离的。docker 默认使用的是cgroupfs,而 k8s 也用到了一个进程隔离工具systemd,如果使用两个隔离组的话可能会引起异常,所以我们要把 docker 的也改成systemd。 编辑daemon.json:

……

阅读全文

WOL(Wake-on-LAN)科普:从原理到在 NAS 与 Docker 上的实战应用

alt text 在家庭与小型办公室的数字化管理场景中,“远程开机”早已成为高频需求。不论是外网访问 NAS 文件、远程开发、还是让家里的主机做下载/渲染,“让设备在需要时自动开机”都是提高效率的关键能力。

而让这一切成为现实的核心技术,就是 WOL(Wake-on-LAN)网络唤醒。

……

阅读全文

Nginx Proxy Manager 从安装到使用:手把手完整教学(含反向代理 + HTTPS)

在智能家居、NAS、自建服务越来越流行的今天,如何安全、稳定、便捷地把内网服务暴露到公网,成为许多人要面对的问题。

没错,你可以自己写 Nginx 配置,但对很多人来说太复杂。

……

阅读全文