Kubernetes入门
基础命令使用
$ kubectl version # 查看client和server版本信息
$ kubectl cluster-info # 查看集群信息
创建POD
# 创建一个POD
$ kubectl run nginx-deploy --image=nginx:1.14-alpine --port=80 --replicas=1 --dry-run=true #以测试模式运行一个nginx:1.14版本镜像的副本,并暴露80端口
$ kubectl run nginx-deploy --image=nginx:1.14-alpine --port=80 --replicas=1 #运行一个nginx:1.14版本镜像的副本,并暴露80端口
$ kubectl get deployment #查看创建的deployment
NAME READY UP-TO-DATE AVAILABLE AGE
nginx-deploy 1/1 1 1 5m28s
$ kubectl get pods -o wide #查看创建的pod详细状态
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
nginx-deploy-84cbfc56b6-q7jkl 1/1 Running 0 13m 10.244.1.2 docker-1 <none> <none>
连接POD
$ kubectl expose deployment nginx-deploy --name=nginx --port=80 --protocol=TCP --target-port=80
service/nginx exposed
$ kubectl get services(svc) #查看服务信息
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 22h
nginx ClusterIP 10.96.186.162 <none> 80/TCP 101s
设置kubeDNS解析
$ kubectl get svc -n kube-system -o wide
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR
kube-dns ClusterIP 10.96.0.10 <none> 53/UDP,53/TCP 22h k8s-app=kube-dns
$ yum install bind-utils -y
$ dig -t A nginx.default.svc.cluster.local @10.96.0.10
$ kubectl describe svc nginx #查看nginx服务详细信息
副本节点
$ kubectl scale --replicas=5 deployment myapp #增加副本节点
$ kubectl scale --replicas=3 deployment myapp #缩减副本节点
镜像版本控制
$ kubectl set image deployment myapp myapp=ikubernetes/myapp:v2 #升级镜像版本
$ kubectl rollout undo deployment myapp #回滚镜像