asp.net做三个网站网页制作培训班哪个好
Kubernetes定位在Saas层,重点解决了微服务大规模部署时的服务编排问题
1、关闭防火墙并设置开机禁用
   systemctl stop firewalld
   systemctl disable firewalld
 2、配置repo
   cd /etc/yum.repos.d/
   下载Docker repo
   wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
   配置kubernetes repo
   vim kubernetes.repo
   [kubernetes]
   name=Kubernetes Repo
   baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
   gpgcheck=0
   gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
   enabled=1
   查看是否配置成功yum repolist
 3、配置gpg
   wget https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
   wget https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
   rpm --import rpm-package-key.gpg
   rpm --import yum-key.gpg
 4、安装docker-ce kubernetes
   yum install docker-ce kubelet kubeadm kubectl -y
 5、配置docker初始化
   vi /usr/lib/systemd/system/docker.service
   添加初始化环境变量
   Environment="HTTPS_PROXY=http://www.ik8s.io:10080"
   Environment="NO_PROXY=127.0.0.1/8,172.20.0.0/16"
 6、启动docker设置开机自启动
   systemctl start docker
   systemctl enable docker
 7、忽略swap警报,启动kubelet
   vi /etc/sysconfig/kubelet
   KUBELET_EXTRA_ARGS="--fail-swap-on=false"
   systemctl enable kubelet.service
   systemctl start kubelet
 8、下载k8s镜像
   1)、在github上创建库

2)、克隆到本地然后创建Dockerfile

每个内容如下

  然后推送
   3)、在docker hub上创建关联github

4)、下载镜像,执行下列脚本

  5)、初始化,
     kubeadm init --kubernetes-version=v1.12.1 --pod-network-cidr=10.244.0.0/16 --ignore-preflight-errors=Swap
   6)、等初始化完成后,配置用户权限
     mkdir -p $HOME/.kube
     sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
     sudo chown $(id -u):$(id -g) $HOME/.kube/config
     然后添加node,在node机上执行
     kubeadm join 192.168.137.200:6443 --token cl60h7.y4o6vpizk64j5cz6 --discovery-token-ca-cert-hash sha256:1fda5b34ecd3abb044ff137e5e74afbeea95cfdb881038ed78961b8d2ef00017
   7)、查看状态
     kubectl get cs
   8)、查看nodes
     kubectl get nodes
   9)、安装flannel
     kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
     等待一段时间使用kubectl get nodes查看节点的状态为Ready,表示安装成功
     启动一个服务
     加入node时如果报错dial tcp 10.96.0.1:443: getsockopt: no route to host --- kubernetes(k8s)DNS 服务反复重启iptables规则乱了,通过下面命令纠正:
     systemctl stop kubelet
     systemctl stop docker
     iptables --flush
     iptables -tnat --flush
     systemctl start kubelet
     systemctl start docker
     kubectl run nginx-deploy --image=nginx:1.14-alpine --port=80 --replicas=1
     将服务暴露在集群外
     kubectl expose deployment nginx-deploy --name=nginx --port=80 --target-port=80 --protocol=TCP
   10)、查看pod
     kubectl get pods
     查看pod起在哪个节点上
     kubectl get pods -o wide
     查看pod有哪些标签
     kubectl get pods --show-labels

    查看命名空间中的pod
     kubectl get pods --all-namespaces

    如果Error、Pending、ImagePullBackOff、CrashLoopBackOff都属于启动失败,排查:
       a、查看 /var/log/messages系统日志
       b、kubectl describe pod kube-flannel-ds-amd64-bq6fp --namespace=kube-system 看出node1上flannel镜像下载失败,去node1上手动下载镜像

      c、kubectl logs -f kube-flannel-ds-amd64-bq6fp -n kube-system kubedns
   11)、删除pod
     kubectl delete pods <pod NAME>
     (删除后会自动重新创建pod)
   12)、查看services
     kubectl get svc
     查看services都有选择哪些pod,根据标签
     kubectl get svc -o wide

  13)、创建一个容器并运行,名字为nginx-deploy,镜像,端口,使用一个pod
     kubectl run nginx-deploy --image=nginx:1.14-alpine --port=80 --replicas=1
   14)、进入运行中的pod
     kubectl exec nginx-deploy-86bf78c77-kxtch -it sh
   15)、查看deployment
     kubectl get deployment
   16)、查看容器运行在那个node
     kebuctl get node -o wide
   17)、创建service,使用nginx-deploy容器,名称,端口,暴露端口
     kubectl expose deployment nginx-deploy --name=nginx --port=80 --target-port=80
   18)、修改运行实例的个数
     kubectl scale --replicas=3 deployment myapp
   19)、对实例进行升级
     kubectl set image deployment nginx-deploy nginx-deploy=nginx:1.17
   20)、回滚升级
     kubectl rollout undo deployment nginx-deploy
   21)、修改svc
     kubectl edit svc nginx-deploy
     spec:type: NodePort 将type改为 NodePort
     可是在集群外访问node IP
