使用rancher简单构建服务,面板使用

一、master节点 安装kubectl
离线安装  上传资料中的kubectl
[root@rancher~]# chmod +x kubectl && mv kubectl /usr/local/bin/kubectl
或在线安装kubectl

[root@rancher~]#tee  /etc/yum.repos.d/kubernetes.repo <<'EOF'
[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
[root@rancher~]#yum  install -y kubectl

创建kubectl配置文件

使用rancher简单构建服务,面板使用_第1张图片

使用rancher简单构建服务,面板使用_第2张图片

使用rancher简单构建服务,面板使用_第3张图片

[root@rancher~]#mkdir ~/.kube  	
[root@rancher~]#vim ~/.kube/config
[root@rancher~]#kubectl  get node

二、服务的部署

1、部署nfs共享存储

[root@rancher ~]#  mkdir -p /web/{html,data}
[root@rancher ~]# yum -y install nfs-utils rpcbind  #安装nfs
[root@rancher~]#vim /etc/exports
/web/html  *(rw,no_root_squash)
/web/data  *(rw,no_root_squash)
[root@rancher ~]#  systemctl enable --now rpcbind   nfs

*  表示任何人都有权限连接,也可以是一个网段192.168.4.0/24(ro) ,一个IP一个域名  
no_root_squash:当登录NFS主机使用共享目录的使用者是root时,其权限将被转换成为匿名使用者,通常它的UID与GID,都会变成nobody身份。rw:读写的权限   


2、创建pv
使用过程是:nfs→pv→pvc→volume→volumeMounttopath,PV是提供者,PVC是消费者,消费的过程就是绑定。
这里pv.yaml一共创建了2个pv,分别是mysql-pv(后面使用)、web-pv
ReadWriteOnce(RWO):读写权限,但是只能被单个节点挂载
ReadOnlyMany(ROX):只读权限,可以被多个节点挂载
ReadWriteMany(RWX):读写权限,可以被多个节点挂载

[root@rancher ~]#  tar xf lnmp-v9.tar.gz
[root@rancher ~]# cd lnmp/
[root@rancher lnmp]# yum -y install unzip
[root@rancher lnmp]#  unzip ecshop.zip
[root@rancher lnmp]# mv ecshop/* /web/html/
[root@rancher lnmp]#  vim /root/lnmp/pv.yaml
apiVersion: v1
kind: PersistentVolume
metadata:
  name: mysql-pv
  labels:
    apps: mysql-pv
spec:
  capacity:
    storage: 5Gi
  accessModes:
    - ReadWriteMany
  nfs:
    path: /web/data
    server: 192.168.4.11
---
apiVersion: v1
kind: PersistentVolume
metadata:
  name: web-pv
  labels:
    apps: web-pv
spec:
  capacity:
    storage: 1Gi
  accessModes:
    - ReadWriteMany
  nfs:
    path: /web/html
    server: 192.168.4.11
[root@rancher lnmp]# kubectl apply -f pv.yaml
persistentvolume/mysql-pv created
persistentvolume/web-pv created

3.1  部署php的pod,挂载及pvc

[root@rancher lnmp]#  vim php-deployment.yaml
[root@rancher lnmp]#  kubectl apply -f php-deployment.yaml
deployment.apps/php-server created
persistentvolumeclaim/web-pvc created
[root@rancher lnmp]# kubectl get pod
NAME                         READY   STATUS    RESTARTS   AGE
php-server-f755868c8-5rgzx     1/1     Running       0        18s

使用rancher简单构建服务,面板使用_第4张图片使用rancher简单构建服务,面板使用_第5张图片3.2  部署php的serice     

[root@rancher lnmp]# vim php-svc.yaml
---
apiVersion: v1
kind: Service
metadata:
  name: php
spec:
  ports:
  - name: php
    port: 9000
    protocol: TCP
  selector:
    app: php-server
[root@rancher lnmp]# kubectl apply -f php-svc.yaml
service/php created


4.1  部署nginx的pod,创建ConfigMap映射配置
[root@rancher lnmp]#  vim /root/lnmp/conf/nginx.conf

使用rancher简单构建服务,面板使用_第6张图片

ConfigMap创建nginx配置文件
语法格式:kubectl create configmap name --from-file=path

[root@rancher lnmp]# kubectl create configmap lnmp-nginx-config --from-file=/root/lnmp/conf/nginx.conf
configmap/lnmp-nginx-config created
[root@rancher lnmp]# kubectl get configmap		#查看新生成的ConfigMap
NAME                DATA   AGE
kube-root-ca.crt    1      130m
lnmp-nginx-config   1      56s

创建nginx-deployment
[root@rancherlnmp]#vim  nginx-deployment.yaml
[root@rancher lnmp]#  kubectl apply -f nginx-deployment.yaml
使用rancher简单构建服务,面板使用_第7张图片

4.2部署nginx的service
[root@rancher lnmp]# vim nginx-svc.yaml
[root@rancher lnmp]# kubectl apply -f nginx-svc.yaml
使用rancher简单构建服务,面板使用_第8张图片

访问测试:http://192.168.4.12:30010/
可以看到安装界面则表示php解析正确没有问题。现在不要部署网站,因为还没有安装数据库了。

使用rancher简单构建服务,面板使用_第9张图片

使用rancher简单构建服务,面板使用_第10张图片

5.1  创建mysql的pod
mysql容器中存在初始化脚本,使用MYSQL_ROOT_PASSWORD变量配置mysql登录密码。
[root@rancherlnmp]# vim   mysql-deployment.yaml
[root@rancher lnmp]#  kubectl apply -f mysql-deployment.yaml

使用rancher简单构建服务,面板使用_第11张图片

5.2  创建mysql的service

[root@rancher lnmp]#  vim mysql-svc.yaml
[root@rancher lnmp]# kubectl apply -f mysql-svc.yaml

使用rancher简单构建服务,面板使用_第12张图片

6.1  rancher创建ingress规则

使用rancher简单构建服务,面板使用_第13张图片

使用rancher简单构建服务,面板使用_第14张图片

自定义域名→shop.com,删除默认的配置项,默认的是工作负载,我们需要添加服务。

使用rancher简单构建服务,面板使用_第15张图片

 添加服务(service):服务选择nginx-shop端口选择nginx即可

注:端口名称nginx是serviceportsname,调用时可以使用端口也可以直接使用名称。

使用rancher简单构建服务,面板使用_第16张图片

填好配置请勿点击添加规则,直接保存即可。使用rancher简单构建服务,面板使用_第17张图片 

使用rancher简单构建服务,面板使用_第18张图片

 添加本地hosts解析。

C:\Windows\System32\drivers\etc

添加行:  192.168.4.12   shop.com

浏览器访问:http://shop.com/

使用rancher简单构建服务,面板使用_第19张图片

使用rancher简单构建服务,面板使用_第20张图片

使用rancher简单构建服务,面板使用_第21张图片

使用rancher简单构建服务,面板使用_第22张图片

使用rancher简单构建服务,面板使用_第23张图片 http://shop.com/admin使用rancher简单构建服务,面板使用_第24张图片

你可能感兴趣的:(kubenetes,linux,kubernetes,centos)