Kubernetes----部署单节点Redis
作者:redrose2100   类别:    日期:2022-05-23 15:24:13    阅读:1319 次   消耗积分:0 分

一、创建ConfigMap

(1)首先创建命名空间

  1. kubectl create namespace ospp

(2)编写redis-config.yaml文件,内容如下:

  1. apiVersion: v1
  2. kind: ConfigMap
  3. metadata:
  4. name: redis-config
  5. namespace: ospp
  6. labels:
  7. app: redis
  8. data:
  9. redis.conf: |-
  10. dir /srv
  11. port 6379
  12. bind 0.0.0.0
  13. appendonly yes
  14. daemonize no
  15. #protected-mode no
  16. requirepass test
  17. pidfile /srv/redis-6379.pid

(3)使用如下命令创建configmap

  1. [root@master ospp]# kubectl apply -f redis-config.yaml
  2. configmap/redis-config created
  3. [root@master ospp]#

二、创建Redis

(1)编写redis.yaml文件,内容如下:

  1. apiVersion: apps/v1
  2. kind: Deployment
  3. metadata:
  4. name: redis
  5. namespace: ospp
  6. labels:
  7. app: redis
  8. spec:
  9. replicas: 1
  10. selector:
  11. matchLabels:
  12. app: redis
  13. template:
  14. metadata:
  15. labels:
  16. app: redis
  17. spec:
  18. containers:
  19. - name: redis
  20. image: redis:5.0.7
  21. command:
  22. - "sh"
  23. - "-c"
  24. - "redis-server /usr/local/redis/redis.conf"
  25. ports:
  26. - containerPort: 6379
  27. resources:
  28. limits:
  29. cpu: 1000m
  30. memory: 1024Mi
  31. requests:
  32. cpu: 1000m
  33. memory: 1024Mi
  34. livenessProbe:
  35. tcpSocket:
  36. port: 6379
  37. initialDelaySeconds: 300
  38. timeoutSeconds: 1
  39. periodSeconds: 10
  40. successThreshold: 1
  41. failureThreshold: 3
  42. readinessProbe:
  43. tcpSocket:
  44. port: 6379
  45. initialDelaySeconds: 5
  46. timeoutSeconds: 1
  47. periodSeconds: 10
  48. successThreshold: 1
  49. failureThreshold: 3
  50. volumeMounts:
  51. - name: config
  52. mountPath: /usr/local/redis/redis.conf
  53. subPath: redis.conf
  54. volumes:
  55. - name: config
  56. configMap:
  57. name: redis-config
  58. ---
  59. apiVersion: v1
  60. kind: Service
  61. metadata:
  62. name: service-redis
  63. namespace: ospp
  64. spec:
  65. ports:
  66. - port: 6379
  67. protocol: TCP
  68. targetPort: 6379
  69. nodePort: 30120
  70. selector:
  71. app: redis
  72. type: NodePort

(2)使用如下命令创建redis

  1. [root@master ospp]# kubectl apply -f redis.yaml
  2. deployment.apps/redis created
  3. service/service-redis unchanged
  4. [root@master ospp]#

(3)查看创建资源如下:

  1. [root@master ospp]# kubectl get service,deploy,pod -n ospp -o wide
  2. NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR
  3. service/service-redis NodePort 10.100.68.76 <none> 6379:30120/TCP 2m8s app=redis
  4. NAME READY UP-TO-DATE AVAILABLE AGE CONTAINERS IMAGES SELECTOR
  5. deployment.apps/redis 1/1 1 1 36s redis redis:5.0.7 app=redis
  6. NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
  7. pod/redis-748df49b99-kdhx5 1/1 Running 0 36s 10.244.2.146 node2 <none> <none>
  8. [root@master ospp]#

三、验证redis

(1)若为安装redis-cli,先安装redis-cli

  1. wget http://download.redis.io/redis-stable.tar.gz
  2. tar -zxvf redis-stable.tar.gz
  3. mv redis-stable /usr/local/src/
  4. cd /usr/local/src
  5. cd redis-stable/
  6. make redis-cli
  7. cp src/redis-cli /usr/local/bin/

(2)然后链接redis,如下表示OK

  1. [root@master redis-stable]# redis-cli -h 192.168.16.40 -p 30120
  2. 192.168.16.40:30120> keys *
  3. (error) NOAUTH Authentication required.
  4. 192.168.16.40:30120> auth test
  5. OK
  6. 192.168.16.40:30120> exit
  7. [root@master redis-stable]#
始终坚持开源开放共享精神,同时感谢您的充电鼓励和支持!
版权所有,转载本站文章请注明出处:redrose2100, http://blog.redrose2100.com/article/294