08 2022 档案
摘要:证书创建 证书生成工具:easyrsa、openssl、cfssl 生成CA certificate步骤: Generate Keys openssl genrsa -out ca.key 2048 Certificate Signing Request openssl req -new -key
阅读全文
摘要:查看Common Name (CN):openssl x509 -in /etc/kubernetes/pki/apiserver.crt -text Symmetric Encryption:对称加密,使用相同的密钥来加密和解密数据,必须在发送方和接收方之间交换,因此存在风险 Asymmetric
阅读全文
摘要:禁用基于密码的身份验证 仅提供基于SSH密钥的身份验证 第一道防线:控制对API服务器本身的访问 用户名+密码 用户名+Token 证书 与LDAP等外部身份验证提供程序集成 服务账户 可以做什么? RBAC Authorization 基于角色的访问控制 ABAC Authorization 基于
阅读全文
摘要:kubectl get all --all-namespaces -o yaml > all-deploy-services.yaml 与其备份单个资源,不如备份ETCD: etcd.service --data-dir=/var/lib/etcd etcd也自带快照功能 ETCDCTL_API=3
阅读全文
摘要:Upgrades 默认pod超时时间为5分钟:kube-controller-manager --pod-eviction-timeout=5m0s 系统升级时更安全的方式是:kubectl drain node-1,节点会被标记为不可调度,会清除pod,但当pod不属于replicaSet时,dr
阅读全文
摘要:创建: kubectl create secret generic <secret-name> --from-literal=<key>=<value> 或 --from-file=<path-to-file> kubectl create -f secret-data.yaml secret-da
阅读全文
摘要:Commands and Arguments pod-definition.yml 实际执行为 command 后面跟着 args apiVersion: v1 kind: Pod metadata: name: ubuntu-sleeper-pod spec: containers: - name
阅读全文
摘要:kubectl rollout status deployment/myapp-deployment:查看状态 kubectl rollout history deployment/myapp-deployment:查看历史 部署策略: Recreate:一次销毁所有旧的,新建新版本 Rolling
阅读全文
摘要:Kubernetes没有提供功能全面的内置监控解决方案,但有许多开源解决方案可用,如Metrics-Server、Prometheus、Elastic Stack、DATADOG、dynatrace。 Heapster是Kubernetes启用监控和分析功能的原始项目之一,但现已弃用,并形成了一个精
阅读全文
摘要:kube-scheduler.service ExecStart=/usr/local/bin/kube-scheduler \\ --config=/etc/kubernetes/config/kube-scheduler.yaml \\ --scheduler-name= default-sch
阅读全文
摘要:kubelet依赖于kube-apiserver来获得关于在其node上加载哪些pod的指令,这是基于存储在etcd数据库中的kube-scheduler所做的决定。 kubelet也可以独立运行,可以创建pod,可以指定用于存储pod信息的目录中读取pod定义文件。kubelet会每隔一段时间确认
阅读全文
摘要:Daemon Sets确保pod的一个副本始终存在于集群的所有节点中,常用于Monitoring Solution、Logs Viewer、Kube-porxy、Weave-net(networking)。 daemon-set-definition.yaml apiVersion: apps/v1
阅读全文
摘要:pod-definition.yaml : 也可以手动设定所需资源 apiVersion: v1 kind: Pod metadata: name: simple-webapp-color labels: name: simple-webapp-color spec: containers: - n
阅读全文
摘要:Node Selectors pod-definition.yml spec: nodeSelector: size: Large ##生效前需要先标记 node kubectl label nodes <node-name> <label-key>=<label-value> : 标记node N
阅读全文
摘要:Taints - Node : kubectl taint nodes node-name key=value:taint-effect taint-effect : NoSchedule | PreferNoSchedule | NoExecute NoExecute : 新Pod不会部署,已存在
阅读全文
摘要:Scheduling 未命名隐藏字段nodeName的pod将作为候选进行调度 spec: nodeName: node02 但对于已创建的pod,pod-definition.yaml中的nodeName字段不允许修改,因此将Node分配给pod的另一种方法是创建一个绑定对象,并向pod绑定API
阅读全文
摘要:本地的yaml配置文件会转换成json格式的文件 kubectl apply 会对本地配置文件、最后一次apply的配置文件(Json)和实时对象配置文件进行对比,当本地配置文件更新后也会同时更新其他2个配置文件 合并更改:https://kubernetes.io/docs/tasks/manag
阅读全文
摘要:Imperative : kubectl run nginx --image=nginx --port=80 --labels="tier=db,env=prod" --expose=true ##container的port kubectl create deployment --image=ng
阅读全文
摘要:mysql.connect("db-service") mysql.connect("db-service.dev.svc.cluster.local") cluster.local : domain svc : sub domain for service dev : Namespace db-s
阅读全文
摘要:NodePorts范围:30000 - 32767 service-definition.yml apiVersion: V1 kind: Service metadata: name: myapp-service spec: type: NodePort ##LoadBalancer ports:
阅读全文
摘要:Replication Controller:管理跨越集群中多个node rc-definition.yml apiVersion: v1 kind: ReplicationController metadata: name: myapp-rc labels: app: myapp type: fr
阅读全文
摘要:kubectl run xxx --image=xxx 这类命令首先自动创建一个pod,并部署容器引擎如docker img的实例 查看cluster中pod列表:kubectl get pods -o wide pod-definition.yml apiVersion: v1|apps/v1 k
阅读全文
摘要:kubectl命令看到的所有信息都来自ETCD k8s部署的2种方式:kubeadm工具和scratch ETCD监听地址:--advertise-client-urls https://${INTERNAL_IP}:2379,kube-api访问etcd时,应配置这个。ETCD之间连接用2380接
阅读全文
摘要:词汇表 考试报名链接CN 考试报名链接EN Master:manage, plan, schedule, monitor nodes(主节点上也可以安装容器引擎) worker nodes:host application containers etcd cluster:存储所有集群数据的数据库 k
阅读全文