apiVersion:v1 kind:ReplicationController metadata: name:redis spec: template: metadata: labels: app:redis tier:backend spec: # Provision a fresh volume for the pod volumes: - name:data emptyDir:{} containers: - name:redis image:kubernetes/redis:v1 ports: - containerPort: 6379 # Mount the volume into the pod volumeMounts: - mountPath:/redis-master-data
name:data # must match the name of the volume, above
$
kubectl create -f ./secret.yaml secrets/mysecret $
kubectl get secrets NAME TYPE DATA default-token-v9pyz kubernetes.io/service-account-token 2 mysecret Opaque 2
apiVersion:v1 kind:ReplicationController metadata: name:redis spec: template: metadata: labels: app:redis tier:backend spec: volumes: - name:data emptyDir:{} - name:supersecret secret: secretName:mysecret containers: - name:redis image:kubernetes/redis:v1 ports: - containerPort: 6379 # Mount the volume into the pod volumeMounts: - mountPath:/redis-master-data name:data # must match the name of the volume, above - mountPath:/var/run/secrets/super
apiVersion:v1 kind:ReplicationController metadata: name:my-nginx spec: replicas: 2 template: metadata: labels: app:nginx spec: containers: - name:nginx image:nginx ports: - containerPort: 80 resources: limits: # cpu units are cores cpu:500m # memory units are bytes memory:64Mi requests: # cpu units are cores cpu:500m # memory units are bytes memory:64Mi
$
kubectl label pods -lapp=nginx tier=fe NAME READY STATUS RESTARTS AGE my-nginx-v4-9gw19 1/1 Running 0 14m NAME READY STATUS RESTARTS AGE my-nginx-v4-hayza 1/1 Running 0 13m NAME READY STATUS RESTARTS AGE my-nginx-v4-mde6m 1/1 Running 0 17m NAME READY STATUS RESTARTS AGE my-nginx-v4-sh6m8 1/1 Running 0 18m NAME READY STATUS RESTARTS AGE my-nginx-v4-wfof4 1/1 Running 0 16m $
kubectl get pods -lapp=nginx -Ltier NAME READY STATUS RESTARTS AGE TIER my-nginx-v4-9gw19 1/1 Running 0 15m fe my-nginx-v4-hayza 1/1 Running 0 14m fe my-nginx-v4-mde6m 1/1 Running 0 18m fe my-nginx-v4-sh6m8 1/1 Running 0 19m fe my-nginx-v4-wfof4 1/1 Running 0 16m fe
6、扩缩你的应用
当你的应用负载增加或者缩小了,通过kubectl可以十分简单地进行扩缩。
例如,将nginx replicas的Pod数量由2增长到3:
$
kubectl scale rc my-nginx --replicas=3 scaled $
kubectl get pods -lapp=nginx NAME READY STATUS RESTARTS AGE my-nginx-1jgkf 1/1 Running 0 3m my-nginx-divi2 1/1 Running 0 1h my-nginx-o0ef1 1/1 Running 0 1h