K8S基础操作

K8S集群构建:
  • K8S集群重置(每台机器)kubeadm reset

  • 关闭虚拟内存swapoff -a

  • K8S集群初始化 kubeadm init --apiserver-advertise-address=192.168.0.2 --kubernetes-version v1.16.4 --pod-network-cidr=10.244.0.0/16 # 参数为K8S主机API服务的IP,和K8S容器网络平面的cidr地址段

  • 子节点加入K8S集群kubeadm join ... #从master复制

  • K8s主机配置K8S环境变量

    • cp /etc/kubernetes/admin.conf $HOME/

    • chown $(id -u):$(id -g) $HOME/admin.conf

    • export KUBECONFIG=$HOME/admin.conf

      • rm -rf $HOME/.kube

      • mkdir -p $HOME/.kube

      • cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

      • chown $(id -u):$(id -g) $HOME/.kube/config

  • K8S查询集群节点状态kubectl get nodes

  • K8s集群安装网络插件kubectl apply -f /microservice/kube-flannel-12-20201005-164-ens33-final.yml --validate=false

微服务发布
  • 启动Docker私有仓库服务器 docker run -d -p 5000:5000 registry:2.6

  • 手工镜像构建 docker build -t="master:5000/chinamobile-zj-site2-flightticket-flightretrive"

  • 上传镜像到私有仓库服务器 Docker push master:5000/chinamobile-zj-site2-flightticket-flightretrive

  • 发布微服务到K8S容器kubectl run flightretrivedeploy --image=master:5000/chinamobile-zj-site2-flightticket-flightretrive --port=12101 --replicas=3

  • 查询微服务容器启动状态 kubectl get pods

  • 创建微服务容器-K8S Service kubectl expose deployment flightretrivedeploy --name=flightretriveservice --port=12101 --target-port=12101 --type=NodePort

  • 微服务K8s容器扩容 kubectl scale deploy flightretrivedeploy --replicas=20

  • kubectl describe svc flightretrive 查看微服务(暴露的NodePort端口)

  • kubectl delete deployment flightretrivedeploy 删除微服务容器