摘要:
Question 1 (12') Question Create a new service account with the name pvviewer. Grant this Service account access to list all PersistentVolumes in the 阅读全文
摘要:
Question 1 (10') Take a backup of the etcd cluster and save it to /opt/etcd-backup.db. Details Backup Completed Solution Run the following command to 阅读全文
摘要:
Question 1 (15') Upgrade the current version of kubernetes from 1.23.0 to 1.24.0 exactly using the kubeadm utility. Make sure that the upgrade is carr 阅读全文
摘要:
Application Failure 查看Service的状态 使用应用程序或者 curl 检查是否可以在节点端口的IP上访问web服务器 curl http://web-service-ip:node-port 检查服务 kubectl describe svc web-service 的End 阅读全文
摘要:
学习资料 Udemy 配合 kodekloud + 官方文档 食用 经验贴 LinuxFoundation官方手册:包含考试要求、报销等 CKA 认证笔记 - CKA 认证经验帖:2022年2月考试经验,真题模糊描述 CKA考试经验:报考和考纲:考试经验整理 CKA、CKAD考试经验Github:知 阅读全文
摘要:
Service Networking Service承载在整个cluster上,整个cluster的pod都可以访问到这个节点,Service没有绑定到特定节点,但只能从集群内部访问该服务。 NodePort可以不仅让cluster内部的节点访问,它还会再cluster中所有节点的端口上公开appl 阅读全文
摘要:
Cluster Networking kubernetes集群由master node和worker node组成。每个节点必须至少有一个连接到网络的接口,每个接口必须配置一个IP地址,host必须设置唯一的主机名以及唯一的mac地址。如果通过现在VM克隆来创建VM,则应特别注意这一点。还有一些端口 阅读全文
摘要:
Docker Networking 当您运行容器时,您有不同的网络选项可供选择: container无法到达外部,外部也无法访问container docker run --network none nginx 容器链接到host,host和容器之间没有网络隔离无需接口转发,但两个进程无法同时侦听同 阅读全文
摘要:
Network Namespace Docker等容器使用namespace来实现网络隔离,容器是使用namespace与底层主机分离的。如果把host当成房子,那么namespace就是房子里你分配给每个孩子的房间。 就容器而言,它只看到由它运行的进程,并认为它是独立的。但是,底层host可以看到 阅读全文
摘要:
Switching ip link:用于列出和修改host上的接口, ip link只能看链路层的状态,看不到ip地址 ip addr:查看分配给这些接口的IP地址,即使网卡处于down状态,也能显示出网卡状态,但是ifconfig查看就看不到 cat /etc/network/interfaces 阅读全文
摘要:
Volumes !!!注意题目给的 mountPath 后面有没有 /,可能会判定为不同路径。 apiVersion: v1 kind: Pod metadata: name: random-number-generator spec: containers: - image: alpine nam 阅读全文
摘要:
Storage 安装Docker后,默认存储路径: /var/lib/docker |- aufs |- containers |- image |- volumes 对于Dockerfile buid时的分层架构: Dockerfile FROM Ubuntu RUN apt-get update 阅读全文
摘要:
Network Policy apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: name: db-policy spec: podSelector: matchLabels: role: db policyTypes: - 阅读全文
摘要:
Service Accounts kubectl create serviceaccount dashboard-sa kubectl get serviceaccount kubectl describe serviceaccount dashboard-sa 当创建Service Account 阅读全文
摘要:
集群层面请使用 ClusterRole 和 ClusterRoleBindings developer-role.yaml apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: name: developer rules: - a 阅读全文
摘要:
使用访问API获取pods信息: curl https://my-kube-playground:6443/api/v1/pods \ --key admin.key --cert admin.crt --cacert ca.crt 用kubectl达成相同的目的: kubectl get pods 阅读全文
摘要:
用户创建key: openssl genrsa -out jane.key 2048 用户把key发给admin,admin用这个key创建certificate signing request对象: openssl req -new -key jane.key -subj "/CN=jane" - 阅读全文
摘要:
证书创建 证书生成工具: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接 阅读全文