关于rancher:k8s基础速学篇基于rancher

kubectl

负责master和节点(node)之间的通信、交互和数据上报 到master的apiserver

整体来讲 的职责是
1、Node治理
2、pod治理
3、容器健康检查
4、容器监控
5、资源清理
6、和容器运行时交互(docker 、rkt、Virtlet等等)

个别状况下kubectl会裸露 10250端口 用于和apiserver 交互
罕用的查问API
GET
/pods
/stats/summary
/metrics
/healthz

拜访形式:
docker exec -it kubelet curl -k https://localhost:10250/healthz –header “Authorization: Bearer kubeconfig-user-mtxnk.c-gfv2c:h86t2zzpjcq8lksd82l24l6ld7pkdwsh4264thvbfxldntkmdmf2c8”

kube-proxy

内部通过NodePort、ClusterIP等形式拜访服务。

kube-proxy 运行在每个Node 上,负责Pod网络代理, 保护网络规定和四层负载平衡工作

kube-controller-manager

在master中。
kube-controller-manager负责节点治理、pod复制和endpoint创立.
监控集群中各种资源的状态使之和定义的状态保持一致,.

如:
节点控制器(Node Controller): 负责在节点呈现故障时进行告诉和响应。

正本控制器(Replication Controller): 负责为零碎中的每个正本控制器对象保护正
确数量的 Pod。(当初是Deployment Controller+Replication Set)

apiVersion: apps/v1
kind: Deployment
metadata:
  name: myngx
  namespace: myweb
spec:
  selector:
    matchLabels:
      app: nginx
  replicas: 1
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
        - name: nginxtest
          image: nginx:1.18-alpine
          # 只有镜像不存在时进行镜像拉取
          imagePullPolicy: IfNotPresent
          ports:
            # Pod 端口
            - containerPort: 80

kubectl create -f ngx.yaml

apiVersion: apps/v1
kind: Deployment
metadata:  #元数据
  name: myngx
  namespace: myweb
spec:  
  selector:   #标签选择器
    matchLabels:
      app: nginx  #自定义标签
  replicas: 1
  template: #定义模板
    metadata:
      labels:
        app: nginx  #和下面matchLables的app对应
    spec:   #定义容器
      containers:
        - name: nginxtest
          image: nginx:1.18-alpine
          # 只有镜像不存在时进行镜像拉取
          imagePullPolicy: IfNotPresent
          ports:
            # Pod 端口
            - containerPort

查看deployment
kubectl get deployment -n myweb

删除deployment
kubectl delete deployment myngx -n myweb

创立service

apiVersion: v1
kind: Service
metadata:
  name: myngx-service
spec:
  selector:    
    app: nginx   #这个和后面的app也是对应
  ports:
  - protocol: TCP
    port: 80
    targetPort: 80
  type: ClusterIP    #ClusterIP、NodePort和LoadBalancer

主机调度:nodeName和nodeSelector

指定主机名称的形式

1、间接增加 nodeName : xxxx

2、依据标签
kubectl get node –show-labels

增加标签:
kubectl label nodes <node-name> <label-key>=<label-value>

kubectl label nodes dsjs name=a1
kubectl label nodes dsjs2 name=a2

删除标签:
kubectl label nodes <node-name> <label-key>-

kubectl label nodes dsjs name-

批改标签:
kubectl label nodes <node-name> <label-key>=<label-value> –overwrite

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理