- 博客(196)
- 收藏
- 关注
原创 CKS1.23 考试题整理(10)-Trivy扫描镜像安全漏洞
题目使用Trivy开源容器扫描器检测namespace kamino中 Pod 使用的具有严重漏洞的镜像。查找具有High或Critical严重性漏洞的镜像,并删除使用这些镜像的Pod。参考kubectl 备忘单 | Kubernetes解答获取所有namespace下的podkubectl get pods --namespace kamino --output=custom-columns="NAME:.metadata.name,IMAGE:.spec.container
2022-04-19 09:59:50
1068
原创 CKS1.23 考试题整理(9)-沙箱运行容器gVisor
题目该 cluster使用 containerd作为CRI运行时。containerd的默认运行时处理程序是runc。containerd已准备好支持额外的运行时处理程序runsc (gVisor)。使用名为runsc的现有运行时处理程序,创建一个名为untrusted 的RuntimeClass。更新 namespace server中的所有Pod以在gVisor上运行。您可以在 /cks/gVisor/rc.yaml中找到一个模版清单。参考容器运行时类(Runtime Cla
2022-04-18 15:27:59
1228
原创 CKS1.23 考试题整理(8)-Dockerfile检测
题目分析和编辑给定的Dockerfile /cks/docker/Dockerfile(基于ubuntu:16.04 镜像),并修复在文件中拥有的突出的安全/最佳实践问题的两个指令。分析和编辑给定的清单文件 /cks/docker/deployment.yaml ,并修复在文件中拥有突出的安全/最佳实践问题的两个字段。注意:请勿添加或删除配置设置;只需修改现有的配置设置让以上两个配置设置都不再有安全/最佳实践问题。注意:如果您需要非特权用户来执行任何项目,请使用用户ID 65535
2022-04-18 15:10:34
1683
原创 CKS1.23 考试题整理(7)-日志审计
题目在cluster中启用审计日志。为此,请启用日志后端,并确保:l 日志存储在 /var/log/kubernetes/audit-logs.txtl 日志文件能保留 10 天l 最多保留 2 个旧审计日志文件/etc/kubernetes/logpolicy/sample-policy.yaml 提供了基本策略。它仅指定不记录的内容。注意:基本策略位于cluster的master节点上。编辑和扩展基本策略以记录:l RequestResponse 级别的 cronjobs
2022-04-12 14:41:59
2319
原创 CKS1.23 考试题整理(6)-Pod指定ServiceAccount
题目Task1. 在现有namespace qa中创建一个名为backend-sa的新ServiceAccount,确保此ServiceAccount不自动挂载API凭据。2. 使用 /cks/sa/pod1.yaml中的清单文件来创建一个Pod。3. 最后,清理namespace backend中任何未使用的ServiceAccount。自己的思考Pod 关联service account ,然后service account 和clusterrole绑定,赋予一定的角色,不然
2022-04-12 14:13:33
2285
原创 CKS1.23 考试题整理(5)-RBCA
题目一个名为web-pod的现有Pod已在 namespace db中运行。编辑绑定到 Pod 的 ServiceAccount service-account-web的现有Role,仅允许只对 services类型的资源执行 get操作。在namespace db中创建一个名为role-2 ,并仅允许只对 namespaces类型的资源执行delete操作的新 Role。创建一个名为role-2-binding的新 RoleBinding,将新创建的 Role 绑定到 Pod 的Servi
2022-04-11 11:36:56
1225
3
原创 CKS1.23 考试题整理(4)-默认网络策略
题目为所有类型为Ingress+Egress的流量在namespace testing中创建一个名为denypolicy的新默认拒绝NetworkPolicy。此新的NetworkPolicy必须拒绝namespacetesting中的所有的Ingress + Egress流量。将新创建的默认拒绝NetworkPolicy应用与在namespace testing中运行的所有Pod。你可以在 /cks/net/p1.yaml找到一个模板清单文件。参考网络策略 | Kubernete.
2022-04-11 11:16:49
961
原创 CKS1.23 考试题整理(3)-网络策略
题目创建一个名为pod-restriction的NetworkPolicy来限制对在namespacedev-team中运行的Podproducts-service的访问。只允许以下Pod连接到Podproducts-service1 namespaceqa中的Pod2 位于任何namespace,带有标签environment: testing的Pod注意:确保应用NetworkPolicy。你可以在/cks/net/po.yaml找到一个模板清单文件参考链接网络...
2022-04-08 11:09:11
1061
4
原创 CKS1.23 考试题整理(2)-容器安全,删除特权pod
题目检查在 namespace production中运行的Pod,并删除任何非无状态或非不可变的 Pod。使用以下对无状态和不可变的严格解释:l 能够在容器内存储数据的 Pod 的容器必须被视为非无状态的。注意:你不必担心数据是否实际上已经存储在容器中。l 被配置为任何形式的特权 Pod 必须被视为可能是非无状态和非不可变的。参考为 Pod 或容器配置安全上下文 | Kubernetes步骤1 删除privilege的podkubectl get pod -n p
2022-04-07 15:52:40
1113
原创 CKS1.23 考试题整理(1)-secret
创建Secret题目1 在namespaceistio-system中获取名为db1-test的现有secret的内容将username字段存储在名为/cks/sec/user.txt的文件中,并将password字段存储在名为/cks/sec/pass.txt的文件中。注意:你必须创建以上两个文件,他们还不存在。注意:不要在以下步骤中使用/修改先前创建的文件,如果需要,可以创建新的临时文件。2 在istio-systemnamespace中创建一个名为db2-test的新s...
2022-04-06 17:31:34
1807
2
原创 2022年CKA 考试题 2022年3月1日刚过
好久好久没写文章了,回顾这一年,虽然做管理工作,但是从前端,后端,售前售后到运维。。。感觉什么都干了个遍,感谢公司能给我报销CKA考试,现在凭记忆就把题目给大家分享下,在网上搜了很多,跟去年的题都很像的,我考了90分,从去年陆陆续续的准备,还是学到了很多,有一点就是考试的时候网一定要好啊~我前半个小时就是和考官在折腾环境,一直都卡,后来重新计时了,也就是说我考了2个半小时,考官会一直跟你chat,连咳嗽多了都不行,我带的手链也要求摘下来。。。不过还是比较客气的~原创啊,请勿转载如果想要更多资料,欢迎
2022-03-02 17:01:38
12795
20
原创 最近常用命令
taskkill im node.exe /f --杀掉所有node进程task list------------列出tasknetstat -ano|findstr "3000" 查看3000端口tasklist|findstr "34504 " 查看pid对应的程序taskkill /PID 34504 /F kill对应pid
2021-05-14 09:24:43
148
原创 LeeCode 39. 组合总和
var combinationSum = function(candidates, target) { const len = candidates.length; const ret = []; const dfs = (start, buf=[],target) => { for(let index = start;index < len;index++){ buf.push(candidates[index]); .
2020-09-11 10:40:28
180
原创 LeeCode373 前 K 个高频元素
给定一个非空的整数数组,返回其中出现频率前k高的元素。示例 1:输入: nums = [1,1,1,2,2,3], k = 2输出: [1,2]示例 2:输入: nums = [1], k = 1输出: [1]提示:你可以假设给定的k总是合理的,且 1 ≤ k ≤ 数组中不相同的元素的个数。你的算法的时间复杂度必须优于 O(n log n) ,n是数组的大小。题目数据保证答案唯一,换句话说,数组中前 k 个高频元素的集合是唯一的。你可以按任意顺序返回答案...
2020-09-08 13:32:50
185
原创 LeeCode 198 打家劫舍
由于不可以在相邻的房屋闯入,所以在当前位置 n 房屋可盗窃的最大值,要么就是 n-1 房屋可盗窃的最大值,要么就是 n-2 房屋可盗窃的最大值加上当前房屋的值,二者之间取最大值var rob = function(nums) { const len = nums.length; if(len === 0) return 0; let dp=[];...
2019-12-23 15:28:58
350
原创 LeeCode121 买卖股票的最佳时机
var maxProfit = function(prices) { let min = prices[0]; let max =0; let len = prices.length; for (let index=1;index<len;index++){ if(prices[index]< min){ min...
2019-12-16 14:32:09
228
1
原创 LeeCode 70 爬楼梯
开始磕动态规划比如3节楼梯的走法=剩下2节楼梯的走法之和+走2步 及 走剩1节楼梯的走法之和+1步var climbStairs = function(n) { if(n == 1){ return 1; } let dp=[]; dp[1]=1; dp[2]=2; for(let index = 3;index<=...
2019-12-16 14:02:47
154
原创 LeeCode 53 最大自序和
var maxSubArray = function(nums) { let ans = nums[0]; let len = nums.length; let sum = 0; for(let index = 0;index < len;index++){ if(sum > 0){ sum +=nums[ind...
2019-12-11 15:23:56
156
原创 VUE框架下FPS低解决方式
最近客户发现FPS很低,大模型加载才4,5FPS ,但是之前的用纯js的版本写的用例表现却很好,到30左右,差别这么大也看了很多vue优化的例子,http://jinlong.github.io/2017/05/08/optimising-the-front-end-for-the-browser/http://jinlong.github.io/2017/05/08/optimisi...
2019-12-09 11:11:15
1277
1
原创 LeeCode49 字母异位词分组
var groupAnagrams = function(strs) { let hashmap = new Map() for(let index = 0;index < strs.length;index++){ let str = strs[index].split('').sort().join(); if(hashmap.has(...
2019-12-02 14:26:52
185
原创 LeeCode 50 Pow(x, n)
function divide(x,n){ if(n == 0) return 1; let subresult = divide(x,parseInt(n/2)) if(n&1 === 1){ return subresult*subresult*x; }else{ return subresult*subres...
2019-12-02 14:00:55
176
原创 LeeCode 415 两字符串相加
var addStrings = function(num1, num2) { let str =''; let carry = 0; let i = num1.length - 1; let j = num2.length - 1; while(i>= 0 || j >=0){ let n1 = i>= 0?num1[i...
2019-10-21 13:18:20
160
原创 LeeCode 40 组合2
var combinationSum2 = function(candidates, target) { candidates.sort((a,b)=>{return b-a}) let len = candidates.length let min = candidates[len-1]; let res=[]; let path =[]; ...
2019-10-18 10:50:06
213
原创 LeeCode 39 组合
var combinationSum = function (candidates, target) { candidates.sort((a,b)=>{return b-a}) let len = candidates.length let min = candidates[len-1]; let res=[]; let path =[]; ...
2019-10-18 10:19:11
194
2
原创 LeeCode 38 报数
原题解来自https://leetcode-cn.com/problems/count-and-say/solution/jsdi-gui-jie-jue-by-wo-shi-gao-xiao-de/看了这个哥们的解法,觉得特别好,顺便复习了下正则var countAndSay = function(n) { if(n==1){ return n.toStrin...
2019-10-16 10:49:05
183
原创 LeeCode 搜索插入位置 (复习了下二分法)
var searchInsert = function(nums, target) { let left = 0; let right = nums.length-1; if(target > nums[right]) return nums.length; while(left < right){ let mid ...
2019-10-09 10:00:14
218
原创 LeeCode 914 卡牌分组
function gcd(a, b) { return a % b === 0 ? b : gcd(b, a % b);}var hasGroupsSizeX = function(deck) { let len = deck.length; if(len <= 1 || len> 10000) return false; cons...
2019-10-08 11:15:00
162
原创 LeetCode 删除排序数组中的重复项
被这个程序的描述误导了有点,其实要求返回的是不重复的数组个数var removeDuplicates = function(nums) { let len = nums.length; let newLen = 0; for(let index =0; index <len;index++){ nums[newLen] = nums[index...
2019-09-18 16:50:52
141
原创 LeeCode 括号生成
var generateParenthesis = function(n) { if(n == 0) return [''] if(n == 1) return ["()"] let total = []; total[0] = ["None"]; total[1] = ["()"]; for(let i =2; i< ...
2019-09-16 11:38:31
164
原创 LeeCode 合并有序链表
看到一个特别好的算法,我真是对理解递归有障碍,想了一上午,陆陆续续才看懂,不过确实很简洁,而且不浪费多余的空间var mergeTwoLists = function(l1, l2) { if(l1 === null){ return l2 } if(l2 === null){ return l1 } if(...
2019-09-06 14:22:19
168
转载 LeeCode 有效的括号
var isValid = function (s) { var map = { "(": ")", "[": "]", "{": "}" } var leftArr = [] for (var ch of s){ if (ch in map) leftArr.push(ch); //为左括号时,顺序...
2019-09-04 10:43:07
134
1
原创 LeeCode 删除链表的倒数第N个节点
头发蒙,今天不知道失败了多少次才做出来。。。双指针又是var removeNthFromEnd = function(head, n) { let first = head; let count = 0; let second = head; if(head.next == null){ return null }...
2019-09-03 17:37:06
135
原创 LeeCode 电话号码的字母组合
这个题目用到了reduce和map,还了解了下这种排列组合叫做笛卡尔卷积,以后这种组合的就可以多考虑用用reducevar letterCombinations = function(digits) { if(digits === '') return []; let hash = { '2':['a','b','c'], '3':[...
2019-08-28 11:13:19
186
原创 LeeCode 最接近三数之和
和昨天的那道题目很像,理解了后这道题20分钟就出来了var threeSumClosest = function(nums, target) { nums.sort((a,b) => a-b); let size = nums.length; let keepminus = undefined; for(let i...
2019-08-27 10:37:17
183
原创 LeeCode 三数之和
之前想用三重循环,或者用Hash的方法来解决这个问题,但是没办法去重后来还是参考了下别人的var threeSum = function(nums) { let num = nums.sort((a, b) => a - b); let res = [] if(num.length === 0) return res if(num...
2019-08-26 14:38:45
174
原创 LeeCode 整数反转
var reverse = function(x) { let str = x.toString(); if(str.length == 0){ return 0; } let asc = str[0] let final = '' if(asc === '-' || asc === '+'){ st...
2019-08-23 16:05:40
177
原创 LeeCode 字符串转整数
var myAtoi = function(str) { let desStr = str.trim(); if(desStr.length === 0 ){ return 0; } let asc = desStr[0]; if(asc != '+' && asc != '-' && !/^\d...
2019-08-22 18:34:53
221
原创 算法(Leetcode) 盛最多水的容器
木桶原则只循环一次,算法关键点是理解体积 受制于最短的板var maxArea = function(height) { let l = 0; let r=height.length - 1; let maxarea = 0; while(l < r){ maxarea = Math.max(maxarea,(r-l)*Math.m...
2019-08-14 14:47:52
246
原创 算法 最长公共前缀
var longestCommonPrefix = function(strs) { let len = strs.length; let str = ''; if(len === 0){ return '' } if(len === 1){ return strs[0] } str = findPublicPrefix(strs[0],...
2019-08-14 14:44:56
161
原创 算法 罗马数字转整数
今天撸的第二道题,动脑的感觉不错,照例写了一大坨,看来要好好看看算法了思路就是取两个字符,看是否在字典中,如果有,就累计,并且跳过两个走下一轮,如果没有就查单个字符的字典累计,不过虽然麻烦,但是跑起来用时比下面写的经典的低100多毫秒,(用了slice,后面才想起来还有substr。。。)var romanToInt = function(s) { let nums = [100...
2019-08-13 14:05:53
129
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅