“K8s应用”的版本间的差异

来自linux中国网wiki
跳到导航 跳到搜索
第185行: 第185行:
 
  kubectl get pods -A -o wide
 
  kubectl get pods -A -o wide
  
</pre>
+
root@k8s-master:~/mysqltest# kubectl get pods -A -o wide | grep mysql-nfs
 +
default      mysql-nfs-deploy-5f4fc57696-x49mw    1/1    Running            15 (5m27s ago)  84m    10.244.1.2      k8s-node1    <none>          <none>
 +
root@k8s-master:~/mysqltest#
  
  
 +
</pre>
  
 
===查看mysql数据 on nfs master ===
 
===查看mysql数据 on nfs master ===

2021年8月29日 (日) 14:57的版本

Monitoring

如何以优雅的姿势监控kubernetes 集群服务

进阶

rancher

2020

每天5分钟的,以前应该有笔记的吧 https://www.cnblogs.com/CloudMan6/p/8323420.html



用 Deployment 运行应用 - 每天5分钟玩转 Docker 容器技术(123)

Kubernetes存储体系 PV PVC

详解Kubernetes存储体系

kubernetes中服务的暴露访问方式

2. Loadbalancer 使用NodeIp+Nodeport的方式实现,利用云平台提供的loadbalance服务,像aws、azure、openstack、gce都提供了loadbalance服务

这里不做介绍了

3. Ingress Ingress 使用开源的反向代理负载均衡器来实现对外暴漏服务,比如 Nginx、Apache、Haproxy等。Nginx Ingress 一般有三个组件组成:

Nginx 反向代理负载均衡器 Ingress Controller 可以理解为控制器,它通过不断的跟 Kubernetes API 交互,实时获取后端 Service、Pod 等的变化,比如新增、删除等,然后结合 Ingress 定义的规则生成配置,然后动态更新上边的 Nginx 负载均衡器,并刷新使配置生效,来达到服务自动发现的作用。 Ingress 则是定义规则,通过它定义某个域名的请求过来之后转发到集群中指定的 Service。它可以通过 Yaml 文件定义,可以给一个或多个 Service 定义一个或多个 Ingress 规则。


kubernetes中服务的暴露访问方式kubernetes ingress使用

国内应用例子

国内最具影响力科技创投媒体36Kr的容器化之路


k8s 应用部署

k8s jenkins

mediawiki k8s

Docker 安装mediawiki

mediawiki k8s

k8s mysql5.7 NFS 持久化

NFS

mkdir -p /data/k8s/mysql

创建命名空间

kubectl create namespace db-mysql

mysql-nfs-pv.yaml


#k8s master 

cat > /root/mysqltest/mysql-nfs-pv.yaml  <<EOF
kind: PersistentVolume
apiVersion: v1
metadata:
  name: mysql-nfs-pv
  namespace: db-mysql
spec:
  accessModes:
    - ReadWriteOnce      
  capacity:
    storage: 2Gi
  persistentVolumeReclaimPolicy: Retain
  storageClassName: nfs
  nfs:
    path: /data/k8s/mysql
    server: 192.168.88.22

EOF

kubectl apply -f mysql-nfs-pv.yaml


mysql-nfs-pvc.yaml

cat > /root/mysqltest/mysql-nfs-pvc.yaml <<EOF

kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: mysql-nfs-pvc
  namespace: db-mysql
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 2Gi
  storageClassName: nfs 

EOF


kubecte apply -f mysql-nfs-pvc.yaml


mysql-nfs-deploy.yaml


cat > /root/mysqltest/mysql-nfs-deploy.yaml <<EOF
apiVersion: apps/v1
kind: Deployment
metadata:
  name: mysql-nfs-deploy
  namespace: db-mysql
spec:
  replicas: 1
  selector:
    matchLabels:
      app: mysql_nfs
  template:
    metadata:
      labels:
        app: mysql_nfs
    spec:
      containers:
      - name: mysql57
        image: mysql:5.7
        imagePullPolicy: IfNotPresent
        
        env:                        
        - name: MYSQL_ROOT_PASSWORD
          value: "123456"
        args:
        - --lower_case_table_names=1
        ports:
        - containerPort: 3306
        volumeMounts:
        - name: mysql-persistent-storage
          mountPath: /var/lib/mysql         
      volumes:
      - name: mysql-persistent-storage
        persistentVolumeClaim:
          claimName: mysql-nfs-pvc      
EOF

kubectl apply -f mysql-nfs-deploy.yam


mysql-nfs-svc.yaml

cat > /root/mysqltest/mysql-nfs-svc.yaml <<EOF
apiVersion: v1
kind: Service
metadata:
  name: mysql
  namespace: db-mysql
spec:
  type: NodePort
  ports:
  - port: 3306
    targetPort: 3306
    nodePort: 32306
  selector:
    app: mysql_nfs

EOF


查看相关



 kubectl get pods -A -o wide

root@k8s-master:~/mysqltest# kubectl get pods -A -o wide | grep mysql-nfs 
default       mysql-nfs-deploy-5f4fc57696-x49mw    1/1     Running             15 (5m27s ago)   84m     10.244.1.2      k8s-node1    <none>           <none>
root@k8s-master:~/mysqltest# 


查看mysql数据 on nfs master

证明 这个nfs没问题呀  

# ls /data/k8s/mysql/
auto.cnf    ca.pem           client-key.pem  ib_logfile0  ibtmp1  performance_schema  public_key.pem   server-key.pem
ca-key.pem  client-cert.pem  ibdata1         ib_logfile1  mysql   private_key.pem     server-cert.pem
[root@work2 ~]# 

K8S 部署 Mysql(NFS 持久化)

see also

VPS

digitalocean

用他的服务 10/mo
如果是自己建呢  有CPU要求呢 还是买他的吧  两台 10/mon 但是自由,试一下这个行不行先, 等于还多了两个vm,不过上次的helm 2还是不成功呢

在DigitalOcean玩Kubernetes(K8S)

https://www.digitalocean.com/docs/kubernetes/overview/

vultr

这个看起来贵一点 这个vps下次暂停一下 不要浪费一个月5刀呢

K8s on aliyun

othre

Kubernetes使用过程中遇到的一些问题与解决方法


从零开始搭建Kubernetes集群(六、在K8S上部署Redis 集群)

从零开始搭建Kubernetes集群(五、搭建K8S Ingress


从零开始搭建Kubernetes集群(四、搭建K8S Dashboard)


从零开始搭建Kubernetes集群(七、如何监控K8S集群日志)

在kubernetes中部署tomcat与mysql集群


全面提升,阿里云Docker/Kubernetes(K8S) 日志解决方案与选型对比

部署你的第一个ASP.NET Core应用到k8s集群


从零开始搭建Kubernetes集群(六、在K8S上部署Redis 集群)


Kubernetes(k8s)部署并测试nginx service


个推基于 Docker 和 Kubernetes 的微服务实践


《拥抱下一代容器化工具》视频及电子书发布

helm gogs


K8S集群搭建,并部署nginx实现跨网络访问

java tomcat

Kubernetes】部署Tomcat服务


k8s部署tomcat数据持久化


Docker实践 - 安装Docker并在容器里运行tomcat

trouble

使用kube-proxy让外部网络访问K8S service的ClusterIP


telnet master主机的NodePort服务不通的问题


kubernetes踩坑:nodePort拒绝访问的问题

通过NodePort向k8s集群外部暴露服务

K8s的内部Pod之间都不通,搞了快两天


使用kube-proxy让外部网络访问K8S service的ClusterIP

【kubernetes/k8s概念】kube-proxy启动参数