Skip to content

okra站点home页。README.md文件编写,docsify解析

Notifications You must be signed in to change notification settings

nuptaxin/okra-home

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 

Repository files navigation

站点

home.okracode.com

技术

markdown

docsify

docker

k8s

环境

云服务器

  1. 操作系统镜像:CentOS 7.5 64位
  2. IP地址
    • 公网:49.*.*.155
    • 内网:172.17.0.17
  3. 安全组
    • 开放80端口入站(用于站点正常访问)
    • 开放8080端口入站(用于调试)
    • 开放22端口(用于远程)
  4. 远程到服务器
    • ssh root@49.*.*.155

域名

  1. A记录添加

站点生成与部署说明

docker安装

  1. 添加软件源
  2. 更新源(可能需要几分钟)
    • yum -y update
  3. 查询可用安装包
    • yum list docker-ce --showduplicates | sort -r
  4. 安装docker(此处选择3:20.10.5-3.el7版本; 注:指定版本号的格式为docker-ce-版本号.x86_64;此处安装需要几分钟)
    • yum -y install docker-ce-3:20.10.5-3.el7.x86_64
  5. 启动docker并设置开机启动
    • systemctl start docker.service && systemctl enable docker.service
  6. 查看docker状态(Active: active (running))
    • systemctl status docker.service

k8s安装

  1. 配置源
    • cat < /etc/yum.repos.d/kubernetes.repo
       [kubernetes]
       name=Kubernetes
       baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
       enabled=1
       gpgcheck=1
       repo_gpgcheck=1
       gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
       EOF
      
  2. 安装kubectl/kubelet/kubeadm
    • yum install -y kubelet-1.19.8 kubectl-1.19.8 kubeadm-1.19.8
    • 启动kubelet:systemctl enable kubelet && systemctl start kubelet
  3. kubeadm初始化(参照文档:https://docs.projectcalico.org/getting-started/kubernetes/quickstart)
    • 初始化kubeadm:kubeadm init --ignore-preflight-errors=NumCPU --image-repository registry.aliyuncs.com/google_containers --kubernetes-version=v1.19.8 --pod-network-cidr=192.168.0.0/16
    • 根据控制台输出内容配置kubectl
      • mkdir -p $HOME/.kube
      • sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
      • sudo chown $(id -u):$(id -g) $HOME/.kube/config
    • 验证kubectl可用(此时node状态为NotReady)
      • kubectl get no
  4. 修改调度器Unhealthy状态
    • 查看调度器:kubectl get cs
    • 如果scheduler和controller-manager都为Unhealthy,将port=0这行注释掉
      • vim /etc/kubernetes/manifests/kube-scheduler.yaml
      • vim /etc/kubernetes/manifests/kube-controller-manager.yaml
      • systemctl restart kubelet.service
    • 确认调度器:kubectl get cs
  5. 安装网络插件calico(参照文档同上)
  6. 允许master节点部署pod:kubectl taint nodes --all node-role.kubernetes.io/master-

创建docker镜像

  1. 定义docsify的docker镜像
    • vim Dockerfile
       FROM node:latest
       LABEL description="A demo Dockerfile for build Docsify."
       WORKDIR /docs
       RUN npm install -g docsify-cli@latest
       EXPOSE 3000/tcp
       ENTRYPOINT docsify serve .
      
  2. 创建镜像
    • docker build -f Dockerfile -t nuptaxin/docsify-docker:v1.0.0 .

markdown编辑站点

  1. 参照docsify官方文档编写站点(https://docsify.js.org/#/quickstart)
  2. 本地站点测试(已通过npm i docsify-cli -g指令本地安装过docsify)

上传站点到github

  1. 上传站点:git push
  2. 如果仓库在github上,可在gitee上导入,防止云服务器拉取不到:https://gitee.com/projects/import/github/status

云服务器部署站点

git-sync同步站点&&docsify解析站点

  1. 定义replicaSet
    • pod上有两个容器
      • 容器1:使用git-sync同步git仓库
      • 容器2:部署docsify解析站点
    • yaml文件参照okra-home-rs.yaml
  2. 创建 replicaSet
    • kubectl create -f okra-home-rs.yaml
  3. 测试访问
    • 端口映射临时访问(需要开放对应targetPort的防火墙):kubectl port-forward rs/okra-home-rs 8080:3000 -